不行了,初学quartus,这个真不懂啊。。 搞了好久搞不出来,帮帮
quartus吧
全部回复
仅看楼主
level 1
下面这个是我写的用锁相环做led灯闪烁的。 想调用两个模块来做,但是一直写不好,帮忙看看哪里不行了。
顶层模块是这个:module topfile(clk_48,clk_1);
input clk_48;
output reg clk_1;
wire clk_20;
reg [29:0]cnt;
my_pll(
.inclk0(clk_48),
.c0(clk_20));
bijiao(
.a(clk_20),
.b(clk_1));
endmodule
引用模块my_pll为48mhz输出20mhz的atlpll。
另外一个模块在下面。 可是错误总是指在 b<=~b; 这一行
module bijiao (a,b);
input a;
output b;
reg [29:0]cnt;
always@(posedge a)
begin
if(cnt<30'd20000000)
cnt<= cnt + 1'd1;
elsecnt<= 30'd0;
end
always@(posedge a)
begin
if(cnt==30'd0)
b<=~b;
end
endmodule
2013年06月13日 14点06分 1
level 1
这个是错误提示
2013年06月13日 14点06分 2
level 3
b输出不能当做寄存器来进行操作,只能赋值,要实现你的功能你的吧输出b 同时设为reg行变量: output reg b;还有if语句最好跟一个else 语句,不然的话会产生不必要的锁存器。希望对你有所帮助。
2013年06月22日 12点06分 3
1