mirror of https://github.com/openXC7/prjxray.git
Added more bits to dbf, added varying of inverters for ISERDES
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
This commit is contained in:
parent
3ad85e0e49
commit
2b87eec19a
|
|
@ -2,5 +2,5 @@
|
|||
26_99 27_98 ,IOB_Y0.IFF.DDR_CLK_EDGE.SAME_EDGE
|
||||
26_29 27_28 ,IOB_Y1.IFF.DDR_CLK_EDGE.OPPOSITE_EDGE
|
||||
26_29 27_28 ,IOB_Y1.IFF.DDR_CLK_EDGE.SAME_EDGE
|
||||
26_101 26_107 26_109 26_111 26_115 26_117 26_121 27_108 27_110 27_112
|
||||
26_15 26_17 26_19 27_6 27_10 27_12 27_16 27_18 27_20 27_26
|
||||
26_101 26_107 26_109 26_111 26_115 26_117 26_121 27_108 27_110 27_112 28_126 29_123 29_125
|
||||
26_15 26_17 26_19 27_6 27_10 27_12 27_16 27_18 27_20 27_26 28_2 28_4 29_1
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@ for param_list in data:
|
|||
for i in range(1, 4 + 1):
|
||||
segmk.add_site_tag(loc, "IFF.ZSRVAL_Q%d" % i, 0)
|
||||
|
||||
segmk.add_site_tag(loc, "ISERDES.IS_CLKB_INVERTED", 1)
|
||||
segmk.add_site_tag(loc, "ISERDES.IS_CLK_INVERTED", 0)
|
||||
# segmk.add_site_tag(loc, "ISERDES.IS_CLKB_INVERTED", 0)
|
||||
# segmk.add_site_tag(loc, "ISERDES.IS_CLK_INVERTED", 1)
|
||||
|
||||
segmk.add_site_tag(loc, "ISERDES.DYN_CLKDIV_INV_EN", 0)
|
||||
segmk.add_site_tag(loc, "ISERDES.DYN_CLK_INV_EN", 0)
|
||||
|
|
@ -79,10 +79,6 @@ for param_list in data:
|
|||
|
||||
segmk.add_site_tag(loc, "ISERDES.OFB_USED", 0)
|
||||
|
||||
# segmk.add_site_tag(loc, "CE1USED", 0)
|
||||
# segmk.add_site_tag(loc, "IFF.SUSED", 0)
|
||||
# segmk.add_site_tag(loc, "IFF.RUSED", 0)
|
||||
|
||||
# Site used as ISERDESE2
|
||||
elif verilog.unquote(params["BEL_TYPE"]) == "ISERDESE2":
|
||||
|
||||
|
|
@ -144,14 +140,14 @@ for param_list in data:
|
|||
if "IS_D_INVERTED" in params:
|
||||
segmk.add_site_tag(loc, "ZINV_D", int(params["IS_D_INVERTED"] == 0))
|
||||
|
||||
if "IS_CLKB_INVERTED" in params:
|
||||
segmk.add_site_tag(
|
||||
loc, "ISERDES.IS_CLKB_INVERTED",
|
||||
params["IS_CLKB_INVERTED"])
|
||||
# if "IS_CLKB_INVERTED" in params:
|
||||
# segmk.add_site_tag(
|
||||
# loc, "ISERDES.IS_CLKB_INVERTED",
|
||||
# params["IS_CLKB_INVERTED"])
|
||||
|
||||
if "IS_CLK_INVERTED" in params:
|
||||
segmk.add_site_tag(
|
||||
loc, "ISERDES.IS_CLK_INVERTED", params["IS_CLK_INVERTED"])
|
||||
# if "IS_CLK_INVERTED" in params:
|
||||
# segmk.add_site_tag(
|
||||
# loc, "ISERDES.IS_CLK_INVERTED", params["IS_CLK_INVERTED"])
|
||||
|
||||
if "DYN_CLKDIV_INV_EN" in params:
|
||||
value = verilog.unquote(params["DYN_CLKDIV_INV_EN"])
|
||||
|
|
@ -211,10 +207,6 @@ for param_list in data:
|
|||
loc, "IFF.DDR_CLK_EDGE.SAME_EDGE_PIPELINED",
|
||||
int(value == "SAME_EDGE_PIPELINED"))
|
||||
|
||||
# A test
|
||||
segmk.add_site_tag(loc, "ISERDES.IS_CLKB_INVERTED", 1)
|
||||
segmk.add_site_tag(loc, "ISERDES.IS_CLK_INVERTED", 0)
|
||||
|
||||
if "SRTYPE" in params:
|
||||
value = verilog.unquote(params["SRTYPE"])
|
||||
if value == "ASYNC":
|
||||
|
|
@ -240,14 +232,6 @@ for param_list in data:
|
|||
segmk.add_site_tag(loc, "IFFDELMUXE3.P0", 0)
|
||||
segmk.add_site_tag(loc, "IFFDELMUXE3.P1", 1)
|
||||
|
||||
# if "CE1USED" in params:
|
||||
# segmk.add_site_tag(loc, "CE1USED", params["CE1USED"])
|
||||
|
||||
# if "SR_MODE" in params:
|
||||
# value = verilog.unquote(params["SR_MODE"])
|
||||
# segmk.add_site_tag(loc, "IFF.SUSED", int(value == "SET"))
|
||||
# segmk.add_site_tag(loc, "IFF.RUSED", int(value == "RST"))
|
||||
|
||||
segmk.add_site_tag(loc, "ISERDES.NUM_CE.1", 1)
|
||||
segmk.add_site_tag(loc, "ISERDES.NUM_CE.2", 0)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
set_param general.maxThreads 1
|
||||
|
||||
create_project -force -part $::env(XRAY_PART) design design
|
||||
read_verilog top.v
|
||||
synth_design -top top
|
||||
|
|
|
|||
|
|
@ -74,17 +74,18 @@ def gen_iserdes(loc):
|
|||
"SRVAL_Q3": random.randint(0, 1),
|
||||
"SRVAL_Q4": random.randint(0, 1),
|
||||
"NUM_CE": random.randint(1, 2),
|
||||
|
||||
# The following one shows negative correlation (0 - not inverted)
|
||||
"IS_D_INVERTED": random.randint(0, 1),
|
||||
|
||||
# No bits were found for parameters below
|
||||
#"IS_OCLKB_INVERTED": random.randint(0, 1),
|
||||
#"IS_OCLK_INVERTED": random.randint(0, 1),
|
||||
#"IS_CLKDIVP_INVERTED": random.randint(0, 1),
|
||||
#"IS_CLKDIV_INVERTED": random.randint(0, 1),
|
||||
#"IS_CLKB_INVERTED":
|
||||
#random.randint(0, 1),
|
||||
#"IS_CLK_INVERTED":
|
||||
#random.randint(0, 1),
|
||||
"IS_OCLKB_INVERTED": random.randint(0, 1),
|
||||
"IS_OCLK_INVERTED": random.randint(0, 1),
|
||||
"IS_CLKDIVP_INVERTED": random.randint(0, 1),
|
||||
"IS_CLKDIV_INVERTED": random.randint(0, 1),
|
||||
"IS_CLKB_INVERTED": random.randint(0, 1),
|
||||
"IS_CLK_INVERTED": random.randint(0, 1),
|
||||
|
||||
"DYN_CLKDIV_INV_EN": verilog.quote(random.choice(["TRUE", "FALSE"])),
|
||||
"DYN_CLK_INV_EN": verilog.quote(random.choice(["TRUE", "FALSE"])),
|
||||
"IOBDELAY": verilog.quote(
|
||||
|
|
|
|||
Loading…
Reference in New Issue