3849801 发表于 2009-2-4 22:04:53

在网上弄的一个简单控制LED 的Verilog,编译出错,请指教【恢复】

注释是我加上去的,刚初学,望高手指教

module LED(clk,LED,PWM);

input clk;//clk为输入端

output LED;//LED输出端

reg  PWM;

reg  cnt;//设置CNT  1个 24 位寄存器



always @(posedge clk) cnt<=cnt+1;// 上升沿到来  非阻塞赋值 

wire  PWM=cnt?cnt:~cnt;



always@(posedge clk) PWM <= PWM+PWM;//这句是什么意思啊?

assign LED=PWM;//用assign 定义逻辑线,为什么要用assign ?

endmodule



用Quartus 6.0编译,提示有两个错误:

Error (10149): Verilog HDL Declaration error at LED.v(9): identifier "PWM" is already declared in the present scope

Error (10112): Ignored module "LED" at LED.v(1) due to previous errors

zai121 发表于 2009-4-24 08:42:28

单独用51控制led点阵屏显示和用51与cpld的组合显示led点阵屏 对51的编程一样吗

wwang 发表于 2009-4-29 21:21:27

PWM到底是什么信号啊,很疑惑,既然是端口,那是输入还是输出呢 ,没有定义呢

dyptnt 发表于 2009-4-30 00:05:04

首先,很明显在第一行,PWM变量作为输入输出接口,并没有声明(input或者output)
对于第一个错误,见第八行,PWM变量已经被定义成REG格式,不能通过引线连接方式赋,REG的变量最好是用非阻塞赋值。
总之,这个程序要么是一道改错题,要么就是一个。。。对于初学者,还是先学好基本的Verilog语法和数字逻辑
页: [1]
查看完整版本: 在网上弄的一个简单控制LED 的Verilog,编译出错,请指教【恢复】