@@ -248,6 +248,7 @@ Synchronous SDP with write-first behavior (alternate pattern)
248
248
249
249
.. code :: verilog
250
250
251
+ reg [ADDR_WIDTH - 1 : 0] read_addr_reg;
251
252
reg [DATA_WIDTH - 1 : 0] mem [2**ADDR_WIDTH - 1 : 0];
252
253
253
254
always @(posedge clk) begin
@@ -374,7 +375,7 @@ Synchronous reset, reset priority over enable
374
375
mem[write_addr] <= write_data;
375
376
376
377
if (read_reset)
377
- read_data <= {sval} ;
378
+ read_data <= 'h1234 ;
378
379
else if (read_enable)
379
380
read_data <= mem[read_addr];
380
381
end
@@ -408,8 +409,8 @@ Synchronous read port with asynchronous reset
408
409
mem[write_addr] <= write_data;
409
410
end
410
411
411
- always @(posedge clk, posedge reset_read ) begin
412
- if (reset_read )
412
+ always @(posedge clk, posedge read_reset ) begin
413
+ if (read_reset )
413
414
read_data <= 'h1234;
414
415
else if (read_enable)
415
416
read_data <= mem[read_addr];
@@ -590,14 +591,14 @@ TDP with multiple read ports
590
591
assign read_data_b = mem[read_addr_b];
591
592
assign read_data_c = mem[read_addr_c];
592
593
593
- Not yet supported patterns
594
- --------------------------
594
+ Patterns only supported with Verific
595
+ ------------------------------------
595
596
596
597
Synchronous SDP with write-first behavior via blocking assignments
597
598
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
598
599
599
- - Would require modifications to the Yosys Verilog frontend.
600
- - Use ` Synchronous SDP with write-first behavior `_ instead
600
+ - Use ` Synchronous SDP with write-first behavior `_ for compatibility with Yosys
601
+ Verilog frontend.
601
602
602
603
.. code :: verilog
603
604
@@ -614,8 +615,8 @@ Synchronous SDP with write-first behavior via blocking assignments
614
615
Asymmetric memories via part selection
615
616
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
616
617
617
- - Would require major changes to the Verilog frontend.
618
- - Build wide ports out of narrow ports instead (see ` Wide synchronous read port `_)
618
+ - Build wide ports out of narrow ports instead (see ` Wide synchronous read
619
+ port `_) for compatibility with Yosys Verilog frontend.
619
620
620
621
.. code :: verilog
621
622
0 commit comments