1
0
mirror of synced 2026-04-30 21:50:07 +00:00

docs: updating memory mapping text

More complete code examples and confirming Verific support thanks to @povik
This commit is contained in:
Krystine Sherwin
2023-09-19 11:26:57 +12:00
parent 93c9bf2f5d
commit 10ecbe9f5b

View File

@@ -248,6 +248,7 @@ Synchronous SDP with write-first behavior (alternate pattern)
.. code:: verilog
reg [ADDR_WIDTH - 1 : 0] read_addr_reg;
reg [DATA_WIDTH - 1 : 0] mem [2**ADDR_WIDTH - 1 : 0];
always @(posedge clk) begin
@@ -374,7 +375,7 @@ Synchronous reset, reset priority over enable
mem[write_addr] <= write_data;
if (read_reset)
read_data <= {sval};
read_data <= 'h1234;
else if (read_enable)
read_data <= mem[read_addr];
end
@@ -408,8 +409,8 @@ Synchronous read port with asynchronous reset
mem[write_addr] <= write_data;
end
always @(posedge clk, posedge reset_read) begin
if (reset_read)
always @(posedge clk, posedge read_reset) begin
if (read_reset)
read_data <= 'h1234;
else if (read_enable)
read_data <= mem[read_addr];
@@ -590,14 +591,14 @@ TDP with multiple read ports
assign read_data_b = mem[read_addr_b];
assign read_data_c = mem[read_addr_c];
Not yet supported patterns
--------------------------
Patterns only supported with Verific
------------------------------------
Synchronous SDP with write-first behavior via blocking assignments
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Would require modifications to the Yosys Verilog frontend.
- Use `Synchronous SDP with write-first behavior`_ instead
- Use `Synchronous SDP with write-first behavior`_ for compatibility with Yosys
Verilog frontend.
.. code:: verilog
@@ -614,8 +615,8 @@ Synchronous SDP with write-first behavior via blocking assignments
Asymmetric memories via part selection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Would require major changes to the Verilog frontend.
- Build wide ports out of narrow ports instead (see `Wide synchronous read port`_)
- Build wide ports out of narrow ports instead (see `Wide synchronous read
port`_) for compatibility with Yosys Verilog frontend.
.. code:: verilog