在MAX+PLUSⅡ中有几个
功能单元描述库。prim逻辑元库,包括基本逻辑单元
电路,如与、或、非门,触发器、输入、
输出引脚等;mf宏功能库,包括TTL
数字逻辑单元如74系列芯片;而下文将要详细介绍的参数化双端口RAM
模块所在的参数化模块库(mega-lpm)中,包括各种参数化运算模块(加、减、乘、除)、参数化存储模块(单、双端口RAM、ROM、FIFO等)以及参数化计数器、比较器模块等等。库中的这些
元件功能逻辑描述经过了优化验证,是数字电路
设计中的极好
选择。
mega-lpm库中共有五种参数化双端口RAM模块:ALTDPRAM、LPM_RAM_DP、CSDPRAM、LPM_RAM_DQ和LPM_RAM_IO。其中ALTDPRAM和LPM_RAM_DP模块读写有两套
总线,读和写有各自的
时钟线、地址总线、数据总线和使能端,可同时进行读写操作。除此之外,ALTDPRAM模块还有一个全局清零端口。CSDPRAM模块则有a、b两组写端时钟线、地址总线、数据总线和使能端,可同时对RAM进行写操作,但对RAM读、写只能分时进行。LPM_RAM_DQ模块相对简单,读与写共用一组地址总线,有各自的数据线和时钟线。LPM_RAM_IO模块只有一组地址总线和数据总线。
mega-1pm函数库中的双端口RAM模块全是参数化调用,这为设计带来极大的方便。通过对各种参数的取舍、参数
设置和组合,再结合读写控制逻辑就可以构造出设计需要的存储器模块。双端口RAM常见的
应用模式主要有以下两种:
1.存储器映像方式。该方式可以随意对存储器的任何单元进行读写操作。其主要应用于多CPU的共享数据存储、数据传送等。该方式中,读、写控制线、地址总线和数据总线有两套。根据两端口之间数据的传送方向为单向或双向,又有单向数据总线和双向数据总线之分。
2.顺序写方式。该方式对RAM的写操作只能顺序写入。这种情况适用于对象特性与时间紧密相关或传送数据与顺序密切相关的场合,如
文件传送、时序过程、波形分析等。根据写控制逻辑的不同,可对RAM进行循环写入或一次写入方式。该方式下的读操作可以是存储器映像读或顺序读,前一种有较大的灵活性,而后一种则类似于FIFO形式。
在读、写使用独立的地址总线和数据总线时,可以同时对RAM不同单元进行读写操作。根据不同控制逻辑的要求,对读写时钟、时钟使能端口可以适时设置,以满足控制需要。