在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 13197|回复: 12

[讨论] spartan6和spartan3的一点简单区别

[复制链接]
发表于 2011-9-18 18:48:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
前两天在论坛上看到了一个兄弟用门级电路实现 A[0] + A[1] +。。。。。+A[255],也就是256个输入相加,
  为了测试的方便,我采用了,总共采用了12个 输入相加

在spartan3下,
         第一种方法是采用RTL级别,采用最简单的方法,也就是采用了11个加法器树形相加,这时候消耗的查找表为24个,查看布局布线的结构,发现走的是
LUT-MUX-DFF的路线。其中每个查找表中DFF用了两个,输出2位

    第二种方法是采用门级电路的形式,通过门级走进位链,采用的原语为 MUXCY 和 XORCY,在这里注意的是XORCY (如果采用名称定为,那么要把进位放在输出后面,XOR的输出放在最后),这样约束后走的就是进位链了 。查看综合消耗的查找表为18个 。其中查找表中DFF用了2个,输出为2+ 1(进位链) ,

  通过以上试验可以推断,在SPARTAN3下,做加法器的话,最好走进位链。用RTL级别约束走进位链我不会,哪位兄弟会的话,可以告诉我一下,谢谢了 。

在spartan6下 :

  我采用了A[0] + A[1] + ... +A[11]结构 。
第一种方法还是RTL级别 ,消耗查找表为12个,其中关于加法的查找表,用的最大DFF为4个。
第二种方法还是采用门级 MUXCY+XORCY+FiMUX 方式,在这里没有采用carry4原语,这是因为采用carry4原语做这个太复杂了,查看消耗的查找表为 24 个,布局布线后,查看加法计算模块中slice内结果,发现每个slice中只用了一个DFF,

通过上面两个试验,初步了解了spartan3和spartan6的不同,表现在以下方面 :
1: spartan3为4输入查找表,有2个DFF,spartan6为6输入查找表,有4个DFF,
其中进位链在 spartan3中是完全进位链形式,在spartan6中采用的是CRRY4封装的形式 。
2: 在spartan3中采用进位链,11个加法器消耗了11×2个slice,因为每个slice只有2个dff,而采用进位链,可以理解为3个输出,这样就减少了逻辑。而在spartan6中,因为每个slice有4个DFF,也就是11个加法器消耗了11个slice,而采用进位链的slice中只能使用一个DFF,这是因为进位链是连接在一起的,这样就浪费了3个DFF,所以导致了消耗的资源是RTL级别的2倍 。
因此,如果是加法,那么在spartan3中,如果可能那么约束走进位链(SLICE
-xor-MUXCY-XORCY-dff)的方式 ,在spartan6中走(SLICE-MUX-DFF) 方式.
  如果是乘法,那么在spartan3和spartan6中都尽量走进位链的方式。
不知道大家的想法是什么? 可以说一下啊?
发表于 2014-12-3 17:47:15 | 显示全部楼层
工具还不够智能啊
回复 支持 反对

使用道具 举报

发表于 2014-12-3 15:29:03 | 显示全部楼层
我决定好好做下加法的RTL级和门级的区别
回复 支持 反对

使用道具 举报

发表于 2014-11-10 21:33:55 | 显示全部楼层
虽然没用过,但先顶一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-21 17:30:46 | 显示全部楼层
回复 9# daizi0703

我想到一个好方法,我今晚尝试一下
回复 支持 反对

使用道具 举报

发表于 2011-11-21 16:23:53 | 显示全部楼层
回复 4# 7598865


   如果时序充裕的话,可以考虑用速度换面积,空间并行到时间串行,把256个并行输入转成一个串行输出(大约140多个slice),再加上一个带反馈的一位加法器即可。
回复 支持 反对

使用道具 举报

发表于 2011-11-19 22:42:35 | 显示全部楼层
虽然没用过,但先顶一下
回复 支持 反对

使用道具 举报

发表于 2011-11-19 22:01:32 | 显示全部楼层
大师傅,厉害。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-9-28 07:31:20 | 显示全部楼层
回复 5# falloutmx


    是的,但是程序里面有很多的计数器和加法器或者比较器,如果把他们都约束到进位链上去,不就可以省比较多的资源了吗?
我看手册上写的约束进位链用的是USE_CARRY_CHAIN,不过还不会用,目前正在考虑中
回复 支持 反对

使用道具 举报

发表于 2011-9-20 10:28:27 | 显示全部楼层
从最小设计来最优化资源占用不见得对全局有大的影响,因为设计里不可能都是加法器。跟xilinx的人聊过,他们底层结构改动都是基于统计的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-14 11:21 , Processed in 0.016835 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表