mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Continue fixing memory macros for synthesis
This commit is contained in:
parent
aba29f6cc8
commit
3f2f48ddc6
@ -36,6 +36,6 @@ module ram1p1rwbe_64x128(
|
|||||||
|
|
||||||
// replace "generic64x128RAM" with "TS1N..64X128.." module from your memory vendor
|
// replace "generic64x128RAM" with "TS1N..64X128.." module from your memory vendor
|
||||||
//generic64x128RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
//generic64x128RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
||||||
ts1n28hpcpsvtb64x128m4sw_180a sramIP(.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
TS1N28HPCPSVTB64X128M4SW sramIP(.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -36,7 +36,7 @@ module ram1p1rwbe_64x22(
|
|||||||
|
|
||||||
// replace "generic64x22RAM" with "TS1N..64X22.." module from your memory vendor
|
// replace "generic64x22RAM" with "TS1N..64X22.." module from your memory vendor
|
||||||
// use part of a larger RAM to avoid generating more flavors of RAM
|
// use part of a larger RAM to avoid generating more flavors of RAM
|
||||||
ts1n28hpcpsvtb64x44m4sw_180a sramIP(.CLK, .CEB, .WEB, .A, .D(D[21:0]), .BWEB(BWEB[21:0]), .Q(Q[21:0]));
|
TS1N28HPCPSVTB64X44M4SW sramIP(.CLK, .CEB, .WEB, .A, .D(D[21:0]), .BWEB(BWEB[21:0]), .Q(Q[21:0]));
|
||||||
//generic64x22RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
//generic64x22RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -36,6 +36,6 @@ module ram1p1rwbe_64x44(
|
|||||||
|
|
||||||
// replace "generic64x44RAM" with "TS1N..64X44.." module from your memory vendor
|
// replace "generic64x44RAM" with "TS1N..64X44.." module from your memory vendor
|
||||||
// generic64x44RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
// generic64x44RAM sramIP (.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
||||||
ts1n28hpcpsvtb64x44m4sw_180a sramIP(.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
TS1N28HPCPSVTB64X44M4SW sramIP(.CLK, .CEB, .WEB, .A, .D, .BWEB, .Q);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -45,7 +45,7 @@ module ram2p1r1wbe_1024x36(
|
|||||||
//generic1024x36RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
//generic1024x36RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
// use part of a larger RAM to avoid generating more flavors of RAM
|
// use part of a larger RAM to avoid generating more flavors of RAM
|
||||||
tsdn28hpcpa1024x68m4mw_130a sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
TSDN28HPCPA1024X68M4MW sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
.AA, .AB, .DA(DA[35:0]), .DB(DB[35:0]),
|
.AA, .AB, .DA(DA[35:0]), .DB(DB[35:0]),
|
||||||
.BWEBA(BWEBA[35:0]), .BWEBB(BWEBB[35:0]), .QA(QA[35:0]), .QB(QB[35:0]));
|
.BWEBA(BWEBA[35:0]), .BWEBB(BWEBB[35:0]), .QA(QA[35:0]), .QB(QB[35:0]));
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ module ram2p1r1wbe_1024x68(
|
|||||||
// replace "generic1024x68RAM" with "TSDN..1024X68.." module from your memory vendor
|
// replace "generic1024x68RAM" with "TSDN..1024X68.." module from your memory vendor
|
||||||
//generic1024x68RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
//generic1024x68RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
tsdn28hpcpa1024x68m4mw_130a sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
TSDN28HPCPA1024X68M4MW sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
.AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
.AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -46,6 +46,6 @@ module ram2p1r1wbe_64x32(
|
|||||||
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
//generic64x32RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
//generic64x32RAM sramIP (.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
// .AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
tsdn28hpcpa64x32m4mw_130a sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
TSDN28HPCPA64X32M4MW sramIP(.CLKA, .CLKB, .CEBA, .CEBB, .WEBA, .WEBB,
|
||||||
.AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
.AA, .AB, .DA, .DB, .BWEBA, .BWEBB, .QA, .QB);
|
||||||
endmodule
|
endmodule
|
||||||
|
@ -67,7 +67,7 @@ set cache_read $cache_write
|
|||||||
lappend search_path ./scripts
|
lappend search_path ./scripts
|
||||||
lappend search_path ./hdl
|
lappend search_path ./hdl
|
||||||
lappend search_path ./mapped
|
lappend search_path ./mapped
|
||||||
if {$tech == "tsmc28"} {
|
if {$tech == "tsmc28" || $tech == "tsmc28psyn"} {
|
||||||
set memory /home/jstine/WallyMem/rv64gc/
|
set memory /home/jstine/WallyMem/rv64gc/
|
||||||
lappend target_library $memory/ts3n28hpcpa128x64m8m_130a/NLDM/ts3n28hpcpa128x64m8m_tt0p9v25c.db
|
lappend target_library $memory/ts3n28hpcpa128x64m8m_130a/NLDM/ts3n28hpcpa128x64m8m_tt0p9v25c.db
|
||||||
lappend target_library $memory/ts1n28hpcpsvtb64x128m4sw_180a/NLDM/ts1n28hpcpsvtb64x128m4sw_tt0p9v25c.db
|
lappend target_library $memory/ts1n28hpcpsvtb64x128m4sw_180a/NLDM/ts1n28hpcpsvtb64x128m4sw_tt0p9v25c.db
|
||||||
|
@ -85,7 +85,7 @@ def freqPlot(tech, width, config):
|
|||||||
freqsL, delaysL, areasL = ([[], []] for i in range(3))
|
freqsL, delaysL, areasL = ([[], []] for i in range(3))
|
||||||
for oneSynth in allSynths:
|
for oneSynth in allSynths:
|
||||||
if (width == oneSynth.width) & (config == oneSynth.config) & (tech == oneSynth.tech) & ('orig' == oneSynth.mod):
|
if (width == oneSynth.width) & (config == oneSynth.config) & (tech == oneSynth.tech) & ('orig' == oneSynth.mod):
|
||||||
ind = (1000/oneSynth.delay < oneSynth.freq) # when delay is within target clock period
|
ind = (1000/oneSynth.delay < (0.95*oneSynth.freq)) # when delay is within target clock period
|
||||||
freqsL[ind] += [oneSynth.freq]
|
freqsL[ind] += [oneSynth.freq]
|
||||||
delaysL[ind] += [oneSynth.delay]
|
delaysL[ind] += [oneSynth.delay]
|
||||||
areasL[ind] += [oneSynth.area]
|
areasL[ind] += [oneSynth.area]
|
||||||
|
Loading…
Reference in New Issue
Block a user