电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

VerilogHDL交通灯设计实验VIP免费

VerilogHDL交通灯设计实验_第1页
1/7
VerilogHDL交通灯设计实验_第2页
2/7
VerilogHDL交通灯设计实验_第3页
3/7
实验四 交通灯设计 一、实验目的和要求 1、 了解交通灯控制原理 2、了解模块化设计方法 3、掌握数字系统设计的方法 4、通过仿真器观察输入输出波形,并能在 FPGA 开发板上实现交通灯控制系统 二、实验仪器 1、计算机 2、FPGA 实验开发板 三、实验内容 (包括必要的步骤、原理,如状态图等) 1、完成系统的模块划分 2、完成控制器部分状态图的画法 3、使用 Verilog HDL 完成整个系统的代码编写 1:先分析各模块之间的关系 controller Timer5 Timer25 rst clk 十字路口交通灯程序代码: top(clk,rst,road1,road2); clk, rst; en5,en25,lin5,lin25; u1(clk,rst,en5,lin5); u2(clk,rst,en25,lin25); u3(clk,rst,en5,en25,lin5,lin25,road1,road2); clk,rst,en5; lin5; lin5;//对于timer 模块,lin5 为输出口,所以用寄存器类型 count; begin count<=0;lin5<=0; end begin count<=count+1; if(count==2_5000_0000) /*进行软件仿真时将数值改小,在实验时候跳转过快就是设置数值时少写了一个零*/ lin5<=1; end begin count<=0 ; lin5<=0; end S0 R1 G2 En25 S3 Y1 R2 En5 S1 R1 Y2 En5 S2 G1 R2 En25 Lin5 Lin5 Lin25 Lin25 reg[31:0] count; //计数功能 //两句赋值语句间需用“;”号 //进行软件仿真时将数值改小 reg en5,en25; reg[1:0] state; //状态分配,四个状态用2 位即可满足 state<=0;/*刚将 lin5<=0,lin25<=0;是不正确的,对寄存器才赋初值,en5,en25 对于 controller 模块来说是输出端口,并且变量在 always 语句中,所以要用reg 类型,对 state 预设零非常重要,不然就会出现像我在实验中六盏灯全亮的情况*/ /*对应红绿黄共阳极接法,出零灯亮*/ road1<=’b011, road2<=’b110; en25<=0,en5<=1; if(lin5==1) state<=2; end 2: begin road1<=’b101, road2<=’b011; en25<=1,en5<=0; if(lin25==1) state<=3; end 3: begin road1<=’b110, road2<=’b011; en25<=0,en5<=1; if(lin5==1) state<=0; end endcase //end…endcase 为固定语句 end endmodu le ➢ 创建新的项目:[File]->[New Project] 选择器件属性 ➢ 创建源文件:[Project]->[New Source]->Verilog Module 输入交通灯程序代码 (上图所示) ➢ 设计综合:使用 ISE 自带的综合工具 XST 检查程序是否有误 ➢ 调试仿真 波形仿真 ✓...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

VerilogHDL交通灯设计实验

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部