上篇写了双端口RAM设计(同步读写):https://blog.csdn.net/Reborn_Lee/article/details/90647784
关于异步读写和同步读写,在单端口RAM设计中也提到过:https://blog.csdn.net/Reborn_Lee/article/details/90646285
这里就不再叙述了,总之就是和时钟无关了。
下面我们同样会给出Verilog设计和仿真验证。
有了同步读写的Verilog描述,异步简直易如反掌:
`timescale 1ns / 1ps
//
// Create Date: 2019/05/28 22:53:20
// Design Name:
// Module Name: ram_dp_ar_aw
//
module ram_dp_ar_aw #(
parameter DATA_WIDTH = 8,
parameter ADDR_WIDTH = 8,
parameter RAM_DEPTH = 1 << ADDR_WIDTH
)(
input [ADDR_WIDTH - 1 : 0] address_0 , // address_0 Input
inout [DATA_WIDTH-1 : 0] data_0 , // data_0 bi-directional
input cs_0 , // Chip Select
input we_0 , // Write Enable/Read Enable
input oe_0 , // Output Enable
input [ADDR