专用集成电路实验报告范本(实验满分)_第1页
专用集成电路实验报告范本(实验满分)_第2页
专用集成电路实验报告范本(实验满分)_第3页
专用集成电路实验报告范本(实验满分)_第4页
专用集成电路实验报告范本(实验满分)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一 跑马灯设计一、 实验目的1、 初步了解QUARTUS 软件使用方法和Verilog HDL输入的全过程。2、 初步熟悉实验系统的使用。3、 掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载的基本操作;二、 实验要求使LED成流水的方式,在不同的状态中间进行转换,本设计中主要是让LED显示灯按照一定时间间断来显示,通过这样的间隔来使LED按流水方式显示并循环。 三、实验用到的软件和器件 软件:QuartusII软件 硬件:实验开发板,计算机 四、实验原理(程序代码)module led8(led7,cp);input cp;output7:0 led7;r

2、eg7:0 led7=8b;always(posedge cp) led7=led76:0,led77;endmodule五、实验步骤(详细调试步骤,附管脚分配图)1、对QuartusII进行授权。2、建立新的工程和Verilong HDL环境。3、编写程序,保存并综合分析。4、分配输入输出引脚。5、在计算机上进行编译。6、用USB连接实验箱和计算机,并安装好USB电缆。7、打开实验箱电源,进行仿真。Cp接PIN_C136、 实验现象与结果(附图) 实验二 七人表决器设计一、实验目的1、 熟悉 Verilog HDL 的编程。2、 熟悉组合逻辑电路设计方法,熟悉七人表决器的工作原理。3、 进一

3、步熟悉实验系统的硬件结构。二、实验要求所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为1时,表示此人同意;否则若拨动开关输入为0,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则 LED 被点亮;否则,如果表决的结果为反对,则 LED 不会被点亮。同时,数码管上显示通过的票数。三、实验用到的软件和器件 软件:Quart

4、usII软件 硬件:实验开发板,计算机 四、 实验原理modulebj(pass,data_out,vote);outputpass;outputdata_out;input6:0vote;reg4:0sum;reg6:0data_out;integeri;regpass;always(vote)begin sum=0;for(i=0;i=6;i=i+1)if(votei)sum=sum+1;if(sum2)pass=1;elsepass=0; endalways(sum)case(sum)4b0000:data_out=7b;/04b0001:data_out=7b;/14b0010:dat

5、a_out=7b;/24b0011:data_out=7b;/34b0100:data_out=7b;/44b0101:data_out=7b;/54b0110:data_out=7b;/64b0111:data_out=7b;/74b1000:data_out=7b;/84b1001:data_out=7b;/94b1010:data_out=7b;/A4b1011:data_out=7b;/b4b1100:data_out=7b;/c4b1101:data_out=7b;/d4b1110:data_out=7b;/E4b1111:data_out=7b;/Fdefault:data_out

6、=7b;endcaseendmodule五、 实验步骤六、 实验现象与结果 实验三 矩阵键盘显示电路的设计一、 实验目的1、 了解普通 44 键盘扫描的原理。2、 进一步加深七段码管显示过程的理解。3、了解对输入/输出端口的定义方法。二、实验内容本实验要求完成的任务是通过编程实现对4X4矩阵键盘按下键的键值的读取,并在数码管上完成一定功能(如移动等)的显示。按键盘的定义,按下“*” 键则在数码管是显示“E”键值。按下“#”键在数码管上显示“F”键值。其它的键则按键盘上的标识进行显示。三、实验用到的软件和器件 软件:QuartusII软件 硬件:实验开发板,计算机本实验箱上的 4X4 矩阵键盘的

7、电路原理如图1 所示。与 FPGA 的管脚连接如表1所示。图 1 4X4 矩阵键盘电路原理图表 1 4X4 矩阵键与 FPGA 的管脚连接表信号名称对应 FPGA 管脚名说明KEY-C0B8矩阵键盘的第 1 列选择KEY-C1A9矩阵键盘的第 2 列选择KEY-C2B9矩阵键盘的第 3 列选择KEY-C3E5矩阵键盘的第 4 列选择KEY-R0B6矩阵键盘的第 1 行选择KEY-R1A7矩阵键盘的第 2 行选择KEY-R2B7矩阵键盘的第 3 行选择KEY-R3A8矩阵键盘的第 4 行选择四、实验原理modulejp(clk,reset,row,col,data_out);inputclk,r

8、eset;input3:0row;output3:0col;output6:0data_out;reg6:0data_out;reg3:0col;reg3:0key_value;reg5:0count;/delay_20msreg2:0state;/状态标志regkey_flag;/按键标志位regclk_500khz;/500KHZ时钟信号reg3:0col_reg;/寄存扫描列值reg3:0row_reg;/寄存扫描行值always(posedgeclkornegedgereset)if(!reset)beginclk_500khz=0;count=50)beginclk_500khz=c

9、lk_500khz;count=0;endelsecount=count+1; endalways(posedgeclk_500khzornegedgereset)if(!reset)begincol=4b0000;state=0;endelsebegincase(state)0:begincol3:0=4b0000;key_flag=1b0;if(row3:0!=4b1111)beginstate=1;col3:0=4b1110;end/有键按下,扫描第一行elsestate=0; end1:beginif(row3:0!=4b1111)beginstate=5;end/判断是否是第一行el

10、sebeginstate=2;col3:0=4b1101;end/扫描第二行end2: beginif(row3:0!=4b1111)beginstate=5;end/判断是否是第二行 elsebeginstate=3;col3:0=4b1011;end/扫描第三行end3: beginif(row3:0!=4b1111)beginstate=5;end/判断是否是第三行 elsebeginstate=4;col3:0=4b0111;end/扫描第四行end4: beginif(row3:0!=4b1111)beginstate=5;end/判断是否是第一行elsestate=0;end5:

11、beginif(row3:0!=4b1111)begincol_reg=col;/保存扫描列值row_reg=row;/保存扫描行值state=5;key_flag=1b1;/有键按下endelsebeginstate=0;endendendcaseend always(clk_500khzorcol_regorrow_reg)beginif(key_flag=1b1)begincase(col_reg,row_reg)8b1110_1110:key_value=13;8b1110_1101:key_value=14;8b1110_1011:key_value=0;8b1110_0111:ke

12、y_value=15;8b1101_1110:key_value=12;8b1101_1101:key_value=9;8b1101_1011:key_value=8;8b1101_0111:key_value=7;8b1011_1110:key_value=11;8b1011_1101:key_value=6;8b1011_1011:key_value=5;8b1011_0111:key_value=4;8b0111_1110:key_value=10;8b0111_1101:key_value=3;8b0111_1011:key_value=2;8b0111_0111:key_value=

13、1; endcaseendendalways(key_value)begincase(key_value)4b0000:data_out=7b;/04b0001:data_out=7b;/14b0010:data_out=7b;/24b0011:data_out=7b;/34b0100:data_out=7b;/44b0101:data_out=7b;/54b0110:data_out=7b;/64b0111:data_out=7b;/74b1000:data_out=7b;/84b1001:data_out=7b;/94b1010:data_out=7b;/A4b1011:data_out=

14、7b;/b4b1100:data_out=7b;/c4b1101:data_out=7b;/d4b1110:data_out=7b;/E4b1111:data_out=7b;/Fdefault:data_out=7b;endcase data_out=data_out;endendmodule五、实验步骤六、实验现象与结果 实验四 交通灯控制电路的设计一、实验目的1、了解交通灯的燃灭规律。2、了解交通灯控制器的工作原理。3、熟悉 Verilog HDL 语言编程,了解实际设计中的优化方案。二、实验要求本实验仅针对最简单的南北 和东西直行的情况。本实验需要用到实验箱上交通灯模块中的发光二极管,即

15、红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始亮。延时一段时间后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始亮。延时一段时间后,再切换到东西路口方向,重复上述过程。三、实验用到的软件和器件 软件:QuartusII软件 硬件:实验开发板,计算机表2 交通灯模块与 FPGA 的管脚连接表信号名称对应 FPGA 管脚名说明R1B18横向红色交通信号 LED 灯Y1A18横向黄色交

16、通信号 LED 灯G1B17横向绿色交通信号 LED 灯R2A17纵向红色交通信号 LED 灯Y2B16纵向黄色交通信号 LED 灯G2B15纵向绿色交通信号 LED 灯 四、实验原理module jtd(clk,hong1,hong2,huang1,huang2,lv1,lv2);input clk;output hong1,hong2,huang1,huang2,lv1,lv2;reg4:0 cnt1,cnt2;reg hong1,hong2,huang1,huang2,lv1,lv2,k;initial beginhong1=1;hong2=1;huang1=0;huang2=0;lv1

17、=0;lv2=0;cnt1=20;cnt2=19; endalways(posedge clk) begin if(cnt1=10) begin hong1=hong1;lv1=lv1;cnt1=cnt1-1;k=1; end else if(cnt1=3) begin lv1=lv1;huang1=huang1;cnt1=cnt1-1; end else if(cnt1=0) begin hong1=hong1;huang1=huang1;cnt1=20; end else begin cnt1=cnt1-1; end if(cnt2=19) begin hong2=hong2;lv2=lv2;cn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论