实现一个深度为8,位宽为4bit的双端口RAM,数据全部初始化为0000。具有两组端口,分别用于读数据和写数据,读写操作可以同时进行。当读数据指示信号read_en有效时,通过读地址信号read_addr读取相应位置的数据read_data,并输出;当写数据指示信号write_en有效时,通过写地址信号write_addr 和写数据write-data,向对应位置写入相应的数据。 程序的信号接口图如下: 模块的时序图如下: 使用Verilog HDL实现以上功能并编写testbench验证。
输入描述:
clk:系统时钟信号rst_n:异步复位信号,低电平有效read_en,write_en:单比特信号,读写使能信号,表示进行读写操作read_addr,write_addr:8比特位宽的信号,表示读写操作对应的地址write_data:4比特位宽的信号,在执行写操作时写入RAM的数据
输出描述:
read_data:4比特位宽的信号,在执行读操作时从RAM中读出的数据
加载中...