本人FPGA verilog 初学者,近日写程序遇到问题,向各位大神请教。

总出现警告:Warning: Output pins are stuck at VCC or GND
Warning (13410): Pin "L" is stuck at GND
程序如下:
//test button and led
module button(E,L,clk); //capital
output L;
input E,clk; //E是按钮 clk 时钟
reg sig=1'd0,count=11'd0,LED=1'd0;

always@ (negedge E)sig <= 1'd1;
always@ (posedge clk) begin
if (sig == 1'd1)
if (count == 11'd1999) begin
sig <= 1'd0;
count <= 11'd0;
LED <= 1'd1;
end
else count <= count + 1'd1;
end
assign L = LED;
endmodule

出现的警告:Warning: Output pins are stuck at VCC or GND
Warning (13410): Pin "L" is stuck at GND

Warning: Design contains 2 input pin(s) that do not drive logic
Warning (15610): No output dependent on input pin "E"
Warning (15610): No output dependent on input pin "clk"
Warning: Following 1 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results
Info: Pin L has GND driving its datain port

按照你上面的程序,这个警告是对的,你的L只是在上电延时一段时间直接是高电平不变了。如果你是这样设计的就不要管Warning (13410): Pin "L" is stuck at GND。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-04
你这个程序应该出现error啊,为什么不贴出来?追问

没有ERROR的

追答

always@ (negedge E)sig <= 1'd1;

always@ (posedge clk)sig <= 1'd0;

这就是个错误啊,你用什么编译器编的?同一个寄存器不可以被两个信号促发。reg的那一行没什么问题,像你那么写是可以的。楼上的不懂不要乱说。

追问

貌似也不行啊,我用的是quarstus 2 9.0版本 看警告的help说,是我程序里有问题,写的不对

第2个回答  推荐于2017-11-25
reg 这行有问题,寄存器初值不要这么设置,放到always里面搞个条件初值追问

我用always赋初值了,还是不行,老样子。我看了 help 文件,说我的问题是程序逻辑方面的,说是输出总是被牵制在低电平。

追答

加个上电复位,把reg 的值放到复位条件里面

追问

恩恩,改过的,不知这样对不?还是报错,老样子。

增加了这句话:
always@ (posedge RSTN) begin
sig = 1'd0;
count = 11'd0;
LED = 1'd0;
end

谢谢你的热心帮助哈~我的QQ273288437 方便的话,QQ指导下这个问题可否

追答

终于发现你的问题了!!哎~给分吧,你的count定义有问题~~改成reg[10:0] count;你这样写count永远不能到1999,所以L一直接地。还有sig这个信号不要在两个always里面赋值,报错。有按键最好加个防抖程序

本回答被提问者采纳

本人FPGA verilog 初学者,近日写程序遇到问题,向各位大神请教。
按照你上面的程序,这个警告是对的,你的L只是在上电延时一段时间直接是高电平不变了。如果你是这样设计的就不要管Warning (13410): Pin "L" is stuck at GND。

...verilog,要写一个ads1278的24位8路串行fpga程序,还没有头绪,有什么...
首先学习最简单的,基础学习,然后去看一下VGA控制时序,然后去实现就可以了,打砖块游戏就是控制显示的问题,需要做一图形,然后存储,根据当前的XY坐标来判断是不是显示,这样子就可以了。

各位大哥大姐,我现在有个verilog hdl方面的难题,希望大家能够帮助我。不...
你看图可以知道很类似SPI嘛,像datain数据传输是时钟上升沿放数据,下降沿读数据,像AD模块,发出去命令后,模块会把采集的数据发回来,那么通过信号线datain先发出去可能16位的数据,每一位是在上升沿写入,模块会自动在下降沿提取这不用咱操心,命令发送过程中,dataout一直是高电平或者根据硬件不同返...

本人新学fpga verilog语言中的异步复位信号rst_n是从哪里来的。
是低电平有效还是高电平有效,就看你代码里咋写了。看你定义成rst_n应该是低电平有效。你的FPGA板应该外接按键吧,你用quartus II综合时,有个配置引脚,你可以将你的这个 input rst_n这个引脚配置到按键上,当把你的程序下载到FPGA中时,你的按键便可以控制FPGA复位了。就这么简单。

fpga用的是什么编程语言 fpga初学者学习Verilog还是VHDL
FPGA初学者学习Verilog还是VHDL,这个问题值得探讨。Verilog HDL是FPGA开发中最为常用的一种语言。由于Verilog语言是基于HDL(硬件描述语言)开发的,因此它很容易理解FPGA开发过程中的各种细节。优点:Verilog语言可以非常清晰地描述出硬件电路实现的过程和逻辑。在FPGA开发中,Verilog是一种非常有效的编程语言,...

本人新学fpga verilog语言中的异步复位信号rst_n是从哪里...
外部信号,一般就是一个按键,作为清零或者初始化的按键,一般程序编程给rst_n功能是:按下后,程序回到初始化或者寄存器清零等,检测的时候一般是检测rst_n的下降沿

FPGA程序执行问题
时序逻辑:这个是写在进程process(对VHDL)或者always(对verilog)里面的,会一级一级的靠时钟来触发,在进程中的if-else分支语句,其实就是出发的条件 楼主追问的那个问题,调用模块,其实也是在程序中并行的,就是说模块被调用了,就相当于写在这个程序里的并行语句,调用它的模块是一起一直在运作,...

用verilog写了一个FPGA的串口接收程序,怎么用JTAG好用,ASP下载就不好 ...
我不知道你所说的ASP不好使是指什么?是下载不进还是有时能下载进去有时不能?FPGA的JTGA没有什么设置就可以下进去的,但是AS有三个引脚设置的,如果下载不进去,首先看AS那几个引脚电路是否正确,然后就是看设置是否正确。再就是看你是否生成了相应的AS下载文件。

21,FPGA_Verilog基础篇:宏define
宏定义的格式由 "define" 标志、宏名、宏文本以及可能的形参组成。其中,“define”是关键标识符,告知编译器这是一个宏定义。宏名由设计者指定,需遵循Verilog的命名规则;宏文本是宏定义的替换内容,形参则是可选的输入参数,用于在宏定义被引用时替换宏文本中的相应部分。宏定义实例可以用来定义变量的...

FPGA错误:Error (10170): Verilog HDL syntax error at dds_rom_inst...
我刚刚也遇到了这个问题,问题其实不是出在代码上,而是出在你添加的文件上,你进入assignment\/setting\/file中将dds_rom_inst文件删除即可,因为该文件是内部调用的,不需要你放在工程文件里,所以会出错。

相似回答