打印

e1与c1同时得到信号吗?为什么?

[复制链接]
1264|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shuai1|  楼主 | 2009-3-21 19:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SIGNAL in1,in2,...:STD_LOGIC;
...
PROCESS(in1,in2,...)
VARIABLE c1,...:STD_LOGIC_VECTOR(3 DOWNTO 0);
  BEGIN
    IF in1='1' THEN...
       e1<="1010":
        ...
    IF in2='0' THEN ...
        ...
       c1:="0011";
        ...
    END IF;
END PORCESS;

相关帖子

沙发
Fourier00| | 2009-3-21 21:11 | 只看该作者

可以

可以
建议不要这样写
可以写成
always @(posedge clk or negedge rst_n)
if(rst_n == 1'b0)
   e<= 4'd0
else if(in1==1'b1)
   e<=4'b1010
end

always @(posedge clk or negedge rst_n)
if(rst_n == 1'b0)
   c<= 4'd0
else if(in2 == 1'b0) 
   c<=4'b0011
end

使用特权

评论回复
板凳
sophi@| | 2009-4-9 22:05 | 只看该作者

不能

应为信号E1有延迟(是信号)   而C1是变量(定义的)C1比E1快

使用特权

评论回复
地板
wujing198| | 2009-4-9 22:30 | 只看该作者

╮(╯▽╰)╭

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

38

帖子

0

粉丝