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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4342|回复: 10

讨论一个题目~

[复制链接]
发表于 2009-10-29 21:43:47 | 显示全部楼层 |阅读模式

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

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

x
一个8bits输入,输出是这8个bit中从MSB开始连续的0的个数。
例如‘b0001xxxx,输出3,’b01xxxxxx,输出1。。
逻辑电路应该怎么设计?
代码很好写,但是要画个电路图该怎么整呢??
发表于 2009-10-29 22:11:54 | 显示全部楼层
最简单的方法是写好代码综合一下
 楼主| 发表于 2009-10-29 22:23:27 | 显示全部楼层
发表于 2009-10-29 22:51:44 | 显示全部楼层
用状态机比较合适
 楼主| 发表于 2009-10-29 23:36:32 | 显示全部楼层


用状态机比较合适
wang_3130 发表于 2009-10-29 22:51


并行输入的,要求用组合逻辑。。
发表于 2009-10-30 00:36:06 | 显示全部楼层
画了个图. 只有5BIT. 没画完. OUT(0 to 5) 连接一个 5bits to 3BIT输出编码器就可以了. 对你的8BITS要求 就是用经典的8 TO 3编码器.
思路是把高位开始的连续0经过第一及AND后全变为1. 而其他的BIT为0.
第二及AND把最低位的1(第一及生成的)保留. 其余1 全转为 0.
得到的那个还有1的那位的位号就是 连续0的个数.
最后接个8 to 3 编码器就好了. 我没画.这里
PS:图我自己没验证. 而且对于时序没有考虑.
Unnamed QQ Screenshot.jpg
发表于 2009-10-30 00:37:18 | 显示全部楼层
三角是反相器
发表于 2009-11-1 22:17:34 | 显示全部楼层
这个图  还没化简,呵呵
lead0.GIF
发表于 2009-11-1 22:43:57 | 显示全部楼层
其实代码写好了 逻辑电路也就出来了
 楼主| 发表于 2009-11-1 22:51:30 | 显示全部楼层
这样的问题似乎是全0和全1的输入都会输出全0,无法区分。
所以到你的第一级and的地方,即把开始连续的0变成1,后面都变成0,然后把输出的每个bit加起来就得到开头连续0的个数了。
写成公式的话:
out5= ~in5
out4= out5 & (~in4)
out3= (out5&out4) & (~in3)
out2= (out5&out4&out3) & (~in2)
out1= (out5&out4&out3&out2) & (~in1)
out1,2,3,4,5表示输出的bit1-5
in1,2,3,4,5表示输入的bit1-5
然后把out1-5累加。。
这样应该可以把


画了个图. 只有5BIT. 没画完. OUT(0 to 5) 连接一个 5bits to 3BIT输出编码器就可以了. 对你的8BITS要求 就是用经典的8 TO 3编码器.
思路是把高位开始的连续0经过第一及AND后全变为1. 而其他的BIT为0.
第二及AND把 ...
fybh911 发表于 2009-10-30 00:36

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

本版积分规则

关闭

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


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

GMT+8, 2024-11-29 05:40 , Processed in 0.045541 second(s), 9 queries , Gzip On, Redis On.

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