mirror of https://github.com/openXC7/prjxray.git
commit
08aaa19551
|
|
@ -1,5 +1,10 @@
|
|||
FUZDIR=$(shell pwd)
|
||||
BUILD_DIR=$(FUZDIR)/build
|
||||
TILEGRID_TDB_DEPENDENCIES=iob/build/segbits_tilegrid.tdb mmcm/build/segbits_tilegrid.tdb pll/build/segbits_tilegrid.tdb
|
||||
|
||||
ifeq (${XRAY_DATABASE}, zynq7)
|
||||
TILEGRID_TDB_DEPENDENCIES += ps7_int/build/segbits_tilegrid.tdb
|
||||
endif
|
||||
|
||||
database: build/tilegrid.json
|
||||
|
||||
|
|
@ -22,7 +27,7 @@ build/bram/deltas:
|
|||
build/iob/deltas:
|
||||
bash generate.sh build/iob iob
|
||||
|
||||
build/tilegrid_tdb.json: add_tdb.py iob/build/segbits_tilegrid.tdb mmcm/build/segbits_tilegrid.tdb pll/build/segbits_tilegrid.tdb
|
||||
build/tilegrid_tdb.json: add_tdb.py $(TILEGRID_TDB_DEPENDENCIES)
|
||||
python3 add_tdb.py --fn-in build/basicdb/tilegrid.json --fn-out build/tilegrid_tdb.json
|
||||
|
||||
iob/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json
|
||||
|
|
@ -34,6 +39,9 @@ mmcm/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json
|
|||
pll/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json
|
||||
cd pll && $(MAKE)
|
||||
|
||||
ps7_int/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json
|
||||
cd ps7_int && $(MAKE)
|
||||
|
||||
# FIXME: add monitor to ROI
|
||||
monitor/build/segbits_tilegrid.tdb: build/basicdb/tilegrid.json
|
||||
cd monitor && $(MAKE)
|
||||
|
|
@ -54,6 +62,7 @@ clean:
|
|||
cd iob && $(MAKE) clean
|
||||
cd mmcm && $(MAKE) clean
|
||||
cd pll && $(MAKE) clean
|
||||
cd ps7_int && $(MAKE) clean
|
||||
|
||||
.PHONY: database pushdb clean run
|
||||
|
||||
|
|
|
|||
|
|
@ -58,8 +58,10 @@ def load_db(fn):
|
|||
# FIXME: add offset to name
|
||||
# IOB_X0Y101.DFRAME:27.DWORD:3.DBIT:3 00020027_003_03
|
||||
parts = l.split(' ')
|
||||
assert len(parts) == 2, "Unresolved bit: %s" % l
|
||||
tagstr, addrstr = parts
|
||||
# FIXME: need to check that all bits in part have same baseaddr, for now only the first bit is taken
|
||||
#assert len(parts) == 2, "Unresolved bit: %s" % l
|
||||
tagstr = parts[0]
|
||||
addrstr = parts[1]
|
||||
|
||||
frame, wordidx, bitidx = parse_addr(addrstr)
|
||||
bitidx_up = False
|
||||
|
|
@ -107,6 +109,8 @@ def run(fn_in, fn_out, verbose=False):
|
|||
if os.path.exists("monitor/build/segbits_tilegrid.tdb"):
|
||||
# FIXME: height
|
||||
tdb_fns.append(("monitor/build/segbits_tilegrid.tdb", 30, 101))
|
||||
if os.path.exists("ps7_int/build/segbits_tilegrid.tdb"):
|
||||
tdb_fns.append(("ps7_int/build/segbits_tilegrid.tdb", 36, 2))
|
||||
|
||||
for (tdb_fn, frames, words) in tdb_fns:
|
||||
for (tile, frame, wordidx) in load_db(tdb_fn):
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
N ?= 2
|
||||
GENERATE_ARGS?="--oneval 0 --design params.csv --dframe 14 --dword 0 --dbit 17"
|
||||
include ../fuzzaddr/common.mk
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
source "$::env(XRAY_DIR)/utils/utils.tcl"
|
||||
|
||||
proc run {} {
|
||||
create_project -force -part $::env(XRAY_PART) design design
|
||||
read_verilog top.v
|
||||
synth_design -top top
|
||||
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_00) IOSTANDARD LVCMOS33" [get_ports clk]
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_01) IOSTANDARD LVCMOS33" [get_ports stb]
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_02) IOSTANDARD LVCMOS33" [get_ports di]
|
||||
set_property -dict "PACKAGE_PIN $::env(XRAY_PIN_03) IOSTANDARD LVCMOS33" [get_ports do]
|
||||
|
||||
set_property CFGBVS VCCO [current_design]
|
||||
set_property CONFIG_VOLTAGE 3.3 [current_design]
|
||||
set_property BITSTREAM.GENERAL.PERFRAMECRC YES [current_design]
|
||||
|
||||
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_IBUF]
|
||||
# Disable MMCM frequency etc sanity checks
|
||||
set_property IS_ENABLED 0 [get_drc_checks {PDRC-29}]
|
||||
set_property IS_ENABLED 0 [get_drc_checks {PDRC-30}]
|
||||
set_property IS_ENABLED 0 [get_drc_checks {AVAL-50}]
|
||||
set_property IS_ENABLED 0 [get_drc_checks {AVAL-53}]
|
||||
set_property IS_ENABLED 0 [get_drc_checks {REQP-126}]
|
||||
|
||||
place_design
|
||||
route_design
|
||||
|
||||
write_checkpoint -force design.dcp
|
||||
write_bitstream -force design.bit
|
||||
}
|
||||
|
||||
run
|
||||
|
|
@ -0,0 +1,682 @@
|
|||
import os
|
||||
import random
|
||||
random.seed(int(os.getenv("SEED"), 16))
|
||||
from prjxray import util
|
||||
from prjxray import verilog
|
||||
|
||||
|
||||
def write_params(params):
|
||||
pinstr = 'tile,val\n'
|
||||
for tile, (val) in sorted(params.items()):
|
||||
pinstr += '%s,%s\n' % (tile, val)
|
||||
open('params.csv', 'w').write(pinstr)
|
||||
|
||||
|
||||
def run():
|
||||
print(
|
||||
'''
|
||||
module top(input clk, stb, di, output do);
|
||||
localparam integer DIN_N = 8;
|
||||
localparam integer DOUT_N = 8;
|
||||
|
||||
reg [DIN_N-1:0] din;
|
||||
wire [DOUT_N-1:0] dout;
|
||||
|
||||
reg [DIN_N-1:0] din_shr;
|
||||
reg [DOUT_N-1:0] dout_shr;
|
||||
|
||||
always @(posedge clk) begin
|
||||
din_shr <= {din_shr, di};
|
||||
dout_shr <= {dout_shr, din_shr[DIN_N-1]};
|
||||
if (stb) begin
|
||||
din <= din_shr;
|
||||
dout_shr <= dout;
|
||||
end
|
||||
end
|
||||
|
||||
assign do = dout_shr[DOUT_N-1];
|
||||
''')
|
||||
|
||||
params = {}
|
||||
|
||||
# NOTE: The INT_L tile has been hardcoded and it works only for the part specified in the assertion
|
||||
assert os.getenv('XRAY_PART') == "xc7z010clg400-1"
|
||||
for isone in util.gen_fuzz_states(1):
|
||||
params['INT_L_X0Y50'] = isone
|
||||
print(
|
||||
'''
|
||||
(* KEEP, DONT_TOUCH *)
|
||||
|
||||
PS7 dut_%(dut)s(
|
||||
.DMA0DATYPE (),
|
||||
.DMA0DAVALID (),
|
||||
.DMA0DRREADY (),
|
||||
.DMA0RSTN (),
|
||||
.DMA1DATYPE (),
|
||||
.DMA1DAVALID (),
|
||||
.DMA1DRREADY (),
|
||||
.DMA1RSTN (),
|
||||
.DMA2DATYPE (),
|
||||
.DMA2DAVALID (),
|
||||
.DMA2DRREADY (),
|
||||
.DMA2RSTN (),
|
||||
.DMA3DATYPE (),
|
||||
.DMA3DAVALID (),
|
||||
.DMA3DRREADY (),
|
||||
.DMA3RSTN (),
|
||||
.EMIOCAN0PHYTX (),
|
||||
.EMIOCAN1PHYTX (),
|
||||
.EMIOENET0GMIITXD (),
|
||||
.EMIOENET0GMIITXEN (),
|
||||
.EMIOENET0GMIITXER (),
|
||||
.EMIOENET0MDIOMDC (),
|
||||
.EMIOENET0MDIOO (),
|
||||
.EMIOENET0MDIOTN (),
|
||||
.EMIOENET0PTPDELAYREQRX (),
|
||||
.EMIOENET0PTPDELAYREQTX (),
|
||||
.EMIOENET0PTPPDELAYREQRX (),
|
||||
.EMIOENET0PTPPDELAYREQTX (),
|
||||
.EMIOENET0PTPPDELAYRESPRX (),
|
||||
.EMIOENET0PTPPDELAYRESPTX (),
|
||||
.EMIOENET0PTPSYNCFRAMERX (),
|
||||
.EMIOENET0PTPSYNCFRAMETX (),
|
||||
.EMIOENET0SOFRX (),
|
||||
.EMIOENET0SOFTX (),
|
||||
.EMIOENET1GMIITXD (),
|
||||
.EMIOENET1GMIITXEN (),
|
||||
.EMIOENET1GMIITXER (),
|
||||
.EMIOENET1MDIOMDC (),
|
||||
.EMIOENET1MDIOO (),
|
||||
.EMIOENET1MDIOTN (),
|
||||
.EMIOENET1PTPDELAYREQRX (),
|
||||
.EMIOENET1PTPDELAYREQTX (),
|
||||
.EMIOENET1PTPPDELAYREQRX (),
|
||||
.EMIOENET1PTPPDELAYREQTX (),
|
||||
.EMIOENET1PTPPDELAYRESPRX (),
|
||||
.EMIOENET1PTPPDELAYRESPTX (),
|
||||
.EMIOENET1PTPSYNCFRAMERX (),
|
||||
.EMIOENET1PTPSYNCFRAMETX (),
|
||||
.EMIOENET1SOFRX (),
|
||||
.EMIOENET1SOFTX (),
|
||||
.EMIOGPIOO (),
|
||||
.EMIOGPIOTN (),
|
||||
.EMIOI2C0SCLO (),
|
||||
.EMIOI2C0SCLTN (),
|
||||
.EMIOI2C0SDAO (),
|
||||
.EMIOI2C0SDATN (),
|
||||
.EMIOI2C1SCLO (),
|
||||
.EMIOI2C1SCLTN (),
|
||||
.EMIOI2C1SDAO (),
|
||||
.EMIOI2C1SDATN (),
|
||||
.EMIOPJTAGTDO (),
|
||||
.EMIOPJTAGTDTN (),
|
||||
.EMIOSDIO0BUSPOW (),
|
||||
.EMIOSDIO0BUSVOLT (),
|
||||
.EMIOSDIO0CLK (),
|
||||
.EMIOSDIO0CMDO (),
|
||||
.EMIOSDIO0CMDTN (),
|
||||
.EMIOSDIO0DATAO (),
|
||||
.EMIOSDIO0DATATN (),
|
||||
.EMIOSDIO0LED (),
|
||||
.EMIOSDIO1BUSPOW (),
|
||||
.EMIOSDIO1BUSVOLT (),
|
||||
.EMIOSDIO1CLK (),
|
||||
.EMIOSDIO1CMDO (),
|
||||
.EMIOSDIO1CMDTN (),
|
||||
.EMIOSDIO1DATAO (),
|
||||
.EMIOSDIO1DATATN (),
|
||||
.EMIOSDIO1LED (),
|
||||
.EMIOSPI0MO (),
|
||||
.EMIOSPI0MOTN (),
|
||||
.EMIOSPI0SCLKO (),
|
||||
.EMIOSPI0SCLKTN (),
|
||||
.EMIOSPI0SO (),
|
||||
.EMIOSPI0SSNTN (),
|
||||
.EMIOSPI0SSON (),
|
||||
.EMIOSPI0STN (),
|
||||
.EMIOSPI1MO (),
|
||||
.EMIOSPI1MOTN (),
|
||||
.EMIOSPI1SCLKO (),
|
||||
.EMIOSPI1SCLKTN (),
|
||||
.EMIOSPI1SO (),
|
||||
.EMIOSPI1SSNTN (),
|
||||
.EMIOSPI1SSON (),
|
||||
.EMIOSPI1STN (),
|
||||
.EMIOTRACECTL (),
|
||||
.EMIOTRACEDATA (),
|
||||
.EMIOTTC0WAVEO (),
|
||||
.EMIOTTC1WAVEO (),
|
||||
.EMIOUART0DTRN (),
|
||||
.EMIOUART0RTSN (),
|
||||
.EMIOUART0TX (),
|
||||
.EMIOUART1DTRN (),
|
||||
.EMIOUART1RTSN (),
|
||||
.EMIOUART1TX (),
|
||||
.EMIOUSB0PORTINDCTL (),
|
||||
.EMIOUSB0VBUSPWRSELECT (),
|
||||
.EMIOUSB1PORTINDCTL (),
|
||||
.EMIOUSB1VBUSPWRSELECT (),
|
||||
.EMIOWDTRSTO (),
|
||||
.EVENTEVENTO (),
|
||||
.EVENTSTANDBYWFE (),
|
||||
.EVENTSTANDBYWFI (),
|
||||
.FCLKCLK (),
|
||||
.FCLKRESETN (),
|
||||
.FTMTF2PTRIGACK (),
|
||||
.FTMTP2FDEBUG (),
|
||||
.FTMTP2FTRIG (),
|
||||
.IRQP2F (),
|
||||
.MAXIGP0ARADDR (),
|
||||
.MAXIGP0ARBURST (),
|
||||
.MAXIGP0ARCACHE (),
|
||||
.MAXIGP0ARESETN (),
|
||||
.MAXIGP0ARID (),
|
||||
.MAXIGP0ARLEN (),
|
||||
.MAXIGP0ARLOCK (),
|
||||
.MAXIGP0ARPROT (),
|
||||
.MAXIGP0ARQOS (),
|
||||
.MAXIGP0ARSIZE (),
|
||||
.MAXIGP0ARVALID (),
|
||||
.MAXIGP0AWADDR (),
|
||||
.MAXIGP0AWBURST (),
|
||||
.MAXIGP0AWCACHE (),
|
||||
.MAXIGP0AWID (),
|
||||
.MAXIGP0AWLEN (),
|
||||
.MAXIGP0AWLOCK (),
|
||||
.MAXIGP0AWPROT (),
|
||||
.MAXIGP0AWQOS (),
|
||||
.MAXIGP0AWSIZE (),
|
||||
.MAXIGP0AWVALID (),
|
||||
.MAXIGP0BREADY (),
|
||||
.MAXIGP0RREADY (),
|
||||
.MAXIGP0WDATA (),
|
||||
.MAXIGP0WID (),
|
||||
.MAXIGP0WLAST (),
|
||||
.MAXIGP0WSTRB (),
|
||||
.MAXIGP0WVALID (),
|
||||
.MAXIGP1ARADDR (),
|
||||
.MAXIGP1ARBURST (),
|
||||
.MAXIGP1ARCACHE (),
|
||||
.MAXIGP1ARESETN (),
|
||||
.MAXIGP1ARID (),
|
||||
.MAXIGP1ARLEN (),
|
||||
.MAXIGP1ARLOCK (),
|
||||
.MAXIGP1ARPROT (),
|
||||
.MAXIGP1ARQOS (),
|
||||
.MAXIGP1ARSIZE (),
|
||||
.MAXIGP1ARVALID (),
|
||||
.MAXIGP1AWADDR (),
|
||||
.MAXIGP1AWBURST (),
|
||||
.MAXIGP1AWCACHE (),
|
||||
.MAXIGP1AWID (),
|
||||
.MAXIGP1AWLEN (),
|
||||
.MAXIGP1AWLOCK (),
|
||||
.MAXIGP1AWPROT (),
|
||||
.MAXIGP1AWQOS (),
|
||||
.MAXIGP1AWSIZE (),
|
||||
.MAXIGP1AWVALID (),
|
||||
.MAXIGP1BREADY (),
|
||||
.MAXIGP1RREADY (),
|
||||
.MAXIGP1WDATA (),
|
||||
.MAXIGP1WID (),
|
||||
.MAXIGP1WLAST (),
|
||||
.MAXIGP1WSTRB (),
|
||||
.MAXIGP1WVALID (),
|
||||
.SAXIACPARESETN (),
|
||||
.SAXIACPARREADY (),
|
||||
.SAXIACPAWREADY (),
|
||||
.SAXIACPBID (),
|
||||
.SAXIACPBRESP (),
|
||||
.SAXIACPBVALID (),
|
||||
.SAXIACPRDATA (),
|
||||
.SAXIACPRID (),
|
||||
.SAXIACPRLAST (),
|
||||
.SAXIACPRRESP (),
|
||||
.SAXIACPRVALID (),
|
||||
.SAXIACPWREADY (),
|
||||
.SAXIGP0ARESETN (),
|
||||
.SAXIGP0ARREADY (),
|
||||
.SAXIGP0AWREADY (),
|
||||
.SAXIGP0BID (),
|
||||
.SAXIGP0BRESP (),
|
||||
.SAXIGP0BVALID (),
|
||||
.SAXIGP0RDATA (),
|
||||
.SAXIGP0RID (),
|
||||
.SAXIGP0RLAST (),
|
||||
.SAXIGP0RRESP (),
|
||||
.SAXIGP0RVALID (),
|
||||
.SAXIGP0WREADY (),
|
||||
.SAXIGP1ARESETN (),
|
||||
.SAXIGP1ARREADY (),
|
||||
.SAXIGP1AWREADY (),
|
||||
.SAXIGP1BID (),
|
||||
.SAXIGP1BRESP (),
|
||||
.SAXIGP1BVALID (),
|
||||
.SAXIGP1RDATA (),
|
||||
.SAXIGP1RID (),
|
||||
.SAXIGP1RLAST (),
|
||||
.SAXIGP1RRESP (),
|
||||
.SAXIGP1RVALID (),
|
||||
.SAXIGP1WREADY (),
|
||||
.SAXIHP0ARESETN (),
|
||||
.SAXIHP0ARREADY (),
|
||||
.SAXIHP0AWREADY (),
|
||||
.SAXIHP0BID (),
|
||||
.SAXIHP0BRESP (),
|
||||
.SAXIHP0BVALID (),
|
||||
.SAXIHP0RACOUNT (),
|
||||
.SAXIHP0RCOUNT (),
|
||||
.SAXIHP0RDATA (),
|
||||
.SAXIHP0RID (),
|
||||
.SAXIHP0RLAST (),
|
||||
.SAXIHP0RRESP (),
|
||||
.SAXIHP0RVALID (),
|
||||
.SAXIHP0WACOUNT (),
|
||||
.SAXIHP0WCOUNT (),
|
||||
.SAXIHP0WREADY (),
|
||||
.SAXIHP1ARESETN (),
|
||||
.SAXIHP1ARREADY (),
|
||||
.SAXIHP1AWREADY (),
|
||||
.SAXIHP1BID (),
|
||||
.SAXIHP1BRESP (),
|
||||
.SAXIHP1BVALID (),
|
||||
.SAXIHP1RACOUNT (),
|
||||
.SAXIHP1RCOUNT (),
|
||||
.SAXIHP1RDATA (),
|
||||
.SAXIHP1RID (),
|
||||
.SAXIHP1RLAST (),
|
||||
.SAXIHP1RRESP (),
|
||||
.SAXIHP1RVALID (),
|
||||
.SAXIHP1WACOUNT (),
|
||||
.SAXIHP1WCOUNT (),
|
||||
.SAXIHP1WREADY (),
|
||||
.SAXIHP2ARESETN (),
|
||||
.SAXIHP2ARREADY (),
|
||||
.SAXIHP2AWREADY (),
|
||||
.SAXIHP2BID (),
|
||||
.SAXIHP2BRESP (),
|
||||
.SAXIHP2BVALID (),
|
||||
.SAXIHP2RACOUNT (),
|
||||
.SAXIHP2RCOUNT (),
|
||||
.SAXIHP2RDATA (),
|
||||
.SAXIHP2RID (),
|
||||
.SAXIHP2RLAST (),
|
||||
.SAXIHP2RRESP (),
|
||||
.SAXIHP2RVALID (),
|
||||
.SAXIHP2WACOUNT (),
|
||||
.SAXIHP2WCOUNT (),
|
||||
.SAXIHP2WREADY (),
|
||||
.SAXIHP3ARESETN (),
|
||||
.SAXIHP3ARREADY (),
|
||||
.SAXIHP3AWREADY (),
|
||||
.SAXIHP3BID (),
|
||||
.SAXIHP3BRESP (),
|
||||
.SAXIHP3BVALID (),
|
||||
.SAXIHP3RACOUNT (),
|
||||
.SAXIHP3RCOUNT (),
|
||||
.SAXIHP3RDATA (),
|
||||
.SAXIHP3RID (),
|
||||
.SAXIHP3RLAST (),
|
||||
.SAXIHP3RRESP (),
|
||||
.SAXIHP3RVALID (),
|
||||
.SAXIHP3WACOUNT (),
|
||||
.SAXIHP3WCOUNT (),
|
||||
.SAXIHP3WREADY (),
|
||||
.DDRA (),
|
||||
.DDRBA (),
|
||||
.DDRCASB (),
|
||||
.DDRCKE (),
|
||||
.DDRCKN (),
|
||||
.DDRCKP (),
|
||||
.DDRCSB (),
|
||||
.DDRDM (),
|
||||
.DDRDQ (),
|
||||
.DDRDQSN (),
|
||||
.DDRDQSP (),
|
||||
.DDRDRSTB (),
|
||||
.DDRODT (),
|
||||
.DDRRASB (),
|
||||
.DDRVRN (),
|
||||
.DDRVRP (),
|
||||
.DDRWEB (),
|
||||
.MIO (),
|
||||
.PSCLK (),
|
||||
.PSPORB (),
|
||||
.PSSRSTB (),
|
||||
.DDRARB (%(dout)u),
|
||||
.DMA0ACLK (),
|
||||
.DMA0DAREADY (),
|
||||
.DMA0DRLAST (),
|
||||
.DMA0DRTYPE (),
|
||||
.DMA0DRVALID (),
|
||||
.DMA1ACLK (),
|
||||
.DMA1DAREADY (),
|
||||
.DMA1DRLAST (),
|
||||
.DMA1DRTYPE (),
|
||||
.DMA1DRVALID (),
|
||||
.DMA2ACLK (),
|
||||
.DMA2DAREADY (),
|
||||
.DMA2DRLAST (),
|
||||
.DMA2DRTYPE (),
|
||||
.DMA2DRVALID (),
|
||||
.DMA3ACLK (),
|
||||
.DMA3DAREADY (),
|
||||
.DMA3DRLAST (),
|
||||
.DMA3DRTYPE (),
|
||||
.DMA3DRVALID (),
|
||||
.EMIOCAN0PHYRX (),
|
||||
.EMIOCAN1PHYRX (),
|
||||
.EMIOENET0EXTINTIN (),
|
||||
.EMIOENET0GMIICOL (),
|
||||
.EMIOENET0GMIICRS (),
|
||||
.EMIOENET0GMIIRXCLK (),
|
||||
.EMIOENET0GMIIRXD (),
|
||||
.EMIOENET0GMIIRXDV (),
|
||||
.EMIOENET0GMIIRXER (),
|
||||
.EMIOENET0GMIITXCLK (),
|
||||
.EMIOENET0MDIOI (),
|
||||
.EMIOENET1EXTINTIN (),
|
||||
.EMIOENET1GMIICOL (),
|
||||
.EMIOENET1GMIICRS (),
|
||||
.EMIOENET1GMIIRXCLK (),
|
||||
.EMIOENET1GMIIRXD (),
|
||||
.EMIOENET1GMIIRXDV (),
|
||||
.EMIOENET1GMIIRXER (),
|
||||
.EMIOENET1GMIITXCLK (),
|
||||
.EMIOENET1MDIOI (),
|
||||
.EMIOGPIOI (),
|
||||
.EMIOI2C0SCLI (),
|
||||
.EMIOI2C0SDAI (),
|
||||
.EMIOI2C1SCLI (),
|
||||
.EMIOI2C1SDAI (),
|
||||
.EMIOPJTAGTCK (),
|
||||
.EMIOPJTAGTDI (),
|
||||
.EMIOPJTAGTMS (),
|
||||
.EMIOSDIO0CDN (),
|
||||
.EMIOSDIO0CLKFB (),
|
||||
.EMIOSDIO0CMDI (),
|
||||
.EMIOSDIO0DATAI (),
|
||||
.EMIOSDIO0WP (),
|
||||
.EMIOSDIO1CDN (),
|
||||
.EMIOSDIO1CLKFB (),
|
||||
.EMIOSDIO1CMDI (),
|
||||
.EMIOSDIO1DATAI (),
|
||||
.EMIOSDIO1WP (),
|
||||
.EMIOSPI0MI (),
|
||||
.EMIOSPI0SCLKI (),
|
||||
.EMIOSPI0SI (),
|
||||
.EMIOSPI0SSIN (),
|
||||
.EMIOSPI1MI (),
|
||||
.EMIOSPI1SCLKI (),
|
||||
.EMIOSPI1SI (),
|
||||
.EMIOSPI1SSIN (),
|
||||
.EMIOSRAMINTIN (),
|
||||
.EMIOTRACECLK (),
|
||||
.EMIOTTC0CLKI (),
|
||||
.EMIOTTC1CLKI (),
|
||||
.EMIOUART0CTSN (),
|
||||
.EMIOUART0DCDN (),
|
||||
.EMIOUART0DSRN (),
|
||||
.EMIOUART0RIN (),
|
||||
.EMIOUART0RX (),
|
||||
.EMIOUART1CTSN (),
|
||||
.EMIOUART1DCDN (),
|
||||
.EMIOUART1DSRN (),
|
||||
.EMIOUART1RIN (),
|
||||
.EMIOUART1RX (),
|
||||
.EMIOUSB0VBUSPWRFAULT (),
|
||||
.EMIOUSB1VBUSPWRFAULT (),
|
||||
.EMIOWDTCLKI (),
|
||||
.EVENTEVENTI (),
|
||||
.FCLKCLKTRIGN (),
|
||||
.FPGAIDLEN (),
|
||||
.FTMDTRACEINATID (),
|
||||
.FTMDTRACEINCLOCK (),
|
||||
.FTMDTRACEINDATA (),
|
||||
.FTMDTRACEINVALID (),
|
||||
.FTMTF2PDEBUG (),
|
||||
.FTMTF2PTRIG (),
|
||||
.FTMTP2FTRIGACK (),
|
||||
.IRQF2P (),
|
||||
.MAXIGP0ACLK (),
|
||||
.MAXIGP0ARREADY (),
|
||||
.MAXIGP0AWREADY (),
|
||||
.MAXIGP0BID (),
|
||||
.MAXIGP0BRESP (),
|
||||
.MAXIGP0BVALID (),
|
||||
.MAXIGP0RDATA (),
|
||||
.MAXIGP0RID (),
|
||||
.MAXIGP0RLAST (),
|
||||
.MAXIGP0RRESP (),
|
||||
.MAXIGP0RVALID (),
|
||||
.MAXIGP0WREADY (),
|
||||
.MAXIGP1ACLK (),
|
||||
.MAXIGP1ARREADY (),
|
||||
.MAXIGP1AWREADY (),
|
||||
.MAXIGP1BID (),
|
||||
.MAXIGP1BRESP (),
|
||||
.MAXIGP1BVALID (),
|
||||
.MAXIGP1RDATA (),
|
||||
.MAXIGP1RID (),
|
||||
.MAXIGP1RLAST (),
|
||||
.MAXIGP1RRESP (),
|
||||
.MAXIGP1RVALID (),
|
||||
.MAXIGP1WREADY (),
|
||||
.SAXIACPACLK (),
|
||||
.SAXIACPARADDR (),
|
||||
.SAXIACPARBURST (),
|
||||
.SAXIACPARCACHE (),
|
||||
.SAXIACPARID (),
|
||||
.SAXIACPARLEN (),
|
||||
.SAXIACPARLOCK (),
|
||||
.SAXIACPARPROT (),
|
||||
.SAXIACPARQOS (),
|
||||
.SAXIACPARSIZE (),
|
||||
.SAXIACPARUSER (),
|
||||
.SAXIACPARVALID (),
|
||||
.SAXIACPAWADDR (),
|
||||
.SAXIACPAWBURST (),
|
||||
.SAXIACPAWCACHE (),
|
||||
.SAXIACPAWID (),
|
||||
.SAXIACPAWLEN (),
|
||||
.SAXIACPAWLOCK (),
|
||||
.SAXIACPAWPROT (),
|
||||
.SAXIACPAWQOS (),
|
||||
.SAXIACPAWSIZE (),
|
||||
.SAXIACPAWUSER (),
|
||||
.SAXIACPAWVALID (),
|
||||
.SAXIACPBREADY (),
|
||||
.SAXIACPRREADY (),
|
||||
.SAXIACPWDATA (),
|
||||
.SAXIACPWID (),
|
||||
.SAXIACPWLAST (),
|
||||
.SAXIACPWSTRB (),
|
||||
.SAXIACPWVALID (),
|
||||
.SAXIGP0ACLK (),
|
||||
.SAXIGP0ARADDR (),
|
||||
.SAXIGP0ARBURST (),
|
||||
.SAXIGP0ARCACHE (),
|
||||
.SAXIGP0ARID (),
|
||||
.SAXIGP0ARLEN (),
|
||||
.SAXIGP0ARLOCK (),
|
||||
.SAXIGP0ARPROT (),
|
||||
.SAXIGP0ARQOS (),
|
||||
.SAXIGP0ARSIZE (),
|
||||
.SAXIGP0ARVALID (),
|
||||
.SAXIGP0AWADDR (),
|
||||
.SAXIGP0AWBURST (),
|
||||
.SAXIGP0AWCACHE (),
|
||||
.SAXIGP0AWID (),
|
||||
.SAXIGP0AWLEN (),
|
||||
.SAXIGP0AWLOCK (),
|
||||
.SAXIGP0AWPROT (),
|
||||
.SAXIGP0AWQOS (),
|
||||
.SAXIGP0AWSIZE (),
|
||||
.SAXIGP0AWVALID (),
|
||||
.SAXIGP0BREADY (),
|
||||
.SAXIGP0RREADY (),
|
||||
.SAXIGP0WDATA (),
|
||||
.SAXIGP0WID (),
|
||||
.SAXIGP0WLAST (),
|
||||
.SAXIGP0WSTRB (),
|
||||
.SAXIGP0WVALID (),
|
||||
.SAXIGP1ACLK (),
|
||||
.SAXIGP1ARADDR (),
|
||||
.SAXIGP1ARBURST (),
|
||||
.SAXIGP1ARCACHE (),
|
||||
.SAXIGP1ARID (),
|
||||
.SAXIGP1ARLEN (),
|
||||
.SAXIGP1ARLOCK (),
|
||||
.SAXIGP1ARPROT (),
|
||||
.SAXIGP1ARQOS (),
|
||||
.SAXIGP1ARSIZE (),
|
||||
.SAXIGP1ARVALID (),
|
||||
.SAXIGP1AWADDR (),
|
||||
.SAXIGP1AWBURST (),
|
||||
.SAXIGP1AWCACHE (),
|
||||
.SAXIGP1AWID (),
|
||||
.SAXIGP1AWLEN (),
|
||||
.SAXIGP1AWLOCK (),
|
||||
.SAXIGP1AWPROT (),
|
||||
.SAXIGP1AWQOS (),
|
||||
.SAXIGP1AWSIZE (),
|
||||
.SAXIGP1AWVALID (),
|
||||
.SAXIGP1BREADY (),
|
||||
.SAXIGP1RREADY (),
|
||||
.SAXIGP1WDATA (),
|
||||
.SAXIGP1WID (),
|
||||
.SAXIGP1WLAST (),
|
||||
.SAXIGP1WSTRB (),
|
||||
.SAXIGP1WVALID (),
|
||||
.SAXIHP0ACLK (),
|
||||
.SAXIHP0ARADDR (),
|
||||
.SAXIHP0ARBURST (),
|
||||
.SAXIHP0ARCACHE (),
|
||||
.SAXIHP0ARID (),
|
||||
.SAXIHP0ARLEN (),
|
||||
.SAXIHP0ARLOCK (),
|
||||
.SAXIHP0ARPROT (),
|
||||
.SAXIHP0ARQOS (),
|
||||
.SAXIHP0ARSIZE (),
|
||||
.SAXIHP0ARVALID (),
|
||||
.SAXIHP0AWADDR (),
|
||||
.SAXIHP0AWBURST (),
|
||||
.SAXIHP0AWCACHE (),
|
||||
.SAXIHP0AWID (),
|
||||
.SAXIHP0AWLEN (),
|
||||
.SAXIHP0AWLOCK (),
|
||||
.SAXIHP0AWPROT (),
|
||||
.SAXIHP0AWQOS (),
|
||||
.SAXIHP0AWSIZE (),
|
||||
.SAXIHP0AWVALID (),
|
||||
.SAXIHP0BREADY (),
|
||||
.SAXIHP0RDISSUECAP1EN (),
|
||||
.SAXIHP0RREADY (),
|
||||
.SAXIHP0WDATA (),
|
||||
.SAXIHP0WID (),
|
||||
.SAXIHP0WLAST (),
|
||||
.SAXIHP0WRISSUECAP1EN (),
|
||||
.SAXIHP0WSTRB (),
|
||||
.SAXIHP0WVALID (),
|
||||
.SAXIHP1ACLK (),
|
||||
.SAXIHP1ARADDR (),
|
||||
.SAXIHP1ARBURST (),
|
||||
.SAXIHP1ARCACHE (),
|
||||
.SAXIHP1ARID (),
|
||||
.SAXIHP1ARLEN (),
|
||||
.SAXIHP1ARLOCK (),
|
||||
.SAXIHP1ARPROT (),
|
||||
.SAXIHP1ARQOS (),
|
||||
.SAXIHP1ARSIZE (),
|
||||
.SAXIHP1ARVALID (),
|
||||
.SAXIHP1AWADDR (),
|
||||
.SAXIHP1AWBURST (),
|
||||
.SAXIHP1AWCACHE (),
|
||||
.SAXIHP1AWID (),
|
||||
.SAXIHP1AWLEN (),
|
||||
.SAXIHP1AWLOCK (),
|
||||
.SAXIHP1AWPROT (),
|
||||
.SAXIHP1AWQOS (),
|
||||
.SAXIHP1AWSIZE (),
|
||||
.SAXIHP1AWVALID (),
|
||||
.SAXIHP1BREADY (),
|
||||
.SAXIHP1RDISSUECAP1EN (),
|
||||
.SAXIHP1RREADY (),
|
||||
.SAXIHP1WDATA (),
|
||||
.SAXIHP1WID (),
|
||||
.SAXIHP1WLAST (),
|
||||
.SAXIHP1WRISSUECAP1EN (),
|
||||
.SAXIHP1WSTRB (),
|
||||
.SAXIHP1WVALID (),
|
||||
.SAXIHP2ACLK (),
|
||||
.SAXIHP2ARADDR (),
|
||||
.SAXIHP2ARBURST (),
|
||||
.SAXIHP2ARCACHE (),
|
||||
.SAXIHP2ARID (),
|
||||
.SAXIHP2ARLEN (),
|
||||
.SAXIHP2ARLOCK (),
|
||||
.SAXIHP2ARPROT (),
|
||||
.SAXIHP2ARQOS (),
|
||||
.SAXIHP2ARSIZE (),
|
||||
.SAXIHP2ARVALID (),
|
||||
.SAXIHP2AWADDR (),
|
||||
.SAXIHP2AWBURST (),
|
||||
.SAXIHP2AWCACHE (),
|
||||
.SAXIHP2AWID (),
|
||||
.SAXIHP2AWLEN (),
|
||||
.SAXIHP2AWLOCK (),
|
||||
.SAXIHP2AWPROT (),
|
||||
.SAXIHP2AWQOS (),
|
||||
.SAXIHP2AWSIZE (),
|
||||
.SAXIHP2AWVALID (),
|
||||
.SAXIHP2BREADY (),
|
||||
.SAXIHP2RDISSUECAP1EN (),
|
||||
.SAXIHP2RREADY (),
|
||||
.SAXIHP2WDATA (),
|
||||
.SAXIHP2WID (),
|
||||
.SAXIHP2WLAST (),
|
||||
.SAXIHP2WRISSUECAP1EN (),
|
||||
.SAXIHP2WSTRB (),
|
||||
.SAXIHP2WVALID (),
|
||||
.SAXIHP3ACLK (),
|
||||
.SAXIHP3ARADDR (),
|
||||
.SAXIHP3ARBURST (),
|
||||
.SAXIHP3ARCACHE (),
|
||||
.SAXIHP3ARID (),
|
||||
.SAXIHP3ARLEN (),
|
||||
.SAXIHP3ARLOCK (),
|
||||
.SAXIHP3ARPROT (),
|
||||
.SAXIHP3ARQOS (),
|
||||
.SAXIHP3ARSIZE (),
|
||||
.SAXIHP3ARVALID (),
|
||||
.SAXIHP3AWADDR (),
|
||||
.SAXIHP3AWBURST (),
|
||||
.SAXIHP3AWCACHE (),
|
||||
.SAXIHP3AWID (),
|
||||
.SAXIHP3AWLEN (),
|
||||
.SAXIHP3AWLOCK (),
|
||||
.SAXIHP3AWPROT (),
|
||||
.SAXIHP3AWQOS (),
|
||||
.SAXIHP3AWSIZE (),
|
||||
.SAXIHP3AWVALID (),
|
||||
.SAXIHP3BREADY (),
|
||||
.SAXIHP3RDISSUECAP1EN (),
|
||||
.SAXIHP3RREADY (),
|
||||
.SAXIHP3WDATA (),
|
||||
.SAXIHP3WID (),
|
||||
.SAXIHP3WLAST (),
|
||||
.SAXIHP3WRISSUECAP1EN (),
|
||||
.SAXIHP3WSTRB (),
|
||||
.SAXIHP3WVALID ()
|
||||
);
|
||||
''' % {
|
||||
'dut': 'site_name',
|
||||
'dout': isone
|
||||
})
|
||||
|
||||
print("endmodule")
|
||||
write_params(params)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
run()
|
||||
|
|
@ -6,10 +6,10 @@ export XRAY_ROI_FRAMES="0x00000000:0xffffffff"
|
|||
export XRAY_ROI_TILEGRID="SLICE_X0Y0:SLICE_X43Y99 RAMB18_X0Y0:RAMB18_X2Y39 RAMB36_X0Y0:RAMB36_X2Y19 DSP48_X0Y0:DSP48_X1Y39"
|
||||
|
||||
# These settings must remain in sync
|
||||
export XRAY_ROI="SLICE_X22Y50:SLICE_X43Y99 RAMB18_X1Y20:RAMB18_X2Y39 RAMB36_X1Y10:RAMB36_X2Y19 IOB_X0Y50:IOB_X0Y99"
|
||||
export XRAY_ROI="SLICE_X00Y50:SLICE_X43Y99 RAMB18_X0Y20:RAMB18_X2Y39 RAMB36_X0Y10:RAMB36_X2Y19 IOB_X0Y50:IOB_X0Y99"
|
||||
|
||||
# Most of CMT X0Y2.
|
||||
export XRAY_ROI_GRID_X1="83"
|
||||
export XRAY_ROI_GRID_X1="0"
|
||||
export XRAY_ROI_GRID_X2="127"
|
||||
# Include VBRK / VTERM
|
||||
export XRAY_ROI_GRID_Y1="0"
|
||||
|
|
|
|||
Loading…
Reference in New Issue