Board logo

标题: 请教一个信号如何赋初值的问题 [打印本页]

作者: sunds99    时间: 2003-8-30 08:13

可利用复位来赋值.如下: library ieee; use ieee.std_logic_1164.all; --use ieee.std_logic_unsigned.all; --use ieee.std_logic_signed.all; entity example is port(qin:in std_logic; reset : in std_logic; qout ut std_logic); end example; architecture exam of example is signal workstate:std_logic :='0'; begin process(qin,reset,workstate) begin if(reset = '0') then workstate <= '0'; else case workstate is when '0'=>qout<='1'; when '1'=>qout<='0'; end case; workstate<=not workstate; end if; -- reset end process; end exam;
作者: erra168@sina.co    时间: 2003-8-31 15:55

这是一个很好的解决办法。也解决了我的d触发器问题,非常感谢sunds99。希望我们成为学习之路上的朋友,我的邮箱是:erra168@sina.com,有时间联系!!!
作者: hstaii@163.net    时间: 2003-8-31 16:01     标题: 请教一个信号如何赋初值的问题

下面是我用VHDL编的一个程序,在信号赋值判断时出现了错误,导致无信号输出。 如何给workstate这个信号赋上初值???? 程序如下: library ieee; use ieee.std_logic_1164.all; --use ieee.std_logic_unsigned.all; --use ieee.std_logic_signed.all; entity example is port(qin:in std_logic; qout ut std_logic); end example; architecture exam of example is signal workstate:std_logic :='0'; begin process(qin) begin case workstate is when '0'=>qout<='1'; when '1'=>qout<='0'; end case; workstate<=not workstate; end process; end exam; 是不是workstate信号没有被赋上初值?象这样的程序应该怎么改?谢谢!!
作者: erra168@sina.co    时间: 2003-8-31 16:01

sunds99,你好,如果加上一个reset输入信号,电路是不是就增加了一个输入管脚,比如在d触发器的实现上,不要求非要有reset信号。我的意思是,不增加任何输入信号,应该怎么做呢??不知道你有没有什么办法?




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