fpga课程设计报告.doc
《fpga课程设计报告.doc》由会员分享,可在线阅读,更多相关《fpga课程设计报告.doc(31页珍藏版)》请在三一办公上搜索。
1、文华学院F P G A课程设计报告专业:电子信息工程班级:电信三班学号:0901020312345姓名:雷帆设计课题1:设计一个可控的100进制可逆计数器,要求用实验箱下载。计数器的时钟输入信号周期为200ns。以十进制形式显示。有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。clrplusminus功能0复位为0110递增计数101递减计数111暂停计数1、源程序(附注释):(1)module counter100(out,clk,clr,plus,minus);output7:0 out;input clk,plus,min
2、us,clr;reg 7:0 out;always (posedge clk)begin if (!clr) out=0; /若CLR为0 将计数复位为0 else begin case (plus,minus) 2b10:begin /若PLUS为1并且MINUS为0 if (out3:0=9) /若计数低四位为9 begin out3:0=0; /将低四位置0 if (out7:4=9) out7:4=0; /若高四位为9 则将高四位置0 else out7:4=out7:4+1; /否则将高四位加1 end else out3:0=out3:0+1; /若计数低四位不为9则加1 end
3、2b01:begin /若PLUS为0并且MINUS为1 if (out3:0=0) /若低四位为0 begin out3:0=9; /低四位置9 if (out7:4=0) out7:4=9; /若高四位为0 高四位置9 else out7:4=out7:4-1; /否则高四位减1 end else out3:0=out3:0-1; /若计数低四位不为0则减1 end 2b11: out=out; /若PLUS和MINUS同时为1 计数为原值不变 default:out Programmer,并单击Start.设计课题2:交通灯控制系统,要求用实验箱下载。(1) 设计一个十字路口交通信号灯的
4、定时控制电路。要求红、绿灯按一定的规律亮和灭,绿灯亮时,表示该车道允许通行;红灯亮时,该车道禁止通行。并在亮灯期间进行倒计时,并将运行时间用数码管显示出来。(2)要求主干道每次通行时间为40秒,支干道每次通行时间为30秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由主干道转换为支干道时,主干道在通行时间只剩5秒钟时,绿灯闪烁5秒显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。(3)定时器要求采用递减计时方式进行计时。HG、HR分别表示主干道的绿灯和红灯CG、CR分别表示支干
5、道的绿灯和红灯两个定时时间:绿灯闪烁和绿灯停止闪烁源程序(附注释):(1)module traffic00 (clk,en,lampar,fag,lampbr,fbg,numa,numb);input clk,en;output 7:0numa,numb;reg 7:0numa,numb;/计时显示output fag,fbg,lampar,lampbr; /fag:flash a greenreg lampar,lampag,lampbr,lampbg;/表示主路?路共四个灯reg tempa,tempb; /装入计数reg 2:0 counta,countb;/灯亮的顺序reg 7:0 a
6、red,agreen,bred,bgreen;always (en) if(!en) begin / 设置各种灯的预置数 ared =8b00110000; agreen =8b01000000; bred =8b01000000; bgreen =8b00110000; endalways (posedge clk) begin if(en) begin if(!tempa) begin tempa=1; case(counta) /控制灯亮的顺序 0: begin numa=agreen;lampag=1;lampar=0;counta=1; end 1: begin numa=ared;
7、 lampag=0;lampar=1;counta=0; end default: lampar8b00000001) begin if(numa3:0=0) begin numa3:0=4b1001; numa7:4=numa7:4-1;end else numa3:0=numa3:0-1; end if(numa=8b0000010) tempa=0; end end else begin lampar=1;lampag=0;counta=0;tempa=0; end end always (posedge clk) /该进程控制B方向的四种灯 begin if(en) begin if(
8、!tempb) begin tempb=1; case (countb) 0: begin numb=bred; lampbr=1;lampbg=0;countb=1; end 1: begin numb=bgreen;lampbr=0;lampbg=1;countb=0; end default: lampbg8b00000001) /倒计时 if(numb3:0=0) begin numb3:0=9; numb7:4=numb7:4-1; end else numb3:0=numb3:0-1; if(numb=2) tempb=0; end end else begin lampbr=1;
9、lampbg=0;tempb=0; countb5)?(lampag?1:0):clk&lampag; /主干道绿灯倒数5秒闪耀assign fbg=(numb5)?(lampbg?1:0):clk&lampbg; /?干道绿灯倒数5秒闪耀endmodule(2)module decode4_7 ( input 3:0 indec_0,indec_1,indec_2,indec_3,indec_4,indec_5,indec_6,indec_7, output reg 6:0 dout_0,dout_1,dout_2,dout_3,dout_4,dout_5,dout_6,dout_7);al
10、ways(indec_0 or indec_1 or indec_2 or indec_3 or indec_4 or indec_5 or indec_6 or indec_7 ) begin case(indec_0) 4h1: dout_0 = 7b111_1001; / -0- 4h2: dout_0 = 7b010_0100; / | | 4h3: dout_0 = 7b011_0000; / 5 1 4h4: dout_0 = 7b001_1001; / | | 4h5: dout_0 = 7b001_0010; / -6- 4h6: dout_0 = 7b000_0010; /
11、| | 4h7: dout_0 = 7b111_1000; / 4 2 4h8: dout_0 = 7b000_0000; / | | 4h9: dout_0 = 7b001_1000; / -3- 4ha: dout_0 = 7b000_1000; 4hb: dout_0 = 7b000_0011; 4hc: dout_0 = 7b100_0110; 4hd: dout_0 = 7b010_0001; 4he: dout_0 = 7b000_0110; 4hf: dout_0 = 7b000_1110; 4h0: dout_0 = 7b100_0000; endcase case(indec
12、_1) 4h1: dout_1 = 7b111_1001; / -0- 4h2: dout_1 = 7b010_0100; / | | 4h3: dout_1 = 7b011_0000; / 5 1 4h4: dout_1 = 7b001_1001; / | | 4h5: dout_1 = 7b001_0010; / -6- 4h6: dout_1 = 7b000_0010; / | | 4h7: dout_1 = 7b111_1000; / 4 2 4h8: dout_1 = 7b000_0000; / | | 4h9: dout_1 = 7b001_1000; / -3- 4ha: dou
13、t_1 = 7b000_1000; 4hb: dout_1 = 7b000_0011; 4hc: dout_1 = 7b100_0110; 4hd: dout_1 = 7b010_0001; 4he: dout_1 = 7b000_0110; 4hf: dout_1 = 7b000_1110; 4h0: dout_1 = 7b100_0000; endcase case(indec_2) 4h1: dout_2 = 7b111_1001; / -0- 4h2: dout_2 = 7b010_0100; / | | 4h3: dout_2 = 7b011_0000; / 5 1 4h4: dou
14、t_2 = 7b001_1001; / | | 4h5: dout_2 = 7b001_0010; / -6- 4h6: dout_2 = 7b000_0010; / | | 4h7: dout_2 = 7b111_1000; / 4 2 4h8: dout_2 = 7b000_0000; / | | 4h9: dout_2 = 7b001_1000; / -3- 4ha: dout_2 = 7b000_1000; 4hb: dout_2 = 7b000_0011; 4hc: dout_2 = 7b100_0110; 4hd: dout_2 = 7b010_0001; 4he: dout_2
15、= 7b000_0110; 4hf: dout_2 = 7b000_1110; 4h0: dout_2 = 7b100_0000; endcase case(indec_3) 4h1: dout_3 = 7b111_1001; / -0- 4h2: dout_3 = 7b010_0100; / | | 4h3: dout_3 = 7b011_0000; / 5 1 4h4: dout_3 = 7b001_1001; / | | 4h5: dout_3 = 7b001_0010; / -6- 4h6: dout_3 = 7b000_0010; / | | 4h7: dout_3 = 7b111_
16、1000; / 4 2 4h8: dout_3 = 7b000_0000; / | | 4h9: dout_3 = 7b001_1000; / -3- 4ha: dout_3 = 7b000_1000; 4hb: dout_3 = 7b000_0011; 4hc: dout_3 = 7b100_0110; 4hd: dout_3 = 7b010_0001; 4he: dout_3 = 7b000_0110; 4hf: dout_3 = 7b000_1110; 4h0: dout_3 = 7b100_0000; endcase case(indec_4) 4h1: dout_4 = 7b111_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- fpga 课程设计 报告
链接地址:https://www.31ppt.com/p-4137116.html