作者:huxiaokai2005
在《Xilinx 7系列FPGA使用之CLB探索》中研究了CLB的结构,并主要讲述了SLICEM扩展移位寄存器的使用。另外SLICEM还可扩展成分布式RAM,此处就补上对分布式RAM使用的说明。
首先概括一下1个SLICEM可扩展的分布式RAM的所有形式:
• Single-Port 32 x 1-bit RAM
• Dual-Port 32 x 1-bit RAM
• Quad-Port 32 x 2-bit RAM
• Simple Dual-Port 32 x 6-bit RAM
• Single-Port 64 x 1-bit RAM
• Dual-Port 64 x 1-bit RAM
• Quad-Port 64 x 1-bit RAM
• Simple Dual-Port 64 x 3-bit RAM
• Single-Port 128 x 1-bit RAM
• Dual-Port 128 x 1-bit RAM
与移位寄存器扩展类似,分布式RAM也是以LUT作为其存储单元,如图1所示为SLICEM中的4个LUT,每个LUT都有如下几个端口:
地址输入:A6:A1 W6:W1
数据输入:DI1 DI2
时钟输入:CK
写使能 :WEN
数据输出:O6 O5
移位输出:MC31 (在此处不使用)
图1
仔细研究可发现,D LUT和A、B、C
LUT有所区别,其地址输入都由D6:1驱动,而其它LUT的地址输入除了W6:1统一由D6:1驱动,A6:1分别由A6:1、B6:1、C6:1驱
动,因此D LUT只能作为单端口RAM使用,而A、B、C LUT除了能作为单端口RAM使用之外,还能作为双端口RAM。如图2所示,以Simple
Dual-Port 32 x 6-bit
RAM为例,深度为32-bit,每个LUT都有6输入,将地址最高位置1,使两个输出O6、O5有效,剩下5根地址线可得到32-bit深度;数据宽度
6-bit,由A、B、C LUT 的2*3个输出组成。
图2
与移位寄存器类似,XST综合器能自动将规范的代码综合成分布式RAM,如以下代码,实现了Simple Dual-Port 32 x 6-bit RAM的结构,综合出的结构如图3所示
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网