mirror of https://github.com/openXC7/prjxray.git
bram config: bram36 sort of working, needs to be bram18 based
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
parent
aa9386b6c1
commit
aec874de92
|
|
@ -26,6 +26,8 @@ for l in f:
|
||||||
'IS_RSTREGARSTREG_INVERTED',
|
'IS_RSTREGARSTREG_INVERTED',
|
||||||
'IS_RSTREGB_INVERTED',
|
'IS_RSTREGB_INVERTED',
|
||||||
]
|
]
|
||||||
|
# FIXME
|
||||||
|
#ks = ['IS_ENARDEN_INVERTED']
|
||||||
|
|
||||||
for k in ks:
|
for k in ks:
|
||||||
segmk.add_site_tag(site, k, verilog.parsei(ps[k]))
|
segmk.add_site_tag(site, k, verilog.parsei(ps[k]))
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,10 @@ def gen_brams():
|
||||||
'''
|
'''
|
||||||
Correctly assign a site to either bram36 or 2x bram18
|
Correctly assign a site to either bram36 or 2x bram18
|
||||||
'''
|
'''
|
||||||
|
# FIXME
|
||||||
|
#yield ('RAMBFIFO36E1', "RAMB36_X0Y20")
|
||||||
|
#return
|
||||||
|
|
||||||
#for _tile_name, site_name, _site_type in util.get_roi().gen_tiles():
|
#for _tile_name, site_name, _site_type in util.get_roi().gen_tiles():
|
||||||
for site in gen_bram36():
|
for site in gen_bram36():
|
||||||
yield ('RAMBFIFO36E1', site)
|
yield ('RAMBFIFO36E1', site)
|
||||||
|
|
@ -76,6 +80,24 @@ for loci, (site_type, site) in enumerate(brams):
|
||||||
'WRITE_MODE_A': '"WRITE_FIRST"',
|
'WRITE_MODE_A': '"WRITE_FIRST"',
|
||||||
'WRITE_MODE_B': '"WRITE_FIRST"',
|
'WRITE_MODE_B': '"WRITE_FIRST"',
|
||||||
}
|
}
|
||||||
|
if 0:
|
||||||
|
# FIXME
|
||||||
|
params = {
|
||||||
|
'LOC': verilog.quote(site),
|
||||||
|
'IS_CLKARDCLK_INVERTED': "1'b0",
|
||||||
|
'IS_CLKBWRCLK_INVERTED': "1'b0",
|
||||||
|
#'IS_ENARDEN_INVERTED': vrandbit(),
|
||||||
|
'IS_ENARDEN_INVERTED':
|
||||||
|
("1'b" + str(int(os.getenv("SEEDN")) - 1)),
|
||||||
|
'IS_ENBWREN_INVERTED': "1'b0",
|
||||||
|
'IS_RSTRAMARSTRAM_INVERTED': "1'b0",
|
||||||
|
'IS_RSTRAMB_INVERTED': "1'b0",
|
||||||
|
'IS_RSTREGARSTREG_INVERTED': "1'b0",
|
||||||
|
'IS_RSTREGB_INVERTED': "1'b0",
|
||||||
|
'RAM_MODE': '"TDP"',
|
||||||
|
'WRITE_MODE_A': '"WRITE_FIRST"',
|
||||||
|
'WRITE_MODE_B': '"WRITE_FIRST"',
|
||||||
|
}
|
||||||
return ('my_RAMB36E1', ports, params)
|
return ('my_RAMB36E1', ports, params)
|
||||||
|
|
||||||
modname, ports, params = {
|
modname, ports, params = {
|
||||||
|
|
@ -146,6 +168,18 @@ print(
|
||||||
'''
|
'''
|
||||||
module my_RAMB18E1 (input clk, input [7:0] din, output [7:0] dout);
|
module my_RAMB18E1 (input clk, input [7:0] din, output [7:0] dout);
|
||||||
parameter LOC = "";
|
parameter LOC = "";
|
||||||
|
parameter IS_CLKARDCLK_INVERTED = 1'b0;
|
||||||
|
parameter IS_CLKBWRCLK_INVERTED = 1'b0;
|
||||||
|
parameter IS_ENARDEN_INVERTED = 1'b0;
|
||||||
|
parameter IS_ENBWREN_INVERTED = 1'b0;
|
||||||
|
parameter IS_RSTRAMARSTRAM_INVERTED = 1'b0;
|
||||||
|
parameter IS_RSTRAMB_INVERTED = 1'b0;
|
||||||
|
parameter IS_RSTREGARSTREG_INVERTED = 1'b0;
|
||||||
|
parameter IS_RSTREGB_INVERTED = 1'b0;
|
||||||
|
parameter RAM_MODE = "TDP";
|
||||||
|
parameter WRITE_MODE_A = "WRITE_FIRST";
|
||||||
|
parameter WRITE_MODE_B = "WRITE_FIRST";
|
||||||
|
|
||||||
''')
|
''')
|
||||||
print('''\
|
print('''\
|
||||||
(* LOC=LOC *)
|
(* LOC=LOC *)
|
||||||
|
|
@ -158,17 +192,17 @@ for i in range(0x40):
|
||||||
print('')
|
print('')
|
||||||
print(
|
print(
|
||||||
'''
|
'''
|
||||||
.IS_CLKARDCLK_INVERTED(1'b0),
|
.IS_CLKARDCLK_INVERTED(IS_CLKARDCLK_INVERTED),
|
||||||
.IS_CLKBWRCLK_INVERTED(1'b0),
|
.IS_CLKBWRCLK_INVERTED(IS_CLKBWRCLK_INVERTED),
|
||||||
.IS_ENARDEN_INVERTED(1'b0),
|
.IS_ENARDEN_INVERTED(IS_ENARDEN_INVERTED),
|
||||||
.IS_ENBWREN_INVERTED(1'b0),
|
.IS_ENBWREN_INVERTED(IS_ENBWREN_INVERTED),
|
||||||
.IS_RSTRAMARSTRAM_INVERTED(1'b0),
|
.IS_RSTRAMARSTRAM_INVERTED(IS_RSTRAMARSTRAM_INVERTED),
|
||||||
.IS_RSTRAMB_INVERTED(1'b0),
|
.IS_RSTRAMB_INVERTED(IS_RSTRAMB_INVERTED),
|
||||||
.IS_RSTREGARSTREG_INVERTED(1'b0),
|
.IS_RSTREGARSTREG_INVERTED(IS_RSTREGARSTREG_INVERTED),
|
||||||
.IS_RSTREGB_INVERTED(1'b0),
|
.IS_RSTREGB_INVERTED(IS_RSTREGB_INVERTED),
|
||||||
.RAM_MODE("TDP"),
|
.RAM_MODE(RAM_MODE),
|
||||||
.WRITE_MODE_A("WRITE_FIRST"),
|
.WRITE_MODE_A(WRITE_MODE_A),
|
||||||
.WRITE_MODE_B("WRITE_FIRST"),
|
.WRITE_MODE_B(WRITE_MODE_B),
|
||||||
.SIM_DEVICE("VIRTEX6")
|
.SIM_DEVICE("VIRTEX6")
|
||||||
) ram (
|
) ram (
|
||||||
.CLKARDCLK(din[0]),
|
.CLKARDCLK(din[0]),
|
||||||
|
|
@ -201,7 +235,6 @@ print(
|
||||||
|
|
||||||
module my_RAMB36E1 (input clk, input [7:0] din, output [7:0] dout);
|
module my_RAMB36E1 (input clk, input [7:0] din, output [7:0] dout);
|
||||||
parameter LOC = "";
|
parameter LOC = "";
|
||||||
|
|
||||||
parameter IS_CLKARDCLK_INVERTED = 1'b0;
|
parameter IS_CLKARDCLK_INVERTED = 1'b0;
|
||||||
parameter IS_CLKBWRCLK_INVERTED = 1'b0;
|
parameter IS_CLKBWRCLK_INVERTED = 1'b0;
|
||||||
parameter IS_ENARDEN_INVERTED = 1'b0;
|
parameter IS_ENARDEN_INVERTED = 1'b0;
|
||||||
|
|
@ -227,17 +260,17 @@ for i in range(0x80):
|
||||||
print('')
|
print('')
|
||||||
print(
|
print(
|
||||||
'''
|
'''
|
||||||
.IS_CLKARDCLK_INVERTED(1'b0),
|
.IS_CLKARDCLK_INVERTED(IS_CLKARDCLK_INVERTED),
|
||||||
.IS_CLKBWRCLK_INVERTED(1'b0),
|
.IS_CLKBWRCLK_INVERTED(IS_CLKBWRCLK_INVERTED),
|
||||||
.IS_ENARDEN_INVERTED(1'b0),
|
.IS_ENARDEN_INVERTED(IS_ENARDEN_INVERTED),
|
||||||
.IS_ENBWREN_INVERTED(1'b0),
|
.IS_ENBWREN_INVERTED(IS_ENBWREN_INVERTED),
|
||||||
.IS_RSTRAMARSTRAM_INVERTED(1'b0),
|
.IS_RSTRAMARSTRAM_INVERTED(IS_RSTRAMARSTRAM_INVERTED),
|
||||||
.IS_RSTRAMB_INVERTED(1'b0),
|
.IS_RSTRAMB_INVERTED(IS_RSTRAMB_INVERTED),
|
||||||
.IS_RSTREGARSTREG_INVERTED(1'b0),
|
.IS_RSTREGARSTREG_INVERTED(IS_RSTREGARSTREG_INVERTED),
|
||||||
.IS_RSTREGB_INVERTED(1'b0),
|
.IS_RSTREGB_INVERTED(IS_RSTREGB_INVERTED),
|
||||||
.RAM_MODE("TDP"),
|
.RAM_MODE(RAM_MODE),
|
||||||
.WRITE_MODE_A("WRITE_FIRST"),
|
.WRITE_MODE_A(WRITE_MODE_A),
|
||||||
.WRITE_MODE_B("WRITE_FIRST"),
|
.WRITE_MODE_B(WRITE_MODE_B),
|
||||||
.SIM_DEVICE("VIRTEX6")
|
.SIM_DEVICE("VIRTEX6")
|
||||||
) ram (
|
) ram (
|
||||||
.CLKARDCLK(din[0]),
|
.CLKARDCLK(din[0]),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue