RAM一般分为3种类型:
1、真双端口RAM(True Dual-Port ram,TDP),这两个端口都可以独立地对RAM 进行读/写;
2、伪双端口RAM(Simple Dual-Port ram,SDP)。这两个端口,一个只能读,另一个只能写;
3、单端口RAM(Single Port Ram,SP),只有一个端口,读/写只能通过这一个端口来进行。
例化:
当我们完成一个比较完整的系统的时候,通常需要编写一个Testbench来验证自己的设计的功能能否满足设计要求。在这个系统中通常会有一个top模块来连接那些小的模块,verilog通过实例化的方式来完成这些子模块和顶层模块的连接,然后顶层模块可以由此来调用各个子模块。
调用模块的端口一般有两种方式,一种是位置关联,一种是名字关联。
位置关联(位置对应):
名字关联(前面写的是子模块内的端口名称,括号里面的是顶层模块里面的端口名称):
Testbench:
相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理。
一般TestBench需要包含这些部分:实例化待测试设计、使用测试向量激励设计、将结果输出到终端或波形窗口便于可视化观察、比较实际结果和预期结果。