复杂可编程逻辑器件 FPGA 信号灯.doc_第1页
复杂可编程逻辑器件 FPGA 信号灯.doc_第2页
复杂可编程逻辑器件 FPGA 信号灯.doc_第3页
复杂可编程逻辑器件 FPGA 信号灯.doc_第4页
复杂可编程逻辑器件 FPGA 信号灯.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

复杂可编程逻辑器件及数字系统设计系 别 电子信息工程系 专 业 电子信息 学 生 姓 名 项 伟 班 级/学 号 电信1004/2010010585 成 绩 实验一 熟悉软硬件环境及使用一、实验目的1 学习Quares(或ISE)软件的基本操作;2 学习原理图和Verilog HDL两种设计输入方法;3 初步掌握器件设计输入、编译、仿真、下载的过程;4 学习实验装置的使用方法。二、实验要求 选用课上或书中的例题,按照第二章所述练习Quares(或ISE)软件的使用:分别选用原理图输入方式和Verilog HDL输入方式进行电路功能设计;掌握FPGA的开发步骤设计输入、设计实现、设计验证;按照第五章所述了解实验装置的工作原理和使用方法。三、源代码 实验二 组合逻辑电路的设计一、实验目的1 设计8段译码器、两路4位二进制比较器,并在实验装置上验证所设计的电路;2 学习用Verilog HDL语句进行逻辑描述。二、实验要求 用Verilog HDL中真值表的设计方法设计8段译码器、用布尔方程的设计方法设计两路4位二进制比较器,对FPGA器件进行配置及下载来验证自己的设计,验证电路的外围器件可选用按键输入、指示灯输出。8段译码器的逻辑功能输入输出in3.0dpgfedcba000111111100000110201011011301001111401100110501101101601111101700000111801111111901101111A01110111B01111100C00111001D01011110E01111001F01110001两路4位二进制比较器逻辑功能输入输出a3.0b3.0HLEa3.0 b3.0100a3.0 b3.0010a3.0= b3.0001三、源代码实验三 时序逻辑电路的设计一、 实验目的1设计8位锁存器、60分频器,并在实验装置上验证所设计的电路;2了解时序逻辑电路的设计特点。二、实验要求用原理图输入方式设计8位锁存器、用Verilog HDL输入方式设计60分频器。验证电路的外围器件可选用按键输入、数码管输出。三、源代码module fp20(clk,clock);input clk;output clock;reg24:0 count;reg clock;parameter PRD=10485760; always (posedge clk) begin if(count=PRD) begin count=0; clock=clock; end else count=count+1; endendmodule四、结果分析 系统产生60分频器的时钟脉冲。思考题:如何消除险象竞争?答:竞争冒险最重要的危险是引起毛刺现象。当组合逻辑电路存在冒险现象时,可以采取修改逻辑设计,增加选通电路,增加输出滤波等多种方法来消除冒险现象。实验四 数字电路系统实验设计交通灯控制器一、 实验目的1设计一个简易交通灯控制器,并在实验装置上验证所设计的电路;2学习层次化设计方法。二、实验要求位于十字路口的交通灯,在A方向和B方向各有红、黄、绿三盏灯,亮灭顺序如表所示,1表示亮,0表示灭,假设灯亮灭时间均为1S。本实验设计输入方法、验证器件不限,最终需建立一个元件符号。A方向B方向红灯黄灯绿灯红灯黄灯绿灯100001100010010010010100001100010100010010100010三、源代码module fenpin(clk,clock );input clk;output clock;reg23:0 count;reg clock;parameter PRD=10000000;always (posedge clk) begin if(count=PRD) begin count=0;clock=clock;endelse count=count+1;endendmodulemodule jishu(clock,jishu );input clock;output 2:0 jishu;reg 2:0 jishu;always (posedge clock) jishu=jishu+1;endmodulemodule yima(clock,jishu ,yima);input clock;input 2:0 jishu;output 5:0 yima;reg 5:0 yima;always (posedge clock)begin case(jishu) 6b000:yima=6b100001; 6b001:yima=6b100010; 6b010:yima=6b010010; 6b011:yima=6b010100; 6b100:yima=6b001100; 6b101:yima=6b010100; 6b110:yima=6b010010; 6b111:yima=6b100010; endcaseendendmodule四、结果分析:利用实验三中的分频器,对其计数,译码操作,以信号灯显示的方式输出。思考题:如何实现各灯亮灭时间可调?通过对实验模块分频的代码进行修改,修改PRD的值例如改为20000000,然后if语句中count=2PRD等,对高低电平持续的时间进行控制,从而对各灯亮灭时间进行调控。 实验五 数字电路系统实验设计一个方波信号输出电路一、 实验目的1设计一个方波信号产生电路,并在实验装置上验证所设计的电路;2建立自顶向下的设计思路。二、实验要求设计一个占空比为20、周期为1S的方波信号,并用末位数码管进行指示当方波信号为高电平时,数码管显示2;当方波信号为低电平时,数码管显示8。三、源代码module fangbo(clk,dout,cpld_cs,an );input clk;output 7:0 dout,an;output 1:0 cpld_cs;assign cpld_cs = 2b01;reg clock=1;reg23:0 count;reg 7:0 dout;parameter PRD=3000000; always (posedge clk) begin if(count=PRD) begin clock=clock; count=count+1; end else if(count=5*PRD) begin count=0; clock=clock; end else count=count+1; end always (clock) begin if(clock=1) dout=8b0101_1011; else dout=8b0111_1111; endassign an=8b11111110;endmodule四、结果分析: 系统给定占空比为20、周期为1S的信号,单在0.2秒时时钟翻转,直到1.0秒时在次翻转。时钟为上升沿时数码管显示2,下降沿时数码管显示8.实验六 数字电路系统实验设计两人掷骰子比较点大小的游戏电路一、 实验目的1设计一个游戏电路并在实验装置上验证所设计的电路;2建立自顶向下的设计思路。二、实验要求A、 B两人玩掷骰子的游戏,当A的点数大于B的点数时,输出H=“1”、L=E=“0”;当A的点数小于B的点数时,输出L=“1”、H=E=“0”;当A的点数等于B的点数时,输出E=“1”、H=L=“0”;并同时用两个数码管显示A、B两人的点数。三、源代码module compare(clk,deng,dout,cpld_cs,an);input clk;output 2:0 deng;output 1:0 cpld_cs;output 7:0 dout,an;reg 7:0 dout,an;reg 2:0 deng;/reg clock1,clock2;reg25:0 count1;reg25:0 count2;reg2:0 a=1;reg2:0 b=1;reg flag=1;parameter PRD=20000000;assign cpld_cs = 2b01;/20M分频always (posedge clk) begin if(count1=PRD) begin if(a=6) begin a=1; end else begin a=a+1; end count1=0;endelse count1=count1+1; end /40M分频 always (posedge clk) begin if(count2=2*PRD) begin count2=0;if(b=6) begin b=1;endelse begin b=b+1;endendelse count2b) deng=3b100;else if (a=b) deng=3b010; else deng=3b001; end/各自显示数值always (posedge clk)begin if(flag=1) begin an=8b11111101;case(a)3b001:dout=8b0000_0110;3b010:dout=8b0101_1011;3b011:dout=8b0100_1111;3b100:dout=8b0110_0110;3b101:dout=8b0110_1101;3b110:dout=8b0111_1101;endcaseflag=0; endelse beginan=8b11111110;case(b)3b001:dout=8b0000_0110;3b010:dout=8b0101_1011;3b011:dout=8b0100_1111;3b100:dout=8b0110_0110;3b101:dout=8b0110_1101;3b110:dout=8b0111_1101;endcaseflag=1; endendendmodule四、结果分析 利用开关控制玩家1,2掷骰子的点数,通过比较显示玩家1,2的点数大小。心得体会:连续几周

温馨提示

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

评论

0/150

提交评论