新手求达人解释一EDA程序

[复制链接]
 楼主| wenqiang28 发表于 2008-6-19 20:46 | 显示全部楼层 |阅读模式
根据输入确定输出值<br />&nbsp;&nbsp;&nbsp;&nbsp;library&nbsp;ieee;<br />&nbsp;&nbsp;&nbsp;&nbsp;use&nbsp;ieee.std_logic_1164.all;<br />&nbsp;&nbsp;&nbsp;&nbsp;entity&nbsp;mux41&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port(s4,s3,s2,s1:&nbsp;in&nbsp;std_logic;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z4,z3,z2,z1:&nbsp;out&nbsp;std_logic);<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;mux41;<br />&nbsp;&nbsp;&nbsp;&nbsp;architecture&nbsp;art&nbsp;of&nbsp;mux41&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;process(s4,&nbsp;s3,&nbsp;s2,&nbsp;s1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;variable&nbsp;sel:&nbsp;integer&nbsp;range&nbsp;0to15;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sel:=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s1=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+1;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s2=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+2;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s3=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+4;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s4=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+8;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z1&lt=‘0’;&nbsp;&nbsp;z2&lt=‘0’;&nbsp;z3&lt=‘0’;&nbsp;&nbsp;z4&lt=‘0’;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;&nbsp;sel&nbsp;&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;&nbsp;0&nbsp;=&gtz1&lt=‘1’;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;&nbsp;1|3&nbsp;=&gtz2&lt=‘1’;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;&nbsp;4&nbsp;to&nbsp;7|2&nbsp;=&gtz3&lt=‘1’;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;&nbsp;others&nbsp;=&gtz4&lt=‘1’;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;case;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;process;<br />end&nbsp;art;&nbsp;<br />按要求应该是根据四位输入码来确定四位输入中哪一位输出为1,但这程序貌似不是这样的,还有那case语句中1,3,4,7,2.。。。。是怎么确定的哦??<br />谢谢了~~~
dzcn_hh 发表于 2008-6-26 10:04 | 显示全部楼层

飘过,学的是VERILOG

  
yuyuedl 发表于 2008-8-4 09:13 | 显示全部楼层

1

这是一个组合电路,感觉描述的风格不是很好。<br />另外,组合电路不用时钟的
xiubing65 发表于 2008-8-19 11:09 | 显示全部楼层

同志哥

先看书,多看书,看懂书!<br />完了就自然会明白的,别什么都不看就跑来问...
xwj 发表于 2008-8-20 09:30 | 显示全部楼层

是啊,简单的组合逻辑直接按真值表译码即可

  
putiandiao 发表于 2008-8-20 21:55 | 显示全部楼层

这个程序不好!

有点繁琐!!
haoren 发表于 2008-8-22 23:27 | 显示全部楼层

真服你了

我觉得你应该好好的想想<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s1=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+1;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s2=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+2;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s3=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+4;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;s4=‘1’&nbsp;then&nbsp;&nbsp;sel:=sel+8;&nbsp;end&nbsp;if;<br />这个你能想清它的硬件构架吗?<br />强烈建议要认真把VHDL语言看一下!<br /><br />
dynameo 发表于 2008-8-23 17:17 | 显示全部楼层

一塌糊涂

&nbsp;写得一塌糊涂。<br /><br />&nbsp;&nbsp;&nbsp;编程思想有问题,格式没掌握好。<br /><br />&nbsp;&nbsp;&nbsp;组合逻辑设计和时序逻辑设计区别他就没学好!&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;其实完全可以用并行语句时序它,不用放到进程里面去检查各个输入的变量确定输出!<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部