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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: shiyinjita

[求助] 什么时候用组合逻辑?什么时候用时序逻辑?迷糊中

[复制链接]
发表于 2017-7-11 16:54:39 | 显示全部楼层
组合逻辑的目的很简单,是为了完成逻辑运算。
而时序逻辑的使用,我觉得有三个出发点:
1.将组合逻辑链拆分
比如,要计算sum = a*b*c*d*e*f*g*h...
假如乘法器都是二输入,那么这条组合逻辑链就会很长,导致系统的关键路径变长,由此使得系统频率不得不降低

2.不同的组合逻辑链之间需要同步
举个例子,如AES加密算法,每一轮包括四种操作,字节替换、行移位、列混淆、轮密钥加,每一轮中的这四个操作都是纯组合逻辑。
那么能否这样做呢?能否将第一轮操作的结果直接再通过和第一轮一样的一个组合逻辑链(依次为字节替换、行移位、列混淆、轮密钥加)来进行一轮新的操作?
不可以!为什么?
因为每一轮的操作要用到轮密钥,轮密钥的更新也是通过一个组合逻辑链产生的?我们无法保证:轮密钥更新的组合逻辑链和轮操作的组合逻辑链二者的周期相同。也就是说,二者不是同步的。那么当需要进行轮操作的时刻,无法取到对应此轮的轮密钥(轮秘钥如果更新的更快,那么可能是下一轮的轮密钥了)!而时序逻辑可以让二者同步!
3.有些信息必须存起来以后使用
比如接收到某一条指令,要等待一定的时间再将指令码输出,这时可以将指令码存起来,存的过程就需要时序逻辑(DFF)

什么时候需要用时序逻辑,就看你是否有这几种需求
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-18 13:24 , Processed in 0.014186 second(s), 7 queries , Gzip On, Redis On.

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