[求助] actel FPGA的第一个实验失败的,大家帮忙看看呢!谢谢了

小兽abc   2011-10-7 10:39 楼主
不知道为何周立功做的FPGA选择actel 的加上比较难用的libero开发环境。用过Q2再用这个好不习惯那!
我照着书抄的第一个FPGA的led程序:
module LED(clk48M,rst,ledout);
    input clk48M;
    input rst;
    output [1:0] ledout;
    reg [1:0] ledout;
    wire led_clk;
    reg [23:0] count;

    always@(posedge clk48M or posedge rst)
    begin
    if(rst)
        count<=19'd0;
    else
        count<=count+24'd1;
    end

    assign led_clk=count[23];

    always@(posedge led_clk or posedge rst)
    begin
    if(rst)
        ledout<=0;
    else
        ledout<=ledout+2'd0;
    end
endmodule
这上面明明有   
input clk48M;
    input rst;
    output [1:0] ledout;
也就是分配管脚的时候,应该有4个IO,但是编译报告内是这样的
 Input I/O                     | 0             | 0            | 0
    Output I/O                    | 2             | 0            | 0

没有INPUT IO,分配管脚的时候也没有,,怎么办呢!
先谢谢大家了!


回复评论 (7)

自己先顶起

自己先顶起
点赞  2011-10-7 10:40

再顶

再顶
点赞  2011-10-7 12:54

??

程序没问题啊 学习了
点赞  2011-10-7 17:58
第二个always块中  ledout<=ledout+2'd0;应该改成  ledout<=ledout+2'd1;吧。
点赞  2011-10-8 08:25

回复 5楼 00750 的帖子

你好,谢谢啦,我把0改正1之后管脚分配马上就对了。。。我是一个初学者,我不懂为什么这个值会影响到布线编译结果。。
后来我自己用移位的办法来写,也是遇到这个情况,没有CLK等输入的情况,ledout<=(ledout<<1)这句话我写在了always里面,下面是程序:
// LED.v
module LED(clk,ledout);
input clk;
output [7:0]ledout;
reg [7:0]ledout;
reg led_clk;
reg [23:0] count;

always @(posedge clk)
begin
    if(count==24'd2500000)
    begin
        led_clk<=~led_clk;
        count<=24'd0;
    end
    else
        count<=count+1'd1;
end

always @(posedge led_clk)
begin
    ledout<=(ledout<<1);
end
endmodule
谢谢啦!
点赞  2011-10-8 13:21
哎。。。努力学习啊
点赞  2011-10-8 21:21

其实这个问题是这样的,ACTEL的综合器SYNPLIFY , 比较智能。通过翻译的程序,发现你的程序输出与输入不相关,所以不需要分配管脚。

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-10-9 10:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复