Board logo

标题: [求助]vhdl中怎样定义输出口维持原状不变? [打印本页]

作者: anny1209    时间: 2006-3-10 10:37     标题: [求助]vhdl中怎样定义输出口维持原状不变?

我的意思是说,比如我定义只有5个输出口,用三位元表示:000代表输出口1,001代表输出口2,010代表输出口3
,011代表输出口4,100代表输出口5。而其他的代码101,110,111均没有意义,当输出口为101,110,111时原来定义的输出口均维持原状不变,这样,再不定义中间信号的情况下怎么做呢?

作者: stone133    时间: 2006-3-10 10:44

使用 case
最后加入default语句,把你没有意义的代码(101,110,111)写到default中,在这几个状态中加入类似a<=a的语句
作者: anny1209    时间: 2006-3-10 11:27

在vhdl中我还没有用过default语句呢,怎麽用啊?a<=a的话,那a不就相当于是定义了中间信号变量了吗?我是说不用中间信号的变量怎麽描述啊?
作者: anny1209    时间: 2006-3-10 11:35

case q(2 downto 0) is
when "000"=>out1<=datain;
when "001"=>out2<=datain;
when "010"=>out3<=datain;
when "011"=>out4<=datain;
when "100"=>out5<=datain;
end case;
因为其他的码元101,110,111没有变化,所以当q为101,110,111时,其他的已经定义好的没有变化,我该怎麽做呢?谢谢!

作者: stone133    时间: 2006-3-10 12:09

case (<3-bit select>) is
when "000" =>
;
when "001" =>
;
when "010" =>
;
when "011" =>
;
when "100" =>
;
when "101" =>
;
when "110" =>
;
when "111" =>
;
when others =>
out<=out;
end case;
你的out是几位的?根据你的具体情况修改一下,我把你的out1~out5认为是一组了
但我有几点不明白你的设计:001的时候你需要out1,out3,out4,out5为什么状态呢?保持原态还是什么?
作者: anny1209    时间: 2006-3-10 17:39

谢谢版主啊,我下个星期再试吧,下班了!
001的时候要输出口out2为datain

作者: anny1209    时间: 2006-3-13 15:06

問題已經解決,只要將when others=〉NULL即可
謝謝討論
作者: stone133    时间: 2006-3-13 18:04

开发软件一般都带有模板,在你忘记某些写法的时候,调用模板是个不错的办法,书写规则也能捎带学习以下
作者: anny1209    时间: 2006-3-14 10:34

呵呵!谢谢




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0