FPGA控制一个LED灯闪烁,在开发板中,程序是好使的。但是在我板子中,LED灯不闪。但单独写1亮0不亮
moduleled1(clk,led);//模块名及端口参数inputclk;//输入端口定义outputled;//输出端口定义regled;//输出端口定义为寄存器型...
module led1 (clk ,led); // 模块名及端口参数
input clk; // 输入端口定义
output led; // 输出端口定义
reg led; // 输出端口定义为寄存器型
reg [25:0] buffer; // 中间变量buffer定义为寄存器型
always@(posedge clk)
begin // 顺序语句,到end止
buffer<=buffer+1; // 计数器buffer按位加1
if(buffer==26'd50000000) //判别buffer中的数值为25000000时,
//做输出处理
begin
led<=~led; // led反转一次。
buffer<=0;
end
end
endmodule 展开
input clk; // 输入端口定义
output led; // 输出端口定义
reg led; // 输出端口定义为寄存器型
reg [25:0] buffer; // 中间变量buffer定义为寄存器型
always@(posedge clk)
begin // 顺序语句,到end止
buffer<=buffer+1; // 计数器buffer按位加1
if(buffer==26'd50000000) //判别buffer中的数值为25000000时,
//做输出处理
begin
led<=~led; // led反转一次。
buffer<=0;
end
end
endmodule 展开
6个回答
展开全部
always@(posedge clk)
begin // 顺序语句,到end止
if(buffer==26'd50000000) //判别buffer中的数值为25000000时,
//做输出处理
begin
led<=~led; // led反转一次。
buffer<=0;
end
else begin
buffer<=buffer+1; // 计数器buffer按位加1
end
end
原先你的buffer赋值,优先级我认为是有问题的?
begin // 顺序语句,到end止
if(buffer==26'd50000000) //判别buffer中的数值为25000000时,
//做输出处理
begin
led<=~led; // led反转一次。
buffer<=0;
end
else begin
buffer<=buffer+1; // 计数器buffer按位加1
end
end
原先你的buffer赋值,优先级我认为是有问题的?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(buffer==26'd50000000) //判别buffer中的数值为25000000时,
把上面这行的“==”改成“<=”就好了。
把上面这行的“==”改成“<=”就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的时钟引脚分配了吗,分配正确吗?
试一试assign led=clk;(led为wire型)就知道了
最好加一句initial buffer=26‘b0;
为什么计数器的名字要用Buffer。。。。。
试一试assign led=clk;(led为wire型)就知道了
最好加一句initial buffer=26‘b0;
为什么计数器的名字要用Buffer。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先不知道你时钟是多少MHZ,在一个led没有初始化,reg led默认的是x,最好加个复位,让led <= 0;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是你的信号有效持续时间太短了啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |