Skip to content

Commit 7acd240

Browse files
authored
Merge pull request #425 from os-fpga/bug/EDA-1435/updated_rtl
updated the asym_ram_tdp_write_first_dc with tb
2 parents 3dff73d + 821ee0f commit 7acd240

File tree

4 files changed

+41
-41
lines changed

4 files changed

+41
-41
lines changed

RTL_testcases/Memory_Designs/asym_ram_tdp_write_first_dc/raptor_run.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ip_name="" #design_level
1010
tool_name="iverilog"
1111

1212
#simulation stages
13-
post_synth_sim=false
13+
post_synth_sim=true
1414
post_route_sim=true
1515
bitstream_sim=false
1616

@@ -27,7 +27,7 @@ synthesis_type="" #(Yosys/QL/RS)
2727

2828
custom_synth_script="" #(Uses a custom Yosys templatized script)
2929

30-
synth_options="-new_tdp36k "
30+
synth_options=""
3131
#synth_options <option list>: RS-Yosys Plugin Options. The following defaults exist:
3232
# : -effort high
3333
# : -fsm_encoding binary if optimization == area else onehot
@@ -170,7 +170,7 @@ parse_cga exit 1; }
170170
cd ..
171171

172172
echo "create_design $design">raptor_tcl.tcl
173-
echo "target_device $device">>raptor_tcl.tcl
173+
echo "target_device 1VG28">>raptor_tcl.tcl
174174

175175
##vary design to design
176176
[ -z "$ip_name" ] && echo "" || echo "configure_ip $ip_name"_v1_0" -mod_name=$design -Pdata_width=32 -Paddr_width=16 -Pid_width=32 -Pa_pip_out=0 -Pb_pip_out=0 -Pa_interleave=0 -Pb_interleave=0 -out_file ./$design.v">>raptor_tcl.tcl
@@ -199,6 +199,7 @@ parse_cga exit 1; }
199199
echo ""
200200
fi
201201

202+
echo "parser_type surelog">>raptor_tcl.tcl
202203
echo "analyze">>raptor_tcl.tcl
203204
[ -z "$verific_parser" ] && echo "" || echo "verific_parser $verific_parser">>raptor_tcl.tcl
204205
[ -z "$synthesis_type" ] && echo "" || echo "synthesis_type $synthesis_type">>raptor_tcl.tcl

RTL_testcases/Memory_Designs/asym_ram_tdp_write_first_dc/rtl/asym_ram_tdp_write_first_dc.v

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,11 @@ localparam RATIO = maxWIDTH / minWIDTH;
4949
localparam log2RATIO = log2(RATIO);
5050

5151
reg [minWIDTH-1:0] RAM [0:maxSIZE-1];
52-
reg [WIDTHA-1:0] readA;
52+
reg [WIDTHA-1:0] readA = 'd0;
5353
reg [WIDTHB-1:0] readB;
54+
55+
// RAM Inference for blocking assignments can be achieved
56+
// in this case as it meets the blocking->nonblocking conversion criteria
5457
always @(posedge clkB)
5558
begin
5659
if (enaB)
@@ -61,6 +64,8 @@ begin
6164
end
6265
end
6366

67+
// This block prevents current mapping in our architecture
68+
/*
6469
always @(posedge clkA)
6570
begin : portA
6671
integer i;
@@ -76,6 +81,7 @@ reg [log2RATIO-1:0] lsbaddr ;
7681
end
7782
end
7883
end
84+
*/
7985

8086
assign doA = readA;
8187
assign doB = readB;

RTL_testcases/Memory_Designs/asym_ram_tdp_write_first_dc/sim/co_sim_tb/co_sim_asym_ram_tdp_write_first_dc.v

Lines changed: 29 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ module co_sim_asym_ram_tdp_write_first_dc;
99
parameter SIZEA = 256;
1010
parameter ADDRWIDTHA = 8;
1111

12-
input clkA;
13-
input clkB;
14-
input weA, weB;
15-
input enaA, enaB;
16-
input [ADDRWIDTHA-1:0] addrA;
17-
input [ADDRWIDTHB-1:0] addrB;
18-
input [WIDTHA-1:0] diA;
19-
input [WIDTHB-1:0] diB;
20-
output [WIDTHA-1:0] doA, doA_netlist;
21-
output [WIDTHB-1:0] doB, doB_netlist;
12+
reg clkA;
13+
reg clkB;
14+
reg weA, weB;
15+
reg enaA, enaB;
16+
reg [ADDRWIDTHA-1:0] addrA;
17+
reg [ADDRWIDTHB-1:0] addrB;
18+
reg [WIDTHA-1:0] diA;
19+
reg [WIDTHB-1:0] diB;
20+
wire [WIDTHA-1:0] doA, doA_netlist;
21+
wire [WIDTHB-1:0] doB, doB_netlist;
2222

2323
integer mismatch=0;
2424
reg [6:0]cycle, i;
@@ -40,59 +40,52 @@ module co_sim_asym_ram_tdp_write_first_dc;
4040
clkB = 1'b0;
4141
forever #5 clkB = ~clkB;
4242
end
43+
4344
initial begin
44-
for(integer i = 0; i<1024; i=i+1) begin
45-
golden.RAM[i] ='b0;
46-
end
47-
end
48-
initial begin
49-
{enaA, enaB, weA, weB, addrA, addrB, diA,, diB, cycle, i} = 0;
45+
46+
for (integer i = 0; i < 1024; i++) begin
47+
golden.RAM[i] = 'b0;
48+
end
49+
50+
{diA, addrA, addrB, diB, enaA, enaB, weA, weB } <= 'd0;
5051

5152

52-
repeat (1) @ (negedge clkA);
53+
repeat (1) @ (negedge clkB);
5354
enaA = 1'b1;
54-
enaB = 1'b0;
55+
enaB = 1'b1;
56+
weB = 1'b1;
57+
weA =1'b1;
5558
//write
5659
for (integer i=0; i<1024; i=i+1)begin
57-
repeat (1) @ (negedge clkA)
58-
addrA <= $urandom_range(0,511); addrB <= $urandom_range(512,1023); weA <=1'b1; diA<= $random;
60+
repeat (4) @ (negedge clkB)
61+
addrA <= $urandom_range(0,511); addrB <= $urandom_range(512,1023); weA <=1'b1; diA<= $random; diB<= $random;
5962
cycle = cycle +1;
6063

6164
compare(cycle);
6265

6366
end
6467

65-
repeat (1) @ (negedge clkA);
68+
repeat (1) @ (negedge clkB);
6669
enaB = 1'b1;
67-
enaA = 1'b0;
68-
weA =0;
70+
enaA = 1'b1;
71+
weA =1;
6972
//reading
7073
for (integer i=0; i<1024; i=i+1)begin
71-
repeat (1) @ (negedge clkB)
72-
addrA <= $urandom_range(0,511); addrB <= $urandom_range(512,1023); weB <= 1; diB<= $random;
74+
repeat (4) @ (negedge clkB)
75+
addrA <= $urandom_range(0,511); addrB <= $urandom_range(512,1023); weB <= 1; diA<= $random; diB<= $random;
7376
cycle = cycle +1;
7477

7578
compare(cycle);
7679

7780
end
7881

79-
for (integer i=0; i<1024; i=i+1)begin
80-
repeat (1) @ (negedge clkB)
81-
enaB = $random;
82-
enaA = $random;
83-
addrA <= $urandom_range(0,511); addrB <= $urandom_range(512,1023); weA=$random; weB <= $random; diA<= $random; diB<= $random;
84-
cycle = cycle +1;
85-
86-
compare(cycle);
87-
88-
end
8982
if(mismatch == 0)
9083
$display("\n**** All Comparison Matched ***\nSimulation Passed");
9184
else
9285
$display("%0d comparison(s) mismatched\nERROR: SIM: Simulation Failed", mismatch);
9386

9487

95-
repeat (10) @(negedge clk); $finish;
88+
repeat (10) @(negedge clkB); $finish;
9689
end
9790

9891
task compare(input integer cycle);

RTL_testcases/Memory_Designs/asym_ram_tdp_write_first_dc/test.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#test_owner:"abdulhameed.akram"
22
#test_details:"test performs the raptor compile and simulation"
3-
#test_status:"inactive"
3+
#test_status:"active"
44
#simulator:"vcs"
55
#stage_id:"4"
66
#reg_type:"2"

0 commit comments

Comments
 (0)