数字IC设计系列

您所在的位置:网站首页 算命的收钱违法吗 数字IC设计系列

数字IC设计系列

2023-10-24 08:20| 来源: 网络整理| 查看: 265

目录​​​​​​​

一、单端口RAM原理及实现

1.1、原理

1.2、Verilog实现

1.3、优缺点分析

2、双端口RAM原理及实现

2.1、原理

2.2、Verilog实现

 2.3、优缺点分析

3、 同步FIFO

3.1、原理

3.2、Verilog实现(1)

3.3、Verilog实现(2)

3.4、优缺点分析

利用factor来记数当前FIFO中的数据量来判断空满

利用位置指针多加1bit来判断空满

4、异步FIFO

4.1、原理

4.2、格雷码

4.3、Verilog代码实现

4.4 、优缺点分析

总结

一、单端口RAM原理及实现 1.1、原理

在内存空间中开辟出一段固定大小的内存用于存储数据,每一个数据所占的bit位称之为位宽,这段内存空间中数据的总数称之为深度。例如reg [7:0] mem [255:0],这段内存空间中每一个数据的位宽为8bit,深度为256。

在这段内存空间中,每个数据分配给一个地址,如上例深度为256,可以用8bit的地址来表示所有的数据,0000_0000则表示第0个数据,1111_1111则表示第255个数据。

外部信号通过固定的时钟节拍,通过使能信号及地址信号来读取RAM中特定位置的数据或者向RAM中特定位置写入数据。

1.2、Verilog实现 module Single_Port_RAM ( //system input input clk ,input rst_n //data input ,input enable_wr //allow the user to read or write the data //when enable_wr == 0,it means to write the data from RAM //when enable_wr == 1,it means to read the data from RAM ,input [7:0] data_write ,input [7:0] address //data output ,output reg [7:0] data_read ); //setup RAM which has the width of 8 and depth of 256 localparam mem_width = 7; localparam mem_depth = 255; reg [mem_width:0] mem [mem_depth:0]; always @ (posedge clk or negedge rst_n) begin if (!rst_n) data_read


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3