Verilog点灯失败
用的是actel的FPGAhttp://cache.amobbs.com/bbs_upload782111/files_51/ourdev_715998O39DPG.jpg
(原文件名:未命名.jpg)
上面一段代码中,软件提示clk没有被使用到,导致,引脚分配时,没有clk
请高手赐教,问题在呢 估计是被综合软件优化掉了,你再加一个输入,比如叫SW1,让LED1 <= SW1 ;就不会优化了 回复【1楼】sdu1028
-----------------------------------------------------------------------
好的,感谢,试试看 回复【1楼】sdu1028
-----------------------------------------------------------------------
好了,谢谢,
另外,我有一个问题,选单片机时除了功能,速度要求外,主要是看单片机的RAM,ROM或flash的大小
那么选择FPGA时,我们一般都注重那些参数 如果单纯点灯的话,干脆 assign led1 = 1'b0; 回复【3楼】qjs412_51
回复【1楼】sdu1028
-----------------------------------------------------------------------
好了,谢谢,
另外,我有一个问题,选单片机时除了功能,速度要求外,主要是看单片机的ram,rom或flash的大小
那么选择fpga时,我们一般都注重那些参数
-----------------------------------------------------------------------
里面有多少逻辑资源, 多少PIN,多少RAM啥的。
我也是新手,不是很懂。 回复【5楼】womenhome
-----------------------------------------------------------------------
呵呵。。。谢谢
如果采用这个写法的话assign led1 = 1'b0;
moduleLED (Key,clk,LED1);
inputclk,Key;
output reg LED1;
always@ (posedge clk)
begin
assign LED1 = 1'b0;
end
endmodule
会报错
好像定义为output的直接赋值常数,不是很懂 REG 型 不能用 assign.
你改成 output wire led1,应该就可以了。
而且压根不用 always 语句。
module led (led1);
output led1;
wire led1;
assign led1 = 1'b0;
endmodule 试过了,没有问题
感觉自学FPGA和自学单片机比起来难多了
-_-!!! 回复【8楼】qjs412_51
-----------------------------------------------------------------------
学FPGA是自己造寄存器,而学单片机是用寄存器。当然感觉不一样啦~~~~ 两种方法都可以:
1.
reg led;
always @ (*) led <= 1'b1;
2.
wire led;
assign led = 1'b1;
这两种方法生成的电路是完全一样的。
页:
[1]