42 parameter IODELAY_GRP =
"IODELAY_SENSOR",
// may need different for different channels? 53 input pxd_out,
// data to be sent out through the pad (normally not used) 54 input pxd_en,
// enable data output (normally not used) 55 output pxd_async,
// direct ouptut from the pad (maybe change to delayed?), does not depend on clocks - use for TDI 56 output pxd_in,
// data output (@posedge ipclk?) 57 input ipclk,
// restored clock from the sensor, phase-shifted 58 input ipclk2x,
// restored clock from the sensor, phase-shifted, twice frequency 59 input mrst,
// reset @ posedge mclk 60 input irst,
// reset @ posedge iclk 61 input mclk,
// clock for setting delay values 62 input [
7:
0]
dly_data,
// delay value (3 LSB - fine delay) - @posedge mclk 64 input ld_idelay,
// mclk synchronous set idealy value 65 input [
1:
0]
quadrant // select one of 4 90-degree shifts for the data (MT9P0xx) have VACT, HACT shifted from PXD 73 // assign pxd_async = pxd_iobuf; 91 //finedelay not supported by HR banks? 94 .IODELAY_GRP (IODELAY_GRP), 95 .DELAY_VALUE (IDELAY_VALUE), 96 .REFCLK_FREQUENCY (REFCLK_FREQUENCY), 97 .HIGH_PERFORMANCE_MODE (HIGH_PERFORMANCE_MODE) 103 .delay (dly_data[7:0]), 104 .data_in (pxd_iobuf), 105 .data_out (pxd_delayed) 125 .
DYN_CLKDIV_INV_EN(
"FALSE")
128 .
oclk(
ipclk2x),
// system clock, phase should allow iclk-to-oclk jitter with setup/hold margin 130 .
inv_clk_div(
1'b0),
// invert oclk_div (this clock is shared between iserdes and oserdes. Works only in MEMORY_DDR3 mode? 132 .
d_direct(
1'b0),
// direct input from IOB, normally not used, controlled by IOBDELAY parameter (set to "NONE") 134 .
dout(
dout[
3:
0]),
// parallel data out
6810PXD_IBUF_LOW_PWR"TRUE"
integer 6808IDELAY_VALUE0
real 6813REFCLK_FREQUENCY300.0
6807IODELAY_GRP"IODELAY_SENSOR"
6814HIGH_PERFORMANCE_MODE"FALSE"
iserdes_pxd_i iserdes_mem
6811PXD_IOSTANDARD"DEFAULT"