FPGA从Xilinx的7系列学起(2)

1. 最基本的CLB
CLB是FPGA最最基本的单元,不能说是类似于质子和中子的概念,但也至少是原子和分子的概念了。如果是最根本的单元都无法能够很好的理解,那么其实很多FPGA的原理还是停留在一个写写代码,调调时序的小工程师的级别。我想,这应该不是我们所有年轻人的一个追求。

1.1 CLB的初探
首先CLB的最基本资源分为两种,一种是实现组合逻辑资源功能的,一般称为LUT。XILINX的LUT是6输入查找表。一种是Flip-flop,也就是经常听课大家听说的FF,我就觉得这个FF就是寄存器。

我上面的那个图很经典。大家可以看到,一个CLB就是分为两个Slice。Slice通过Matrix Switch(我很想给他起个中文名字,但是有时候我觉得这个中文名字怎么都不太好表达这个意思,就比方,“忽悠”这个中国词语,就很难找到英文和他对应)和其他的Slice链接到一起。
同时又有进位链通过垂直方向和它上面的Slice连接到了一起。如果这个进位链能够很好的使用,能够节省不少的资源。这个地方就记着有这么个概念就行。

又是一个很经典的图。既然我们知道了CLB的内部的一些东西,那么CLB又是怎么相连的呢?这个问题通过我们的经典图形,很清晰的表现出来。CLB是成对的对称的连接在了一起。这样布局的最大好处是什么呢?

首先是增加了芯片的资源数量,同时通过通过共享时钟走线节省了很多资源。这个一个增加一个减少都是帮助大家能够用FPGA的时候能够获得最大的资源享受。也算是花小钱办大事。(这个涉及到了硅片的概念,就不展开去描述了。和大家的设计需求无关。)

另外这种分布的好处和大家相关的好处,大家觉出来是什么了么?这个最大的好处是可以让大家共享一些资源,增加大家布局的时候的资源,这样更容易实现自己的设计。

1.2 CLB与其他资源的互联

CLB不仅仅是和其他资源相连,那么又如何和其他资源相连呢?一样,和CLB之间相连一样,通过Matrix Switch链接到一起。所有资源布线资源都是垂直,水平或者对角线的方向连在了一起。但是各个方向有不同的跨度。
水平方向上的跨度支持:1,2,4,12。
垂直方向上的跨度支持:1,2,16,18。
对角线方向上的跨度支持:1,2,16。

相比Virtex-6来说,垂直方向和对角线方向上的跨度已经做了很大的改进,跨度由原理Virtex-6的4变成了16,Long型有原来的12变成了18。长度的变化也有助于显着提高布通率。不过,布线资源的使用是由工具基于大家的时序约束自我进行的,也就是大家不用记住这些跨度的数量,因为到时候工具会根据你自己需要会自动进行相关布局布线的。

很多东西并不一定需要大家记住,只是大家再选择FPGA的时候做一个参考。因为我们肯定希望花最少的精力设计出一个最牛的设计。然后看着自己的设计,喝杯茶,笑到哭。

原文链接

本光盘是《Xilinx FPGA开发实用教程(第2版)》一书的配书光盘,内容包括了书中第2章、第4章、第6章到第10章所有设计案例的完整工程文件。 本书由徐文波 田耘 编著 清华大学出版社出版 2012年7月第二版 压缩包大小23.6兆,解压后大小为99.6兆,占用空间106兆 本光盘根目录下有7个文件夹,文件夹的内容和含义说明如下: 1. chapt2文件夹中的内容为书中第2章完整的工程文件,包括2个子文件夹: (1) exp2_29:例2-29对应的文件; (2) exp2_30:例2-30对应的文件。 2. chapt4文件夹中的内容为书中第4章完整的工程文件,包括4个子文件夹: (1) exp4_1:例4-1对应的文件; (2) exp4_2:例4-2对应的文件; (3) exp4_6:例4-6对应的文件; (4) exp4_7:例4-7对应的文件。 3. chapt6文件夹中的内容为书中第6章完整的工程文件,包括10个子文件夹: (1) exp6_1:例6-1对应的文件; (2) exp6_2:例6-2对应的文件; (3) exp6_6:例6-6对应的文件; (4) exp6_8:例6-8对应的文件; (5) exp6_8_matlab:例6-8对应的matlab文件; (6) exp6_9:例6-9对应的文件; (7) exp6_12:例6-12对应的文件; (8) exp6_13:例6-13对应的文件; (9) exp6_18:例6-18对应的文件; (10) exp6_Uart:UART接口开发实例。 4. chapt7文件夹中的内容为书中第7章完整的工程文件,包括2个子文件夹: (1) exp_sdk_C_code:包括4个子文件夹: led_cpp:LED代码; uart_cpp:串口代码; intc_uart:中断和串口联合的代码; timer_intc:定时器和中断联合的代码。 (2) exp7_2:例7-2对应的文件。 5. chapt8文件夹中的内容为书中第8章完整的工程文件,包括6个子文件夹: (1) exp8_1:例8-1对应的文件; (2) exp8_2:例8-2对应的文件; (3) exp8_3:例8-3对应的文件; (4) exp8_4:例8-4对应的文件; (5) exp8_5:例8-5对应的文件; (6) exp8_hwcosim:硬件协仿真的例子。 6. chapt9文件夹中的内容为书中第9章完整的工程文件,包括5个子文件夹: (1) exp9_1:例9-1对应的文件; (2) exp9_2:例9-2对应的文件; (3) exp9_3:例9-3对应的文件; (4) exp9_4:例9-4对应的文件; (5) exp9_5:例9-5对应的文件。 7. chapt10文件夹中的内容为书中第10章完整的工程文件,包括1个子文件夹: (1) exp10_1:例10-1对应的文件; (2) xapp869:Xilinx PCI-E参考文档。 二、运行环境 本光盘的所有程序在以下环境调试通过: (1)Windows XP; (2)Xilinx ISE Design Suite 13.2 for windows; 更详细的信息可以参考本教材中实验部分的相关说明。 三、注意事项 (1)运行这些程序前请详细阅读本教程中相关实验部分说明; (2)部分实验清理了综合与实现所产生的相关文件以节省空间,读者重新运行即可。 (3)在使用光盘的程序时,请将程序拷贝到硬盘上,并去除文件的只读属性; (4)需要说明的是,当在本地电脑上运行例子时,根据例子所运行的目录,对例子中的一些目录路径进行适当的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值