EDA交通灯语句全解释(问题补充中有程序,跪求全注释)

EDA交通灯语句全解释(问题补充中有程序,跪求全注释),第1张

这个是veilog语言编辑的,还只坦橘是部分的程序吧

module

rglight(clk,clrn,yzflag,flag,LED,t1,t2,q1,q2)

/*--定义了一个rglight模块,估计是控制红灯和绿灯用的,后面是变量--*/

input clk,clrn

/*--定义输入端口,这俩应该是时钟--*/

input [7:0] q1,q2

/*--定义输入端口,8bit数据--*/

output reg yzflag

/*--定义输出端口,目测是黄灯状态控制变量,0/1--*/

output reg[1:0] flag

/*--定义输出端口,也是什么状态,2bit数据--*/

output reg[7:0] LED

/*--定义输出端口,应该用来控制LED灯,8bit--*/

output reg[7:0] t1,t2

/*--定义输出端口,应该是计时相关的变量,兄卜8bit,估计用来输羡信穗出给黄灯控制模块用的--*/

reg[7:0] rtime,gtime,ytime,rtime1='h20,gtime1='h16

/*--红灯、绿灯、黄灯的时间? rtime1赋初值 十六进制20,也就是十进制32,gtime1 十进制22--*/

reg[1:0] z

/*--定义变量z,后面根据z的状态00、01、10、11执行循环--*/

后面是程序的主体 实现的功能大致是倒计时的功能 不断的循环 只是部分程序 我也看不明白

module contr_1(lod,clk,aq,qa,d) //模块开始

input[7:0] aq //输入单字节aq

input clk //输入时钟信号

output reg[7:0] qa //输出8为寄存器类型

output reg[11:0]d //输出12位寄存器类型

output reg lod //输出寄存器类型

reg [1:0] qc //2为寄存型明器类型qc

initial begin qa='h19d='b001100001100end //初始化 qa、d

always @(negedge clk ) // 时钟下烂虚降沿执行本alway下面的语句

begin if (aq==0) lod=0 //

else lod=1 end //结束本进程

always @(negedge lod ) //LOD下降沿执行本alway下面的语句

begin qc=qc+1 //得到qc的值

case (qc) //执行CASE语句

0 :begin qa='h19d='b001100001100end //qc=0

1 :begin qa='h03d='b010100010100end //饥租燃qc=1

2 :begin qa='h09d='b100001100001end //qc=2

3 :begin qa='h03d='b100010100010end //qc=3

default :qa='h00 其他值

endcase //结束case

end //结束本进程

endmodule //结束模块


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8182463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存