打印
[Verilog HDL]

verilog初学者的一个问题,希望各位指教!

[复制链接]
1794|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sky840723|  楼主 | 2007-4-2 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
其实就是很简单的一个小程序,两个输入m、c,一个输出n。当输入c为1时,n对m取反。我自己写的程序如下:
module a(m,n,c);
input c,m;
output n;
if(c)
assign n=~m;
endmodule
不知为什么无法通过编译,可自己又不知哪里出错。将if(c)那行去掉就可以通过编译,可是达不到预期效果。
这个程序是有些白痴,因为我是初学者,刚开始的。
希望各位大哥指导,不胜感激!

相关帖子

沙发
flyicdsp| | 2007-4-2 16:29 | 只看该作者

是不是要else啊,要不有latch了

另外if也不能写assign吧,这个不是很懂

使用特权

评论回复
板凳
一尘w| | 2007-4-2 18:38 | 只看该作者

m c是电平触发,必须用always结构

module test(m,n,c);
input c,m;
output n;
reg n;

always @(m or c)
begin
if(c)
n=~m;
end
endmodule
我没有做仿真,不过编译是通过了

使用特权

评论回复
地板
sky840723|  楼主 | 2007-4-3 09:04 | 只看该作者

多谢了!

通过了编译,仿真结果也是正确的。
感谢楼上的两位!

使用特权

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

本版积分规则

1

主题

3

帖子

1

粉丝