2019-03-25 09:59发布
在VHDL中这样写法,我认为有些不妥
beginsel<=b&c;process(a,b,c)beginif (sel="10") thenif a'event and a='1' thencnt<=cnt+'1'end if;clk_out<=cnt[2];end process;主要是,if ----end if (sel="10")结构包括边缘触发(这个是实时钟信号)
常见写法1:
if(变量=X) THEN
-----
ELSIF clk'event and clk='1' then
----
end if;
这种写法更符合电路实际结构。
常见写法2:
if clk'event and clk='1' then
if (sel="10") then
------
目前从代码写法上看,VERILOG并没错误,
但我想是不是这个问题,A信号的边缘变化 慢于 B,C信号的变化,结果导致B,C信号采样丢失!
这个问题有这么复杂吗?还要真值表!
原帖由 eeleader 于 2011-9-22 21:27 发表 这个问题有这么复杂吗?还要真值表!
最多设置5个标签!
在VHDL中这样写法,我认为有些不妥
begin
sel<=b&c;
process(a,b,c)
begin
if (sel="10") then
if a'event and a='1' then
cnt<=cnt+'1'
end if;
clk_out<=cnt[2];
end process;
主要是,if ----end if (sel="10")结构包括边缘触发(这个是实时钟信号)
常见写法1:
if(变量=X) THEN
-----
ELSIF clk'event and clk='1' then
----
end if;
这种写法更符合电路实际结构。
常见写法2:
if clk'event and clk='1' then
if (sel="10") then
------
end if;
end if;
目前从代码写法上看,VERILOG并没错误,
但我想是不是这个问题,A信号的边缘变化 慢于 B,C信号的变化,结果导致B,C信号采样丢失!
这个问题有这么复杂吗?还要真值表!
晕的 复杂的问题 写个真值表 会累死人的 只有简单的题 写写真值表 、
现在的这个问题 楼主是不清楚两种语言的差异 他认为应该实现同样的功能 但结果却不一致
所以我才建议 列个真值表 这样自己可以清楚的知道哪种写法OK 。
一周热门 更多>