




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 数字秒表设计实验报告数字秒表设计实验报告 学院 系 专 业 学 号 学生姓名 指导教师 电子设计实验报告 数字秒表的设计 1 目目 录录 摘 要 4 1 引言 6 1 1FPGA 的开发 6 1 2VHDL 语言的使用 7 1 3 ISE 简介 8 1 4modelsim 仿真软件的使用 8 2 数字秒表的设计 9 2 1 时间的概念 9 2 2 实验任务及要求 9 2 3 系统需求和解决方案 10 2 3 1 分频器设计 12 2 3 2 按键消抖电路设计 12 2 3 3 控制器设计 13 2 3 4 计数器设计 13 2 3 5 锁存器设计 14 2 3 6 扫描显示和控制电路设计 14 2 3 7 模块综合 15 3 数字秒表的仿真结果 15 3 1 各仿真结果 16 3 2 分频器仿真 16 3 3 计数器仿真 16 4 实验结论 16 参考文献 17 电子设计实验报告 数字秒表的设计 2 附 录 17 电子设计实验报告 数字秒表的设计 3 摘摘 要要 本次实验设计使用的软件 ISE 主要功能包括设计输入 综合 仿真 实现和下载 涵盖了可编程逻 辑器件开发的全过程 从功能上讲 完成 CPLD FPGA 的设计流程无需借助任何第三方 EDA 软件 而本 次设计目的在于设计一个可以自动计数 清零 锁存 暂停的 显示范围为 59 分 59 秒 精确度为百 分之一秒的数字秒表并熟练利用 modelsim 仿真软件进行仿真并从中不断检验错误 修改程序达到学习 提高的效果 为达到实验目的 本设计分为 分频器 锁存器 计数器 控制器及消抖电路 关键词 ISE modelsim 仿真 数字秒表设计 FPGA 可编程逻辑器件 检验 学习 电子设计实验报告 数字秒表的设计 4 Abstract The ISE software used in experimental design the main function including design implementation integration simulation and download covers the whole process of the development of programmable logic devices tell from the function completed the design of CPLD FPGA without using any third party EDA software And the purpose of the design is to design an automatic counting reset latches suspended display area for 59 minutes and 59 seconds accuracy of one percent second digital stopwatch and skilled use of the modelsim simulation software simulation and continuous inspection error modify the program to improve learning effect For the purpose of the experiment the design is divided into frequency divider latch counter controller and shake circuit Key words ISE modelsim digital stopwatch The FPGA programmable logic devices check learn 电子设计实验报告 数字秒表的设计 5 1 引言 在传统的硬件电路设计中 主要的设计文件是电路原理图 而采用硬件描述语言 VHDL 设计系统硬件电路时主要使用 VHDL 编写源程序 所谓硬件描述语言 就是该语 言可以描述硬件电路的功能 信号连接关系及定时关系 EDA 代表了当今电子设计技术发 展的方向 它的基本特征是 设计人员按照 自顶向下 的设计方法 对整个系统进行方 案设计和功能划分系统的关键电路 用一片或几片专用集成 ASI 实现 然后采用硬件描述 语言 HDL 完成系统设计 最后通过综合器和适配器生成最终的目标 这样的设计方法被 称为高层次的电子设计 高层次的设计给我们提供了一种 自顶向下 Top2Down 的全 新设计方法 这种方法首先从系统入手 在顶层进行功能方框图的划分和结构设计 在方 框图一级进行仿真 纠错并用硬件描述语言对高层的系统进行描述 在系统一级进行验 证 然后用综合优化工具生成具体的门电路网表 1 1 FPGA 的开发使用 FPGA Field Programmable Gate Array 即现场可编程门阵列 它是在 PAL GAL CPLD 等可编程器件的基础上进一步发展的产物 它是作为专用集成电路 ASIC 领域中的一种半定制电路而出现的 既解决了定制电路的不足 又克服了原有 可编程器件门电路数有限的缺点 FPGA 的开发相对于传统 PC 单片机的开发有很大不同 FPGA 以并行运算为主 以硬件描述语言来实现 相比于 PC 或单片机的顺序操作有很大区 别 也造成了 FPGA 开发入门较难 FPGA 开发需要从顶层设计 模块分层 逻辑实现 软 硬件调试等多方面着手 一个完整的设计流程包括电路设计与输入 功能方针 设计综 合 综合后仿真 设计实现布线后仿真与下载 实验板调试等主要步骤 如下图 1 示 图 1 FPGA 开发流程 电子设计实验报告 数字秒表的设计 6 FPGA 芯片的组成 1 可编程输入输出单元 2 基本可编程逻辑单元 3 完整的时 钟管理 4 嵌入块式 RAM 5 丰富的布线资源 6 内嵌的底层功能单元和专用硬件模 块 在本实验中我们采用的实验板为 FPGAxc3s200a 4ft256的板子 此 FPGA 芯片隶属于 Spartan 3A FPGA 芯片系列 Spartan 3A 系列延伸平台融小型器件封装以及 Spartan 3A Spartan 3A DSP 和 Spartan 3AN 平台经市场验证的低成本和高性能特点于一体 形成一系列单个的 大容量的 FPGA 平台 凭借对业界最广泛的 I O 标准 26种 的支 持 丰富的节电配置功能和防克隆安全优势 赛灵思 Spartan 系列已经成为目前全球应 用最广泛的低成本 FPGA 与同类低成本 FPGA 解决方案相比 赛灵思 Spartan 3A 延伸 FPGA 解决方案可降低高达50 的总体系统成本 众多系统功能的集成减少了对外部元器 件的需要 降低了静态功耗并且提供了更为强大的低成本安全系统 这一优势对于系统 设计人员来说极具吸引力 Spartan 3A 系列 FPGA 主要技术特征如下表示 1 2 VHDL 语言的使用 VHDL 主要用于描述数字系统的结构 行为 功能和接口 除了含有许多具有硬件特 征的语句外 VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言 VHDL 的程序结构特点是将一项工程设计 或称设计实体 可以是一个元件 一个电路模 块或一个系统 分成外部 或称可视部分 及端口 和内部 或称不可视部分 既涉及 实体的内部功能和算法完成部分 在对一个设计实体定义了外部界面后 一旦其内部开 发完成后 其他的设计就可以直接调用这个实体 这种将设计实体分成内外部分的概念 是 VHDL 系统设计的基本点 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 它自身必然具有很多其 他硬件描述语言所不具备的优点 归纳起来 VHDL 语言主要具有以下优点 1 VHDL 语言功能强大 设计方式多样 2 VHDL 语言具有强大的硬件描述能力 3 VHDL 语言具有很强的移植能力 4 VHDL 语言的设计描述与器件无关 5 VHDL 语言程序易于共享和复用 VHDL 程序结构特点是将一个电路模块或一个系统分成端口和内部功能算法实现两部 分 对于一个电路模块或者数字系统而言 定义了外部端口后 一旦内部功能算法完成 后 其他系统可以直接依据外部端口调用该电路模块或数字系统 而不必知道其内部结 构和算法 VHDL 的特点使得电子系统新的设计方法一一 自顶向下 设计方法更加容易 实现 可以先对整个系统进行方案设计 按功能划分成若干单元模块 然后对每个单元 型号 系统 门数 SLICE 数目 分布式 RAM 容量 块 RAM 容量 专用乘 法器数 DCM 数目 最大可用 I O 数 最大差分 I O 对数 XC3S50A50k86411k54k3214464 XC3S200A200k201628k288k164248112 XC3S400A400k403256k360k204311142 XC3S700A700k662492k360k208372165 XC3S1400A 1400k 12672176k576k328502227 电子设计实验报告 数字秒表的设计 7 模块进一步细分编程 直到简单实现的单元电路 VHDL 支持硬件的设计 验证 综合和 测试 以及硬件设计数据的交换 维护 修改和硬件的实现 具有描述能力强 生命周 期长 支持大规模设计的分解和已有设计的再利用等优点 1 3 ISE 软件的使用 ISE 的主要功能包括设计输入 综合 仿真 实现和下载 涵盖了可编程逻辑器件开 发的全过程 从功能上讲 完成 CPLD FPGA 的设计流程无需借助任何第三方 EDA 软件 下面简要说明各功能的作用 设计输入设计输入 ISE 提供的设计输入工具包括用于 HDL 代码输入和查看报告的 ISE 文本编 辑器 The ISE Text Editor 用于原理图编辑的工具 ECS The Engineering Capture System 用于生成 IP Core 的 Core Generator 用于状态机设计的 StateCAD 以及用于 约束文件编辑的 Constraint Editor 等 综合综合 ISE 的综合工具不但包含了 Xilinx 自身提供的综合工具 XST 同时还可以内 嵌 Mentor Graphics 公司的 Leonardo Spectrum 和 Synplicity 公司的 Synplify 实现无 缝链接 仿真仿真 ISE 本身自带了一个具有图形化波形编辑功能的仿真工具 HDL Bencher 同时 又提供了使用 Model Tech 公司的 Modelsim 进行仿真的接口 实现实现 此功能包括了翻译 映射 布局布线等 还具备时序分析 管脚指定以及增 量设计等高级功能 下载下载 下载功能包括了 BitGen 用于将布局布线后的设计文件转换为位流文件 还 包括了 IMPACT 功能是进行芯片配置和通信 控制将程序烧写到 FPGA 芯片中去 ISE 使用的整体开发流程为 建立新工程 建立源文件 编写工程代码 行为仿真 各模块综合 管脚约束 功能实现 时序仿真 生成 bit 流文件 下载到实验板上调试 1 4 Modelsim 仿真软件的使用 仿真是指在软件环境下 验证电路的行为和设计意图是否一致 Modelsim 是一种第三 方 EDA 仿真工具 它是由 Model 公司开发的 它支持 Verilog VHDL 以及两者的混合仿 真 可以将整个程序分步执行 它在程序执行的任何步骤任何时刻都可以查看任意变量 的当前值 可以查看某一单元或模块的输入输出的连续变化等 其主要特点是仿真速度 快 仿真精度高 而且支持 VHDL Verilog HDL 以及两者的混合使用 是目前业界最流 行最通用的仿真器之一 Modelsim 仿真步骤分为以下 5 步 1 建立库 2 映射库到物理目录 3 编译源代码 包括所有的 HDL 代码和 Testbench 4 启动仿真器并加载设计顶层 电子设计实验报告 数字秒表的设计 8 5 执行仿真 一般来说 仿真分为三种类型 即功能仿真 综合后功能仿真和时序仿真 分别对 应于设计输入后 综合完成后 布局布线完成后等步骤 这些步骤也是仿真的切入点 1 功能仿真 功能仿真也称为前仿真 主旨在于验证电路功能是否符合设计要求 其特点是不考 虑电路门延时与路径延时 考察重点为电路在理想环境下的行为和设计构想是否一致 可综合 FPGA 仿真代码是用 RTL 级代码语言描述的 功能仿真的输入是设计的 RTL 代码 也就是 HDL 源文件与 Testbench 2 综合后仿真 综合后仿真的主旨在于验证综合后的电路结构是否与设计意图相符 是否存在歧义 综合结果 综合后仿真的输入是从综合得到的一般性逻辑网表抽象出的仿真模型和综合 产生的延时文件 综合时的延时文件仅仅能估算门延时 而不包含布线延时信息 所以 延时信息不十分准确 3 时序仿真 时序仿真也称为布局布线后仿真或者后仿真 是指电路已经映射到特定的工艺环境 后 综合考虑电路的路径延时与门延时的影响 验证电路的行为是否能够在一定时序条 件下满足设计构想的功能 时序仿真主要目的在于验证电路是否存在时序违规 其输入 为从布局布线抽象出的门级网表 Testbench 以及扩展名为 SDO 的标准延时文件 一般来 说 时序仿真是必选步骤 通过时序仿真能检查设计时序与 FPGA 的实际运行情况是否一 致 确保设计的可靠性和稳定性 2 数字秒表的设计 2 1 时间的概念 人类在生活中总结出时间的观念 其根源来自于日常生活中事件的发生次序 当然人 们在生活中得到的绝不仅仅是事件发生次序的概念 同时也有时间间隔长短的概念 这 个概念来源于对两个过程的比较 比如两件事同时开始 但一件事结束了另一件事还 在进行 我们就说另一件事所需的时间更长 这里我们可以看到 人们运用可以测量的 过程来测量抽象的时间 当前人类包括生物圈里的决大多数生命使用的都是太阳时 地 球自转一周导致了太阳东升西落一次 这一周期的完成就表示过去了一天 一天这个时 间是由地球自转一周导致的太阳东升西落这一运动状态决定的 一年也是一样 是由地 球公转绕太阳一周这个运动状态决定的 地球的自转和公转速度的改变状态将直接导致 人类使用的一天和一年发生改变时间来自于运动 不同的运动状态决定了不同的时间 控制运动 掌握时间成了每一个人都可以做到的事 时间不在神秘 一种运动状态决定 了一个时间 一个独立的时间也表示了一种动动状态的延续 2 2 实验任务及要求 秒表的计时范围为 00 00 00 59 59 99 有两个按钮开关 Start Stop 和 Split Reset 控制秒表的启动 停止 分段和复位 在秒表已经被复位的情况下 按下 Start Stop 键 秒表开始计时 在秒表正常运行 的情况下 如果按下 Start Stop 键 则秒表暂停计时 再次按下该键 秒表继续计 时 电子设计实验报告 数字秒表的设计 9 在秒表正常运行的情况下 如果按下 Split Reset 键 显示停止在按键时的时间 但 秒表仍然在计时 再次按下该键 秒表恢复正常显示 在秒表暂停计时的情况下 按下 Split Reset 键 秒表复位归零 图 2 2 1 实验原理图 图 2 2 2 秒表实物图 2 3 系统需求和解决方案 首先根据设计的要求明确设计的目的 并根据设计需求制定相应的设计方法 设计 出不同的设计模块 画出秒表设计的总框图 在设计时根据已有的设计框图一步步设计各 个子模块 在设计一个秒表电路时 需要先设计各个不同的子模块 然后进行模块的综 合 根据我们的习惯我们可以按照从左到右的顺序依次建立模块并进行组合 设计电路 时遵循从上到下的设计原则 首先从系统设计入手 在顶层进行功能划分和结构设计 顶层的每个子模块均可完成一个独立的功能 子模块在调试成功后可生成一个默认的符 号 以供上一层使用 考虑到实验电路板条件有限 仅有 48MHZ 的晶体振荡器 为获取 准确时间 需要 1KHZ 的时钟信号 且实际使用时又涉及到计数 进位 8 段数码管显示 暂停时的时间显示和保存 各部分联动及按键的消抖等诸多问题 故在分模块的设计时 可为分频器电路 按键消抖电路 控制电路 计数电路 锁存电路 扫描和显示电路 以下为各部分功能简述 电子设计实验报告 数字秒表的设计 10 图 2 3 1 实验板实物图 1 分频器 对产生的时钟信号的 48MHz 晶体振荡器进行分频 先产生 1KHz 产生时间基准信号 用以控制 8 个数码管以扫描方式显示计时结果 再对 1KHz 的分频信号再进行 10 分频 从而产生 100Hz 的基准信号 用于秒表最后 一位的显示 2 按键消抖电路 在按键按下时 FPGA 的输入为低电平 松开按键时 FPGA 的输入为高电平 但是在 按下按键和松开按键的瞬间会出现抖动现象 影响秒表的运行 因此需要按键消抖电路 用以消除按键输入信号抖动的影响 输出单脉冲 3 控制器 控制计数器的运行 停止以及复位 产生锁存器的使能信号 控制模块应包括开始 计时 停止计时 分段 复位两个按钮 即电路设计经常用到的使能端和清零端 这两个 控制端口直接接到计数器的清零和史能端即可实现复位 开始计时 停止计时 但是外 围使能输入需要经过使能转换电路后 才可变为计数器可用的使能控制信号 因此在 输入使能信号和计数器使能输入之间需设计一个信号转换模块 显示计数结果的模块实 现较为简单 只需将六位计数结果通过七段译码电路接到输出即可点亮数码管 无需 时序控制 直接用组合逻辑电路就可以实现 数码管显示可以采用扫描显示 用一个 频率 1KHz 的信号扫描一个多路选择器 实现对六位已经锁存的计数结果的扫描输出 该模块部分 VHDL 源程序见附录 状态图如图 2 3 3 所示 图 2 3 2 状态图 4 计数器 对时间基准脉冲进行计数 完成 10 进制 6 进制的计数功能 并在最后把他们进行 综合级联 组成两个 60 进制 一个 100 进制的计数器 5 数据锁存器 锁存数据使显示并保持暂停 6 扫描显示的控制电路 电子设计实验报告 数字秒表的设计 11 包括扫描计数器 数据选择器和 7 段译码器 控制 8 个数码管以扫描方式显示计时 结果 总框图如图 2 3 3 所示 总设计框图 2 3 1 分频器设计 实验板提供 48MHz 的震荡信号 要求输出频率分别为 1KHz 和 100Hz 分频器的实现 原理是基于计数器的方法设计的 通过对若干个震荡信号的计数来实现输出信号的翻转 故 而实现了分频 要得到 1KHz 的方波 需要 48000 分频 同时若想得到 100Hz 的方波 需要 再对得到的 1KHz 的时钟信号再进行 10 分频 对时钟分频模块是将输入的外部 48MHz 的 时钟信号进行分频 从而产生用来消抖和用于控制的 1KHz 的时钟信号 clk out 和用于秒 表内部计时的 100Hz 的时钟信号 clk 输入信号实验板晶振产生的 48MHz 的时钟信号 输 出信号分别是用于消抖和控制的 clk out 和用于计数的时钟信号 clk 如图示 本次设 计 我使用的方法是取第 24000 次翻转 从而达到 48000 次一个周期实现 1KHZ 信号的获 取 模块图如图 1 图 1 2 3 2 消抖电路设计 由于秒表采用按键的输入方式 按键产生的时间和持续的时间的长短是随机的 存 在各种原因引起的电平抖动现象 因此需要在每个开关后面加一个按键输入模块 消抖 模块应能排除在按键按下电平不能稳定变化 出现纹波的情况下 对按键电平的识别 按键输入模块的作用是保证系统能捕捉到输入脉冲 并保证每按一键 只形成一个宽度 为模块时钟周期的脉冲 当按键按下时 做一个延时 一段延时后 仍检测出按键为低电平 则认为按键按下 否则不判定为按键按下 本设使用计的按键消抖模块的思想为 当按键按下后 在所设 定的一小段时间内 持续维持低电平 则判断为真正按下 输出有效 2 3 3 控制器 使能控制是为了产生使能控制信号 在该控制信号作用下使输出发生翻转 按键输 入每来一个上升沿 使能输出电平变化一次 即实现了每按一次按键计数器在停止和开 始计数之间切换 控制模块的主要作用是产生秒表内部的定时计数的计数允许信号 该 模块的输入信号分别是两个去除抖动后的启动信号 ajxss ajxsr 以及时钟信号 clk out 输 出分别为用于控制计数器的清零信号 kzrst 控制计数器使能信号的 kzcin 以及控制锁存 电子设计实验报告 数字秒表的设计 12 器的信号 kzen 控制模块的引脚如图 2 示 图 2 2 3 4 计数器 秒表计数模块主要是用于实现秒表的定时计数功能 由于实验板数码管数量限制 计数器由六个计数器级联实现 其中 4 个十进制计数器 2 个六进制计数器 本实验方案 采用同步级联实现 本设计使用的是异步清零和同步使能 即当清零有效时 计数器立即清零 而当使 能有效时 只有当时钟上升沿到来时 才进行暂停或开始计数的功能 使能输入即进位 输入 首先先判断清零是否有效 当有效时 执行清零操作 q 值为 0 当清零无效时 并且使能有效是 进行计数 计数输出为四位二进制数 q 最后判断当计数值满并且使能 有效时 进位输出有效 六进制计数器原理与十进制计数器类似 只是 q 值最大为 0101 秒表计数模块的输入信号包括经过分频的 100Hz 时钟信号以及用于控制清零复位信 号 rst 和使能的 cin 秒表计数模块的输出信号就是秒表的计时信息 包括分十位信号 分个位信号 秒十位信号 秒个位信号 0 01 秒十位信号 0 01 秒个位信号 并将输出 信号与锁存器相连 作为锁存器的输入信号 根据计数器的知识我们可以知道 可以将 6 个计数器级联实现这个功能 利用分频器得到 0 01s 的方波信号 以此作为每一个计数 器的 clk 计数器计算上升沿 得到输出与进位 此计数器的进位作为下一个计数器的使 能控制端 cin 依次类推 一共有 7 个计数器 第 1 2 4 7 个计数器是十进制 第 5 8 个计数器是 6 进制 其中 rst 为复位清零信号 cin 为计数使能信号 计数器有模 10 和模 6 计数器 其引脚电路图如图 3 示 结构图如图 4 示 图 3 电子设计实验报告 数字秒表的设计 13 图 4 2 3 5 模块设计之数据锁存器 因为秒表设计中要求在计时过程中能随时固定显示时间 而计时仍然继续 所以要用 到锁存器 数据锁存器 在使能 en 1 时 将计数器传送来的数据正常传输至输出口从而 正常显示 en 0 时 不能将计数器传出来的数据正常送至输出 而是将之前输入送至输 出 一直显示因此不能正常显示 但此时仍能正常计数 当 en 再次等于 1 时 显示将回 归原来的状态 锁存器的输入为计数器的输出 锁存器结构如图 5 示 图 5 2 3 6 模块设计之扫描显示和控制电路 电子设计实验报告 数字秒表的设计 14 显示部分直接采用实验板上的 6 个共阳极数码管 如上图示 若想使数码管显示 则需先使其使能端置于低电平 在本设计中为 ncs 0 扫描显示和控制电路共分为 3 个小 模块 在 clk 信号 1khz 计数器数其上升沿 输出 q2 q1 q0 三位位选信号 在 q2 q1 q0 控制下 将来自锁存器的信号某一时刻只输出一个信号 将此信号输出成数 码管编码 位选某一时刻选择一个数码管显示相应数据 即为动态扫描显示 数码管的 7 个段 只需将其输出端口定义到可用作数码管显示的器件的 I O 引脚上即可 显示电路 引脚图如图 6 示 图 6 2 3 7 模块设计之模块综合 秒表内部模块级联框图如下 3 数字秒表的仿真结果 3 1 各仿真结果 编写各个模块的 testbench 文件 进行仿真 得到仿真波形 3 2 模块仿真之分频器 仿真波形如图示 图 3 1 电子设计实验报告 数字秒表的设计 15 图 3 1 3 3 计数电路仿真 模 6 计数器仿真 图 3 2 图 3 2 模 10 计数器仿真 图 3 3 图 3 3 4 实验结论 经下载仿真后 从 FPGA 实验板的运行结果来看 该秒表实现了设计要求中包括所有 扩展功能在内的全部功能 且显示时间稳定准确 按键灵敏度高 在 ISE 软件的开发环 境下 采用自顶向下的方法有利于在早期发现结构设计中的错误 再结合基于 FPGA 的可 编程实验板 轻松的实现了秒表的功能 利用仿真和现场观察实验结果 大大地提高了 设计的可靠性和成功率 充分体现了可编程逻辑器件在数字电路中的优越性 参考文献参考文献 1 侯伯亨 顾新 VHDL 硬件描述语言与数字逻辑电路设计 2 石英 李新新 ISE 应用与开发技巧 3 冯祥 可编程逻辑器件在数字系统中的应用 4 John M Yarbrough Digital logic Application and Design 5 熊焱春 刘益成 基于 FPGA 的数字秒表设计 6 古天祥 王厚军 习友宝 电子测量原理 7 洪海丽 用 VHDL 设计数字电路 8 胡青 EDA 设计中的层次化设计方法 9 刘宁宁 VHDL 语言在 FPGA 设计中的应用 10 于斌 米秀杰 ModelSim 电子系统分析及仿真 电子设计实验报告 数字秒表的设计 16 附录附录 1 分频器电路程序分频器电路程序 Company Engineer Create Date 15 50 08 03 06 2014 Design Name Module Name fenpin Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity fenpin is port clk in std logic clk out out std logic end fenpin architecture Behavioral of fenpin is signal new clk integer 0 signal clk out tmp std logic 0 begin process clk 电子设计实验报告 数字秒表的设计 17 begin if rising edge clk then if new clk 23999 then new clk 0 clk out tmp not clk out tmp else new clk new clk 1 end if end if end process clk out clk out tmp end Behavioral 2 消抖电路消抖电路程序程序 Company Engineer Create Date 16 37 31 03 06 2014 Design Name Module Name zongxiaodou Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity zongxiaodou is 电子设计实验报告 数字秒表的设计 18 port clk IN std logic key in IN std logic keysr in IN std logic key out OUT std logic keysr out OUT std logic end zongxiaodou architecture Behavioral of zongxiaodou is COMPONENT xiaodou PORT clk IN std logic key in IN std logic key out OUT std logic END COMPONENT signal zbclk std logic begin zbclk zbclk key in key in key out key out XD2 xiaodou PORT MAP clk zbclk key in keysr in key out keysr out end Behavioral XD1 use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity xiaodou is port clk in std logic key in in std logic key out out std logic end xiaodou architecture Behavioral of xiaodou is signal k1 k2 std logic signal cnt std logic vector 1 downto 0 begin process clk key in begin if clk event and clk 0 then if cnt 3 then k1 1 else k1 0 cnt cnt 1 end if k2 k1 end if if key in 0 then cnt 00 end if 电子设计实验报告 数字秒表的设计 20 end process key out not k1 and k2 end Behavioral 3 控制电路程序控制电路程序 Company Engineer Create Date 15 51 05 03 06 2014 Design Name Module Name control Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL entity control is port clk in std logic ajxss in std logic ajxsr in std logic kzrst out std logic kzcin out std logic kzen out std logic end control 电子设计实验报告 数字秒表的设计 21 architecture Behavioral of control is signal st std logic vector 2 downto 0 111 signal sr std logic vector 1 downto 0 begin sr case sr is when 01 ststst case sr is when 10 stst case sr is when 01 ststst case sr is when 01 stst st 111 end case end if end process kzrst st 2 kzcin st 1 kzen clk cin cin rst rst cout c0 q open U1 cnt 10 PORT MAP clk clk cin c0 rst rst cout c1 q q1 U2 cnt 10 PORT MAP clk clk cin c1 rst rst cout c2 q q2 U3 cnt 10 PORT MAP clk clk cin c2 rst rst cout c3 电子设计实验报告 数字秒表的设计 24 q q3 U4 cnt 6 PORT MAP clk clk cin c3 rst rst cout c4 q q4 U5 cnt 10 PORT MAP clk clk cin c4 rst rst cout c5 q q5 U6 cnt 6 PORT MAP clk clk cin c5 rst rst cout open q q6 end Behavioral 模 6 计数器 Company Engineer Create Date 15 54 25 03 06 2014 Design Name Module Name cnt 6 Behavioral Project Name Target Devices Tool versions Description Dependencies Revision 电子设计实验报告 数字秒表的设计 25 Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity cnt 6 is port clk in std logic cin in std logic rst in std logic cout out std logic q out std logic vector 3 downto 0 end cnt 6 architecture Behavioral of cnt 6 is signal old s new s std logic vector 3 downto 0 begin process rst clk begin if rst 1 then old s 0 elsif rising edge clk then old s new s end if end process process cin old s begin if cin 1 then if old s 5 then new s old s 1 else new s 0 end if else 电子设计实验报告 数字秒表的设计 26 new s old s end if end process process cin old s begin q old s if cin 1 and old s 5 then cout 1 else cout 0 end if end process end Behavioral 模 10 计数器 Company Engineer Create Date 15 53 15 03 06 2014 Design Name Module Name cnt 10 Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all 电子设计实验报告 数字秒表的设计 27 entity cnt 10 is port clk in std logic cin in std logic rst in std logic cout out std logic q out std logic vector 3 downto 0 end cnt 10 architecture Behavioral of cnt 10 is signal old s new s std logic vector 3 downto 0 begin process rst clk begin if rst 1 then old s 0 elsif rising edge clk then old s new s end if end process process cin old s begin if cin 1 then if old s 9 then new s old s 1 else new s 0 end if else new s old s end if end process process cin old s begin q old s if cin 1 and old s 9 then cout 1 else cout 0 end if end process end Behavioral 电子设计实验报告 数字秒表的设计 28 5 数据锁存电路程序数据锁存电路程序 Company Engineer Create Date 15 55 06 03 06 2014 Design Name Module Name save Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity save is port en in std logic rq1 in std logic vector 3 downto 0 rq2 in std logic vector 3 downto 0 rq3 in std logic vector 3 downto 0 rq4 in std logic vector 3 downto 0 rq5 in std logic vector 3 downto 0 rq6 in std logic vector 3 downto 0 cq1 out std logic vector 3 downto 0 cq2 out std logic vector 3 downto 0 cq3 out std logic vector 3 downto 0 cq4 out std logic vector 3 downto 0 cq5 out std logic vector 3 downto 0 cq6 out std logic vector 3 downto 0 end save 电子设计实验报告 数字秒表的设计 29 architecture Behavioral of save is signal s1 s2 s3 s4 s5 s6 std logic vector 3 downto 0 begin s1 rq1 s2 rq2 s3 rq3 s4 rq4 s5 rq5 s6 rq6 process s1 s2 s3 s4 s5 s6 en begin if en 1 then cq1 s1 cq2 s2 cq3 s3 cq4 s4 cq5 s5 cq6 s6 end if end process end Behavioral 6 扫描显示和控制电路扫描显示和控制电路程序程序 Company Engineer Create Date 15 55 40 03 06 2014 Design Name Module Name disp Behavioral Project Name Target Devices Tool versions Description Dependencies Revision Revision 0 01 File Created Additional Comments 电子设计实验报告 数字秒表的设计 30 library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL Uncomment the following library declaration if instantiating any Xilinx primitives in this code library UNISIM use UNISIM VComponents all entity disp is port zsclk in std logic m1 IN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南长沙市一中青竹湖湘一教育集团公开招聘教师50人模拟试卷及答案详解(夺冠系列)
- 2025年湖北医药学院专项公开招聘第二批工作人员11人模拟试卷及一套参考答案详解
- 2025江苏盐城市东台市教育局直属学校招聘教师、教练员58人考前自测高频考点模拟试题及完整答案详解
- 2025年福建省泉州市晋江市反邪教协会招聘1人模拟试卷附答案详解(黄金题型)
- 2025福建厦门红宝石投资管理有限公司社会招聘工程管理岗1人模拟试卷附答案详解(完整版)
- 2025湖南科技学院公开招聘44人考前自测高频考点模拟试题及1套参考答案详解
- 2025广西贺州市商务局公开招聘1人考前自测高频考点模拟试题及答案详解1套
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【医药卫生大类】模拟练习
- 小学复学安全培训方案课件
- Hydroquinone-d6-Quinol-d-sub-6-sub-生命科学试剂-MCE
- 施工安全生产风险分级管控和隐患排查治理双重预防机制建设实施方案
- 公共卫生间装修合同范本
- 【财务会计论文】会计电算化的优化策略论文(共10篇)(共25149字)
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
- 1.1.2 茶树无性繁殖
- 电梯控制技术实训报告总结
- (正式版)SHT 3078-2024 立式圆筒形料仓工程设计规范
- 智能化项目施工应急救援预案
- 【云南白药公司财务报表研究国内外文献综述4000字】
- 国际音标卡片(打印版)
- 科技与全球资源分配问题
评论
0/150
提交评论