FPGA 及数字电路基础小知识(四)

在Xilinx FPGA中,块RAM是按照列来排列的,这样保证了每个CLB单元周围都有比较接近的块RAM用于存储和交换数据。与块RAM接近的是硬核乘加单元,这样不仅有利于提高乘法的运算速度,还能形成微处理器的雏形,在数字信号处理领域非常实用。例如,在Spartan 3E系列芯片中,块RAM分布于整个芯片的边缘,其外部一般有两列CLB,如图4-120所示,可直接对输入数据进行大规模缓存以及数据同步操作,便于实现各种逻辑操作。
块RAM几乎是FPGA器件中除了逻辑资源之外用得最多的功能块,Xilinx的主流 FPGA芯片内部都集成了数量不等的块RAM硬核资源,速度可以达到数百兆赫兹,不会占用额外的CLB资源,而且可以在ISE环境的IP核生成器中灵活地对RAM进行配置,构成单端口RAM、简单双口RAM、真正双口RAM、ROM(在RAM中存入初值)和FIFO等应用模式,如图4-121所示。同时,还可以将多个块RAM通过同步端口连接起来构成容量更大的块RAM。
单口RAM,只有一个时钟源clk,WE为写使能信号,en为单口RAM使能信号,SSR为清零信号,ADDR为地址信号,D1和D0分别为写入和读出数据信号
单端口RAM模式支持非同时的读写操作。同时每个块RAM可以被分为两部分,分别实现两个独立的单端口RAM。需要注意的是,当要实现两个独立的单端口RAM模块时,首先要保证每个模块所占用的存储空间小于块RAM存储空间的1/2。在单端口RAM配置中,输出只在 read-during-write模式有效,即只有在写操作有效时,写入到RAM的数据才能被读出。当输出寄存器被旁路时,新数据在其被写入时的时钟上升沿有效。

猜你喜欢

转载自blog.csdn.net/stanary/article/details/80960398
今日推荐