文档详情

实验一基于原理图的十进制计数器

大米
实名认证
店铺
PPT
3.32MB
约28页
文档ID:571296766
实验一基于原理图的十进制计数器_第1页
1/28

实验一:基于原理图的十进制计数器设计实验操作指南 实验目的1、熟悉和掌握ISE Foudation软件的使用;2、掌握基于原理图进行FPGA设计开发的全流程;3、理解和掌握“自底向上”的层次化设计方法;4、温习数字电路设计的基础知识 实验原理完成一个具有数显输出的十进制计数器设计十进制计数器七段数码管显示译码器使能控制端时钟端异步清零端FPGA 1. 七段数码管译码器的设计 七段数码管属于数码管的一种,是由7段二极管组成 按发光二极管单元衔接方式分为共阳极数码管和共阳极数码管本实验使用共阳数码管它是指将一切发光二极管的阳极接到一同构成公共阳极(COM)的数码管共阳数码管在应用时应将公共极COM接到电源VCC上,当某一字段发光二极管的阴极为低电平相应字段就点亮,当某一字段的阴极为高电平相应字段就不亮 显示译码器,一般是将一种编码译成十进制码或特定的编码,并通过显示器件将译码器的状态显示出来 数码输入输出对应码(h)A3A2A1A0ABCDEFG000000000001811000110011CF200100010092300110000186 4010010011CC501010100100A4601100100000A07011100011118F8100000000008091001000010084A1010000110088b10111101000E0C11000111001B1d11011000010C2E11100110000B0F11110111000B8表2-1 七段字符显示真值表 采用“最小项译码器+逻辑门”的方案 最小项译码器输出能产生输入变量的所有最小项,而任何一个组合逻辑函数都可以变换为最小项之和的标准形式,故采用译码器和门电路可实现任何单输出或多输出的组合逻辑函数。

当译码器输出低电平有效时,一般选用与非门;当译码器输出高电平有效时,一般选用或门 本实验可以采用ISE软件自带的“Decoder”库中的4线-16线译码器D4_16E(带使能端,输出高电平有效)和“Logic”库中的16输入或门OR16 seg7A seg7 2. 十进制计数器的设计•调用ISE软件自带的“Counter”库中的十进制计数器CD4CE•CD4CE是一个同步十进制器,输入有异步清零控制端CLR、工作使能控制端CE和时钟输入端C,输出有BCD码计数值输出端Q3~Q0,进位输出端TC和输出状态标志位CEO Seg7cnt10 3. 基于原理图的自底向上的设计流程•本实验为完成设计,采用了自底向上的设计流程自底向上设计是一种设计程序的过程和方法,是在设计具有层次结构的大型程序时,先设计一些较下层的程序,即去解决问题的各个不同的小部分,然后把这些部分组合成为完整的程序•自底向上设计是从底层(具体部件)开始的,实际中无论是取用已有模块还是自行设计电路,其设计成本和开发周期都优于自顶向下法;但由于设计是从最底层开始的,所以难以保证总体设计的最佳性,例如电路结构不优化、能够共用的器件没有共用。

实验设备1、硬件设备(1)计算机;(2)【红芯电子】RCXQ208_V5 FPGA开发板 ;(3)USB连接线(接头1扁1方);(4)开发板适配电源; 【红芯电子】RCXQ208_V5 FPGA开发板 实验板上的四位一体共阳极数码管 实验板上的数码管电路 实验内容1、新建一个工程,为工程命名、指定存储路径和目标芯片等建议同学们为每个工程都创建一个文件夹,并集中在一个文件夹进行管理建议工程名、路径名中不要使用中文2、为工程新建一个原理图文件,可命名为seg7A采用“最小项译码器+逻辑门”的方案,调用ISE自带的元件符号,按图2-2所示绘制好数码管A段LED的驱动逻辑电路并生成原理图模块符号,以便后面调用 器件属性选择 3、在资源管理区将“Sources for”设置为“Behavioral Simulation”,然后在任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,然后选中“Test Bench WaveForm”类型,输入文件名为“simseg7A”,点击Next进入下一页这时,工程中所有设计模块的名称都会显示出来,可按需要选择要进行测试的模块由于此时工程内还只有一个模块seg7A,所以只列出了seg7A。

选中它点击“Next”后进入下一页,直接点击“Finish”按键 4、HDL Bencher工具自动启动,等待用户输入所需的时序要求由于seg7A是个组合电路,在时序要求上只有少数项可改动将测试初始化长度(Initial Length of Test Bench)数值调整到2000 5、编辑修改测试波形对于总线值提供了模式设置功能点点击击点点击击 6、在资源管理区中选中simseg7A,在资源操作区中双击“Xilinx ISE Simulator”下的“Simulate Behavioral Model”,启动ISE Simulator执行仿真查看仿真结果,如图3.2所示,分析模块功能是否正确7、按以上步骤分别绘制七段显示译码器的B~G段输出函数原理图,生成模块符号,并做功能仿真8、再为工程新建一个原理图文件,命名为seg7,调用前面生成的A~G段输出函数模块符号,如图2.3所示绘制七段显示译码器原理图生成模块符号,以便后面调用9、为工程新建一个测试激励文件,命名为Simseg7编辑测试激励文件10、调用CD4CE计数器符号和seg7模块符号,绘制计数器顶层原理图如图2.4所示 11、为计数器顶层原理图编辑测试激励文件,执行功能仿真验证。

12、执行综合阅读综合结果报告,记录其中关于时钟频率、资源消耗等关键数据 13、编辑引脚约束文件本实验中使用了板上的拨动开关SW1,SW2,SW3控制输入使能信号,清零信号,数码管选通信号按键k2作为时钟信号,本设计中由于采用了按键输入作为计数器时钟,因而使用PACE将无法锁定clk信号到按键k2的连接引脚上但可通过直接编辑约束文件,添加相关约束开关来达到目的以四位一体的共阳极数码管中的一个数码显示为数据输出约束文件的内容见下NET "clk" LOC = P57 | IOSTANDARD = LVCMOS33 | CLOCK_DEDICATED_ROUTE = FALSE;NET "ce" LOC =P32 | IOSTANDARD = LVCMOS33;NET "clr" LOC = P20 | IOSTANDARD = LVCMOS33; NET “SEG_EN" LOC = P26 | IOSTANDARD = LVCMOS33; NET "A" LOC = P102 | IOSTANDARD = LVCMOS33; # DATA0aNET "B" LOC = P99 | IOSTANDARD = LVCMOS33;# DATA1bNET "C" LOC = P107 | IOSTANDARD = LVCMOS33;# DATA2 c NET "D" LOC = P109 | IOSTANDARD = LVCMOS33;# DATA3dNET "E" LOC =P112 | IOSTANDARD = LVCMOS33;# DATA4 eNET "F" LOC =P100 | IOSTANDARD = LVCMOS33;# DATA5f 14、执行实现。

阅读实现报告记录芯片资源的耗用和关键性指标参数记录芯片各类资源的耗用量;查看引脚报告看是否与锁定一致;查看本设计的最高工作频率将这里得到数据与之前完成综合后的数据做个比较 15、执行时序仿真验证观察仿真结果波形,说明的毛刺现象和延迟现象产生的原因16、生成下载配置文件17、准备硬件开发板,连接外围显示模块,连接好下载线18、启动iMPACK完成下载配置,进行硬件验证 1、叙述实验的具体步骤2、分析并说明本次实验所完成的工程文件结构关系3、记录本实验中所完成的FPGA资源耗用情况和运行时钟频率4、如何分析仿真软件运行出的结果?5、在仿真激励信号的设计上组合电路和时序电路分别关注的重点是什么?为什么?实验报告 请同学们抓紧时间进行实验! 。

下载提示
相似文档
正为您匹配相似的精品文档