关于VHDL进程的问题
关于VHDL进程的问题entity Mux_4 is
port(input1,input2,input3,input4:in std_logic;
mux_1,mux_2: in std_logic;
mux_out
ut std_logic);
end Mux_4;
architecture Behavioral of Mux_4 is
signal sel : std_logic_vector(1 downto 0);
begin
process (mux_1,mux_2,input1,input2,input3,input4)
begin
sel <= mux_1 & mux_2;
case sel is
when "00" => mux_out <= input1;
when "01" => mux_out <= input2;
when "10" => mux_out <= input3;
when "11" => mux_out <= input4;
when others => mux_out <= input1;
end case;
end process;
end Behavioral;
大家帮忙看看这段MUX4的代码,其输出mux_out的值应该是什么呢??
仿真的时候,mux_out值是前一个时钟周期的值,
是不是因为进程语句,信号值在下次执行进程时才被更新,所以我的输出比输入延了一个周期呢???
这种问题该怎么处理啊,在时序上,请高手指教!!!!!!!! http://bbs.vibesic.com/images/smilies/default/sad.gif
<br>
高手帮帮我,大家看到了吗那个mux_out 信号输出是不是比input信号延了一拍呢,是我的测试写错了还是就是这样的啊<br>
可是这明明是组合逻辑啊 ,实在是想不通啊 !!!!!!! 看到了!你的是组合逻辑电路!你用进程终合都是个全组合逻辑的没有错!<br>
但是你的选择信号到SEL选择的时候就有段时间!在选择信号的时候也是门也有时间!你选的时间周期太短了!你用功能仿真就不会了 那我的这个设计该怎么办呢??<br>
这只是其中的一个基本单元,我该怎么修改呢??<br>
我不知道该怎么办了???<br>
就是简单一个多路开关,时序不对
http://bbs.vibesic.com/images/smilies/default/sad.gif 原帖由 huanhua1986 于 2006-10-2 20:56 发表<br>
看到了!你的是组合逻辑电路!你用进程终合都是个全组合逻辑的没有错!<br>
但是你的选择信号到SEL选择的时候就有段时间!在选择信号的时候也是门也有时间!你选的时间周期太短了!你用功能仿真就不会了 我修改了仿真的周期也不行,输出波形没变化<br>
不知道你对sel信号处理有什么建议没呢???<br>
谢谢哈!!!!!! 我已经晕了!!<br>
谁能解释一下:<br>
这么多种仿真都是怎么回事啊??<br>
1.前仿真<br>
2.后仿真<br>
3.行为仿真<br>
4.门级仿真 <br>
5.时序仿真<br>
6.功能仿真<br>
好多概念啊,我都弄不明白了啊<br>
http://bbs.vibesic.com/images/smilies/default/sad.gif
<br>
<br>
高手帮帮忙吧!!!!!!!!!! 原帖由 huanhua1986 于 2006-10-2 20:56 发表<br>
看到了!你的是组合逻辑电路!你用进程终合都是个全组合逻辑的没有错!<br>
但是你的选择信号到SEL选择的时候就有段时间!在选择信号的时候也是门也有时间!你选的时间周期太短了!你用功能仿真就不会了 呵呵,谢谢你啊<br>
我修改了sel在进程语句外,执行仿真就没问题了,但是我现在执行的不叫功能仿真吗??<br>
就是用代码独立仿真???<br>
那什么叫功能仿真呢??有延时信息?? 收获不小啊 不错 的确有收获 不错,以长见识了啊
页:
[1]
2