1、电子设计自动化 基于 FPGA 的电子时钟设计 草鱼 草鱼 草鱼 电子设计自动化技术与应用 草鱼 设计报告 草鱼 草鱼 草鱼 草鱼 设计题目 : pork基于 FPGA 的电子时钟设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 目录 草鱼 1 需求分析 2 草鱼 1.1 草鱼 基本功能 2 草鱼 1.2 草鱼 功能要求说明 2 草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 1 2 计时器总体结构设计 2 草鱼 3 系统模块化设计 3 草鱼 3.1 草鱼 分频模块 3 草鱼 3.2 模式选择模块 4 草鱼 3.3 草鱼 计时模
2、块 4 草鱼 3.4 草鱼 秒表功能模块 5 草鱼 3.5 显示模块 6 草鱼 3.6 顶层模块 7 草鱼 4 电路图综合结果及仿真结果 7 草鱼 4.1 电路图综合结果 7 草鱼 4.2 仿真图 9 草鱼 4 系统的实现与验证 9 草鱼 4.1 管脚分配情况 9 草鱼 4.2 实现与验证 10 草鱼 5 设计体会 11 草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 2 基于 FPGA 的电子时钟设计 草鱼 1 需求分析 草鱼 1.1 草鱼基本功能 草鱼 1、 por k能够在 LED 显示器上清晰的显示小时 , 鲤鱼 分钟和秒 ; por k草鱼 2、 por k能够通过按键 准确
3、 调整小时 , 鲤鱼 分钟和秒 ; por k草鱼 3、 por k能够实现秒表计时的功能 , 鲤鱼 秒表的精度是 0.01s。 草鱼草鱼 1.2 草鱼功能要求说明 草鱼 1、 por k电子 时 钟 采用 24 小时的显示格式 , 鲤鱼 上电或按键复位后 能够 从 0 时 0 分 0 秒开始运行 , 鲤鱼 进入时钟运行状态 。 草鱼草鱼 2、 por k当 按 下 电子 时 钟 启动 调整键 , 鲤鱼 则电子 时 钟进入调整 时钟 模式 , 鲤鱼 此时可利用各调整键调整时间 , 鲤鱼 调整结束后 按启动调整键 , 鲤鱼 则电子时钟 再次进入 到 时钟运行状态 。 草鱼草鱼 3、 por k当
4、按下秒表启用键时 , 鲤鱼 秒表开始计时 , 鲤鱼 再次按下秒表启用键时停止计时 , 鲤鱼 当读取到计时时间时 , 鲤鱼 按下时钟启用键 , 鲤鱼 则进入时钟运行状态 。 草鱼草鱼 2 计时器总体结构设计 草鱼 在应用 Verilog 硬件描述语言进行数字电路设计的时候 , 鲤鱼 通常可以采用自顶向下或者自底向上两种设计流程 。 草鱼 根据需求分析所要实现功能的具体要求 , 鲤鱼 采用自顶向 下的方法 将电路系统逐层分解细 化 , 鲤鱼 设计其总体结构 。 草鱼草鱼 计时器应该包含计时和显示两大部分 。 草鱼草鱼 经过分析 , 鲤鱼 计时部分应该采用 60 进制计数器各两个(分 , 鲤鱼 秒计
5、时) , 鲤鱼 24 进制计数器一个(小时计时) 秒表部分 需要采用 100 进制的计数器一个 。 草鱼 显示部分采用动态扫描 , 鲤鱼 可以 有效地节约硬件资源 。 草鱼 显示部分应该包括动态扫描和译码显示电子设计自动化 基于 FPGA 的电子时钟 设计 3 两部分 。 草鱼草鱼 除此之外 , 鲤鱼 系统还应该具有计时和显示的分频电路 。 草鱼 计时分频电路用来降低系统所用晶振的频率 ; pork显示分频电路用来决定合适的刷新频率 , 鲤鱼 既要能够正常显 草鱼 示 ,鲤鱼 又要满足硬 件的要求 。 草鱼 电子时钟总体结构框图如图 1.1 所示 。 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
6、鱼 草鱼 50MHz 草鱼 草鱼 图 1.1 草鱼 电子时钟的总体框图 草鱼 3 系统 模块 化 设计 草鱼 3.1 草鱼分频模块 草鱼 根据需求分析的要求 , 鲤鱼 分频电路 需要 产生 1HZ、 pork100HZ、 pork1000HZ 的脉冲信号 。 草鱼其中 秒表 的精确度为 0.01s, 鲤鱼 首先需要一个准确的计时基准时钟 , 鲤鱼 它的周期为10ms, 鲤鱼 即需要用 100Hz 的计时时钟 。 草鱼 电子时钟的运行 需要一 个 1HZ 草鱼 的脉冲信号来控制秒计时 。 草鱼 动态扫描模式需要 1000 草鱼 HZ的脉冲信号来控制 。 草鱼 电子时钟的 分频模块如图 3.1 所
7、示 : por k草鱼 24 进制计数器 60 进制计数器 60 进制计数器 时间 数据 动态 扫描 模块 译 码 电 路 数 码 显 示 管 100 进制计数器 分 频 模 块 电子设计自动化 基于 FPGA 的电子时钟 设计 4 草鱼 图 3.1 草鱼 分频模块 草鱼 3.2 模式选择 模块 草鱼 根据需求分析的要求 , 鲤鱼 电子时钟分为时钟运行 模式 , 鲤鱼 调整时间模式和 秒表运行 模式 , 鲤鱼 在运行时需要对运行状态进行转换 。 草鱼 电子时钟的 模式选择 模块如图 3.2 所示 :por k草鱼 草鱼 图 3.2 草鱼 模式选择 模块 草鱼 3.3 草鱼计时模块 草鱼 根据需
8、求分析的要求 , 鲤鱼 电子时钟 计时 模块 的 功能为正常计时 , 鲤鱼 即每 秒钟读 出一 次数 , 鲤鱼 秒表加 1, 鲤鱼 秒计时满 60 进 1 给分计时 , 鲤鱼 分计时满 60 进 1 给小时计时 , 鲤鱼 小电子设计自动化 基于 FPGA 的电子时钟 设计 5 时计时满 24 清零 。 草鱼 从功能上讲 需要 60 进制计数器 , 鲤鱼 60 进制 计数器和 24 进制计数器 。 草鱼 秒表的精度是 0.01S, 鲤鱼 从功能上讲需要一个 100 进制计数器 。 草鱼 电子时钟的计时模块如图 3.3 所示 : por k草鱼 草鱼 图 3.3 草鱼 计时模块 草鱼 3.4 草鱼
9、秒表功能模块 草鱼 根据需求分析要求 , 鲤鱼 电子时钟秒表 模块功能为进行手动计时 , 鲤鱼 按一下 key2 为计时 , 鲤鱼 再按一次 key2 为停止计时 , 鲤鱼 保存计数数值 , 鲤鱼 依此类推 ; pork按一次 key1 为计数清零 , 鲤鱼 停止计数 。 草鱼 电子时钟秒表模块 计数器共有三个 , 鲤鱼 分别为百分秒的 100进制 计数器 , 鲤鱼 秒钟的 60 进制 计数器和分钟的 60 进制 计数器 。 草鱼 秒表功能模块如图 3.4 所示 : por k草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 6 草鱼 图 3.4 草鱼 秒表功能模块 草鱼 3.5 显示模
10、块 草鱼 电子时钟显示模块主要是用 LED 显示 , 鲤鱼 采用动态扫描方式显示 。 草鱼 根据需求分析的要求 , 鲤鱼 电子时钟显示模块包括 调整时间显示 和 时钟 , 鲤鱼 秒表运行 显示两部分 , 鲤鱼如图 3.5 和图 3.6 所示 , 鲤鱼 分别表示 调整时间显示 和 时钟 , 鲤鱼 秒表运行 显示 。 草鱼草鱼 草鱼 图 3.5 调整时间显示 草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 7 草鱼 图 3.6 时钟 , 鲤鱼 秒表运行显示 草鱼 3.6 顶层 模块 草鱼 顶层模块的作用主要是将分频模块 , 鲤鱼 模式选择模块 , 鲤鱼 计时模块 , 鲤鱼 秒表功能模块 和
11、显示模块连接在一起 , 鲤鱼 实现需求分析中电子时钟所要求的功能 。 草鱼 顶层模块如图3.7 所示 :草鱼 草鱼 图 3.7 草鱼 顶层模块 草鱼 4 电路图综合结果及仿真结果 草鱼 4.1 电路图综合结果 草鱼 在 quartus 工程文件 中 对各个模块进行编译 , 鲤鱼 无误后 进行综合 , 鲤鱼 得到最外层电路图 , 鲤鱼 途中包含了各个子模块 , 鲤鱼 各子模块中 又包含下层模块 。 草鱼 电子时钟电路图综合结果如图 4.1 所示 。 草鱼草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 8 草鱼 电子设计自动化 基于 FPGA 的电子时钟 设计 9 图 4.1 电路图综合结
12、果 草鱼 4.2 仿真图 草鱼 在 quartus 工程文件中对程序进行仿真 , 鲤鱼 仿真如图 4.2 所示 。 草鱼草鱼 草鱼 图 4.2 仿真图 草鱼 4 系统 的实现与验证 草鱼 4.1 管脚分配情况 草鱼 根据程序的模块化分析和实验板芯片的管脚分配图 , 鲤鱼 在 quartus软件的工程文件的 Pin 草鱼 Planner 中 设置需要的管脚 , 鲤鱼 管脚分配的情况如表 4.1 所示 : por k草鱼 表 4.1 草鱼 管脚分配情况 DIG7 Output PIN_202 DIG6 Output PIN_203 DIG5 Output PIN_189 DIG4 Output PIN_188 DIG3 Output PIN_187 DIG2 Output PIN_186