2019-07-16 01:21发布
九章融碎心平凡 发表于 2013-8-25 00:34 module key(rst_n,clk,key,led);//key:模块名称,rst_n、clk、key、led:信号名称 input rst_n;//输入 ...
最多设置5个标签!
input rst_n;//输入复位信号,rst_n只是一个名称,关键是在调用模块时传递进来的信号;
input clk;//输入时钟信号;
input key;//输入按键信号;
output led//输出点灯信号:高低电平使灯闪烁;
reg led;//因为需要改变输出信号的状态,所以需要申明为reg;
always @(posedge clk or negedge rst_n)begin//当时钟的上升沿或复位信号下降沿执行
if(!rst_n)//这儿就是你提的第2个问题:首先,只有时钟上升沿和复位下降沿才执行这里面的内容,
led<=1'b0;//其次,当复位下降沿的时候,检测到的rst_n就为低电平,所以!(取反)为1,就执行初始化赋值
else if(!key)//当key为低电平
led<=~led;//改变电平值
end
/*
模块的主要作用就是按KEY使LED灯状态改变。
几点忠告:
1.FPGA注意时序的概念;
2.FPGA注意并行的概念;
3.FPGA注意模块的概念;
4.不懂的可以自己仿真(ISE.Modlesim)查看结果;
5.多看基本的资料,使得自己入门才能更好的沟通,学习是要靠自己的。
*/
谢谢啊。我懂了。
一周热门 更多>