复杂可编程逻辑器件FPGA信号灯.docVIP

  • 1
  • 0
  • 约5.02千字
  • 约 11页
  • 2017-05-31 发布于北京
  • 举报
复杂可编程逻辑器件 及数字系统设计 系 别 电子信息工程系 专 业 电子信息 学 生 姓 名 项 伟 班 级/学 号 电信1004/2010010585 成 绩 实验一 熟悉软硬件环境及使用 实验目的 学习软件的基本操作; 学习原理图和HDL两种设计输入方法; 初步掌握器件设计输入、编译、仿真、下载的过程; 学习实验装置的使用方法。 二、实验要求 选用课上或书中的例题,按照第二章所述练习软件的使用:分别选用原理图输入方式和输入方式进行电路功能设计;掌握的开发步骤——设计输入、设计实现、设计验证;按照第五章所述了解实验装置的使用方法。 实验二 组合逻辑电路的设计 实验目的 设计8段译码器、两路4位二进制比较器在实验装置上验证所设计的电路; 学习用HDL语句进行逻辑描述 二、实验要求 用HDL中真值表的设计方法设计8段译码器、用布尔方程的设计方法设计两路4位二进制比较器,对器件进行配置及下载来验证自己的设计,验证电路的外围器件可选用按键输入、指示灯输出。 8段译码器的逻辑功能 输入 输出 in[3..0] dp g f e d c b a 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 2 0 1 0 1 1 0 1 1 3 0 1 0 0 1 1 1 1 4 0 1 1 0 0 1 1 0 5 0 1 1 0 1 1 0 1 6 0 1 1 1 1 1 0 1 7 0 0 0 0 0 1 1 1 8 0 1 1 1 1 1 1 1 9 0 1 1 0 1 1 1 1 A 0 1 1 1 0 1 1 1 B 0 1 1 1 1 1 0 0 C 0 0 1 1 1 0 0 1 D 0 1 0 1 1 1 1 0 E 0 1 1 1 1 0 0 1 F 0 1 1 1 0 0 0 1 两路4位二进制比较器逻辑功能 输入 输出 a[3..0] b[3..0] H L E a[3..0] b[3..0] 1 0 0 a[3..0] b[3..0] 0 1 0 a[3..0]= b[3..0] 0 0 1 实验三 时序逻辑电路的设计 实验目的 1.设计8位锁存器、60分频器在实验装置上验证所设计的电路; 2.了解时序逻辑电路的设计特点二、实验要求 用原理图输入方式设计8位锁存器、用HDL输入方式设计60分频器。验证电路的外围器件可选用按键输入、数码管输出。module fp20(clk,clock); input clk; output clock; reg[24:0] count; reg clock; parameter PRD always @(posedge clk) begin if(count==PRD) begin count=0; clock=~clock; end else count=count+1; end endmodule 四、结果分析 系统产生60分频器 思考题:如何消除险象竞争?竞争冒险最重要的危险是引起毛刺现象当组合逻辑电路存在冒险现象时,可以采取修改逻辑设计,增加选通电路,增加输出滤波等多种方法来消除冒险现象。 实验四 数字电路系统实验——设计交通灯控制器 实验目的 1.设计一个简易交通灯控制器在实验装置上验证所设计的电路; 2.二、实验要求 位于十字路口的交通灯,在A方向和B方向各有红、黄、绿三盏灯,亮灭顺序如表所示,1表示亮,0表示灭,假设灯亮灭时间均为1S。A方向 B方向 红灯 黄灯 绿灯 红灯 黄灯 绿灯 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 module fenpin(clk,clock ); input clk; output clock; reg[23:0] count; reg clock; parameter PRD always @(posedge clk) begin if(count==PRD) begin count=0; clock=~clock; end else count=count+1; end endmodule

文档评论(0)

1亿VIP精品文档

相关文档