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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3434|回复: 5

[求助] 一个异或门可以使一个Slice实现 2bit全加操作?

[复制链接]
发表于 2019-4-11 09:02:49 | 显示全部楼层 |阅读模式

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

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

x
  看博客时看到以下一段话:Slice是Xilinx公司定义的基本逻辑单位,其内部结构如图1-4所示,一个Slice由两个4输入的函数、进位 逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可以使一个Slice实现 2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4输入函数发生 器用于实现4输入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个输入函数为6输入,可以实现6输入LUT或 64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度(原文链接:https://blog.csdn.net/Times_poem/article/details/51351997
293-260-slice-1.jpg
“一个异或门可以使一个Slice实现 2bit全加操作”这句话怎么理解?
如何实现2bit的全加器?

发表于 2019-4-11 10:18:07 | 显示全部楼层
本帖最后由 asic_service 于 2019-4-11 10:19 编辑

4-input LUT可以实现4bit输入的任何组合逻辑功能;
6-inputLUT可以实现6bit输入的任何组合逻辑功能;

你一个2bit的全加器,有5bit输入。可以用一个6-input LUT实现。至于4-input是否可以,你应该可以自己推断了。

回答完,发了数字IC设计课程链接:
推荐个数字IC设计深度入门课(12从业经验工程师主讲):
试听:https://ke.qq.com/course/379407?tuin=64ce5e2a
基本单元电路结构:https://ke.qq.com/course/379544?tuin=64ce5e2a
跨时钟域设计:https://ke.qq.com/course/386895?tuin=64ce5e2a
STA时序分析基础:https://ke.qq.com/course/390121?tuin=64ce5e2a

 楼主| 发表于 2019-4-12 09:16:03 | 显示全部楼层
我的理解:对于串行加法器我觉得不需要异或门,两个4输入的LUT,可以一个做低位全加器(三输入,两个加数的低位(X[0],Y[0]),低位进位C0),输出为低位和S[0]加高位进位C[1],另一个可以做高位全加器(三输入,两个加数的低位(X[1],Y[1],高位进位C[1],输出为高位和S[1]和更高位进位C[3].
发表于 2019-4-12 17:03:50 | 显示全部楼层
自己写个代码,用vivado综合一下就可以验证了。
 楼主| 发表于 2019-4-12 21:18:54 | 显示全部楼层
1.以下是1BIT全加器综合后的逻辑电路,可以看出使用的两个3输入的LUT(实际是6输入的LUT) ,每一个LUT的结果作为一个输出。    微信截图_20190412210526.png 2.以下是2BIT的超前进位加法器电路图,综合之前设置面积优先或者速度优先,综合的结构都是一样的,可以看出使用3个LUT
微信图片_20190412200921.png



3.至此我还没有理解一个异或门加一个SLICE(内含两个4输入LUT)怎么做到2BIT全加器!




 楼主| 发表于 2019-4-12 21:21:42 | 显示全部楼层
1.1BIT全加器的代码




  1. module Receiver(
  2. A,B,CI,SUM,CY);
  3. input A,B;
  4. input CI;
  5. output wire SUM;
  6. output wire CY;

  7. assign {CY,SUM} = A + B + CI;

  8. endmodule



复制代码

2.2BIT全加器的代码:




  1. module Receiver(
  2. A,B,CI,SUM,CY);
  3. input [1:0]A,B;
  4. input CI;
  5. output wire [1:0]SUM;
  6. output wire CY;

  7. assign {CY,SUM} = A + B + CI;

  8. endmodule



复制代码

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

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 11:28 , Processed in 0.019455 second(s), 8 queries , Gzip On, Redis On.

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