原创 FPGA实践笔记(五)— FPGA组成元件之CLB Slice L基本原理

2012-12-18 15:31 8379 8 10 分类: FPGA/CPLD 文集: FPGA实践笔记

    笔者用Xilinx FPGA比较久,现在以Xilinx FPGA Virtex 6为例介绍一下FPGA中的重要组成部件CLB(Configurable Logic Block),ALTERA的FPGA组成结构跟此大同小异,只是命名不同而已。

如下图所示,Virtex 6 SXT475 1759 FPGA的整个芯片的布局如下:

1.jpg

    如上图所示,红色的竖直条状物为Block RAM资源,有关Block RAM资源将会在以后的博文中有所讲述。绿色的竖直条状物为DSP48资源。有关DSP 48资源将会在以后博文有所讲述。最左边的条状物为IOB资源,直接相连到管脚,中间的条状物也为IOB,连接到FPGA管脚,另外中间分布着MMCM(时钟资源),最右边的管脚则为高速SerDes(串行/解串高速)管脚。在各条状物中间的黑色格状区域里则为最基本的逻辑资源: CLB。

    一个CLB由两个SLICE组成。Slice又分为Slice M和Slice L。其中Slice M是指该Slice里面的LUT也可以作为分布式RAM来使用(Distribute RAM),而Slice L里的LUT则只能作为实现逻辑功能的查找表来使用。我们先看一下Slice L的结构:

  

2.jpg

 

 

 

    粗略的看一下,这个逻辑框图还是相当的复杂的。不要紧,一步一步来。首先要抓住关键的东西。最左边的4个方框就是LUT,也就是说一个Slice L里面有4个LUT,而且该LUT还是6输入(A6:A1)(V6属于高端器件),2输出的查找表。该LUT有两种方式,一种是如果要实现6个输入的逻辑功能,那么只有O6输出能被用到,如果要实现5个输入的逻辑功能,那么一个LUT就可以实现任意5输入(其中一个输入被置高),一输出的组合逻辑两个,只要这两个组合逻辑共用输入。也就是说此时O5和O6都可以用上。再看右边的8个方框,这些都是FF(Flip-Flop器件,即触发器)。从触发器的框图里我们可以看到有INIT1,INIT0,SRHI,SRLO,SR,D,CE,CK这些管脚,这些是做什么用的呢?INITx其实是FPGA被配置后该寄存器的初始状态,该属性为INIT0则表示FPGA配置完后该寄存器初始状态为0,否则则为1。SRHI,SRLO则是复位的时候的状态,如果是SRHI属性的话,则进行RESET的时候,该寄存器输出为1,如果是SRLO的话,该寄存器在被复位时则输出为0。在V6器件中,RESET信号是高有效。SR就是复位信号,D则是D触发器的输入信号,CK则是时钟信号,CE则是CLOCK ENABLE的意思,表示该寄存器在CE无效的情况下不会翻转,降低系统运行时的功耗。至于LUT和FF/Latch之间很多复杂的多路选择器(MUX)和连线,则相当于Slice内部和外部输入之间的连线路径,在FPGA代码被综合后,这些连线路径怎么走就是由多路选择器来决定。(注:里面有F7A,F7B,F8 MUX可作为设计中的MUX逻辑资源使用,以后会进一步的解释),另外MUX CY可作为进位链到相邻的Slice时的布线选择用(以后会作进一步的解释)。

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户422235 2014-7-26 23:50

赞个n.n

残弈悟恩 2013-7-26 02:06

呵呵,没有吧,兄弟。。。

用户618471 2013-7-24 19:39

wow,感觉楼主还是 很 威武啊 ~

用户403664 2012-12-18 15:38

终于看到楼主有配图了啊
相关推荐阅读
用户1501359 2015-06-15 00:19
小弟编写的FPGA设计经验总结感悟书籍:FPGA深度解析 准备上架销售,北航出版社出版
全书目录如下,从第九章开始为笔者对FPGA常用模块设计思想的深度阐述和解析,为作者从事逻辑设计之经验感悟与总结,希望大家多多指教 目录   第1章FPGA简介   1.1什么是...
用户1501359 2013-01-27 18:56
DSP硬件实现的优化(八)— saturation, rounding的原理和实现
    在数字信号处理系统中,大部分情况下数据都是用定点表示。但是由于DSP经常使用到乘法器,那么两个定点数相乘后的数的位宽将是两个操作数位宽之和。比如说A*B,A的位宽是(1,7,4),B的位宽是(...
用户1501359 2013-01-24 21:26
DSP硬件实现的优化(七)—硬件实现中的定点表示
    用硬件实现DSP基本上是基于定点的算法。什么叫做定 点呢?定点的意思就是小数点的位置是确定的,这是跟浮 点不同的地方。比如说,有一种常用的表示定点的方法, 比如说一个数的定点方...
用户1501359 2013-01-21 22:27
DSP硬件实现的优化(六)—多个M比特有符号数做累加运算时符号位的优化处理方法
    在通信系统中,经常会遇到多个数进行累加的情况。一般情况下,在更好的掌控时序的目标下,我们会选择用基于CSA结构的Wallace tree进行加法树压缩。基本上,参加运算的数都是有符号数,在这种...
用户1501359 2013-01-19 22:54
DSP硬件实现的优化(五)—输入数据带缺口时反馈环路的优化
    在通信数字信号处理中,经常会遇到带有反馈环路的设计。例如数字时钟恢复或者自适应均衡滤波器。该类设计的基础都是对输入数据进行滤波或者均衡,调相,而进行上述计算所用到的系数来自于该滤波器或者均...
用户1501359 2013-01-14 20:30
FPGA实践笔记(七)—verilog组合逻辑描述用assign或者always@(*)的区别和值得注意之处
    verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:     1. 被assign赋值的信号定义为wire型,被always@...
EE直播间
更多
我要评论
2
8
关闭 站长推荐上一条 /3 下一条