




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 1 EDA 技术发展及介绍技术发展及介绍 1 1EDA 技术的介绍技术的介绍 EDA 是电子设计自动化 Electronic Design Automation 缩写 是 90 年代初从 CAD 计算机辅助设计 CAM 计算机辅助制造 CAT 计算机辅助测试 和 CAE 计 算机辅助工程 的概念发展而来的 EDA 技术是以计算机为工具 根据硬件描述语言 HDL Hardware Description language 完成的设计文件 自动地完成逻辑编译 化 简 分割 综合及优化 布局布线 仿真以及对于特定目标芯片的适配编译和编程下 载等工作 硬件描述语言 HDL 是相对于一般的计算机软件语言 如 C PASCAL 而言的 HDL 语言使用与设计硬件电子系统的计算机语言 它能描述电子系统的逻辑功能 电路结 构和连接方式 设计者可利用 HDL 程序来描述所希望的电路系统 规定器件结构特征 和电路的行为方式 然后利用综合器和适配器将此程序编程能控制 FPGA 和 CPLD 内部 结构 并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件 目前 就 FPGA CPLD 开发来说 比较常用和流行的 HDL 主要有 ABEL HDL AHDL 和 VHDL 1 2 EDA 技术的发展技术的发展 可将 EDA 技术分为三个阶段 1 七十年代为 CAD 阶段 人们开始用计算机辅助进行 IC 版图编辑 PCB 布局布 线 取代了手工操作 产生了计算机辅助设计的概念 2 八十年代为 CAE 阶段 与 CAD 相比 除了纯粹的图形绘制功能外 又增加了 电路功能设计和结构设计 并且通过电气连接网络表将两者结合在一起 实现了工程 设计 这就是计算机辅助工程的概念 CAE 的主要功能是 原理图输入 逻辑仿真 电 路分析 自动布局布线 PCB 后分析 3 九十年代为 ESDA 阶段 尽管 CAD CAE 技术取得了巨大的成功 但并没有把 人从繁重的设计工作中彻底解放出来 在整个设计过程中 自动化和智能化程度还不 高 各种 EDA 软件界面千差万别 学习使用困难 并且互不兼容 直接影响到设计环 2 节间的衔接 基于以上不足 人们开始追求 贯彻整个设计过程的自动化 这就是 ESDA 即电子系统设计自动化 1 3 EDA 技术的发展趋势技术的发展趋势 目前的 EDA 产业正处在一场大变革的前夕 对更低成本 更低功耗的无止境追求 和越来越短的产品上市压力正迫使 IC 供应商提供采用 0 13 m 或以下的千万门级的系 统芯片 而这些系统芯片的高复杂性设计更加依赖于 EDA 供应商提供全新的设计工具 和方法以实现模拟前后端 混合信号和数字电路的完全整合 然而 这些新的需求为 当代 EDA 工具和设计方法带来了不少新的挑战与机会 例如 如何在工艺上防止模拟电路与数字电路之间的干扰 现有的大部份 EDA 工 具最多只能处理百万门级设计规模 随着 IC 设计向千万门级以上规模发展 现有 EDA 工具和方法必须进行升级 如何融合各 EDA 供应商的工具 以便向 IC 设计界提供更高 效能和更方便的 RTL to GDSII 或 Conc ept to GDSII 整合设计环境 为保证深亚微米 0 13 m 或以下 和更低内核工作电压 1 8V 或以下 时代的信号完整性和设计时序收 敛 必须采用新的设计方法 半导体工艺的每一次跃升都促使 EDA 工具改变自己 以适应工艺的发展 反过来 EDA 工具的进步又推动设计技术的发展 可以说 EDA 工具是 IC 设计产业的背后推手 系统芯片 SOC 正在迅速地进入主流产品的行列 由此引发的 芯片就等于整机 的现象 将对整个电子产业形成重大的冲击 种种迹象表明 整个电子产业正在酝酿 着一场深刻的产业重组 这将为许多新兴的企业提供进入这一行业的最佳 3 2 总体方案设计 总体方案设计 2 1 设计内容设计内容 要求设计一个汽车尾灯控制电路 汽车尾部左右两侧各有 3 个指示灯 用发光二极 管模拟 当在汽车正常运行时指示灯全灭 在右转弯时 右侧 3 个指示灯按右循环顺 序点亮 R1 R2 R3 全灭 R1 时间间隔 0 5S 采用一个 2HZ 的方波源 在左转 弯时 左侧 3 个指示灯按左循环顺序点亮 L1 L2 L3 全灭 L1 汽车倒车或临时 刹车时 所有指示灯按时钟信号同步闪烁 2 2 设计方案比较设计方案比较 方案一 由单片机 AT89S52 来实现汽车尾灯控制电路的设计 外围电源采用 5V 电源供电 时钟由 12MHZ 的晶振产生 通过按键的状态来检测汽车的行使状态 中央 处理器由 AT89S52 单片机来完成 汽车行使状态由左右两侧的各三个 LED 发光二极 管来模拟 这种方案 结构简单容易掌握 各部分电路实现起来都非常容易 在传统 的汽车尾灯设计中也应用得较为广泛 技术成熟 其原理框图如图 2 1 图 2 1 单片原理实现框图 方案二 基于现场可编程逻辑门阵列 FPGA 通过 EDA 技术 采用 VerilogHDL 硬件描述语言实现汽车尾灯控制电路设计 程序设计思想为 对 输入信号采用四种状态进行优先编码实现 A1 A0 的组合 由时钟触发环形技术器进行 环形计数 输出中间状态 Q2 Q1 Q0 再通过组合逻辑电路输出结果状态 其框图如 图 2 2 电源供电电路 时钟产生电路 按键控制电路 左转指示灯 L2 L1 L0 右转指示灯 L2 L1 L0 AT89S52 单片机 4 图 2 2 汽车尾灯电路控制框图 2 3 方案论证方案论证 通过方案一二的比较 可以看出方案一的设计使用分立元件电路较为多 因此会 增加电路调试难度 且电路的不稳定性也会随之增加 而采用 FPGA 芯片实现的电路 由于在整体性上较好 在信号的处理和整个系统的控制中 FPGA 的方案能大大缩减电路 的体积 提高电路的稳定性 此外其先进的开发工具使整个系统的设计调试周期大大缩 短 一般来讲 同样的逻辑 基于 FPGA 要比基于单片机要快很多 因为它们工作的原 理是完全不同的 单片机是基于指令工作的 同样的激励到达单片机后 单片机首先 要判断 然后读取相应的指令 最后作出相应 这每一步都是需要在单片机的时钟驱 动下一步步的进行 而基于 FPGA 则是把相应的逻辑 暂时 固化为硬件电路了 它对 激励作出的响应速度就是电信号从 FPGA 的一个管脚传播另一个管脚的传播速度 当然 这指的是异步逻辑 同时电信号也要在芯片内进行一些栅电容的充放电动作 但这些 动作都是非常非常快的 2 4 方案选择方案选择 结合现代汽车的整体性能的提升 也对其各个部件的性能提出了更高的要求 尤 其在现代 SOC 技术的引领下 人们对低故障 高实时 高可靠 高稳定的性能更加青 睐 结合本设计的要求及综合以上比较的情况 我们选择了基于 FPGA 的汽车尾灯控制 电路方案 4 种状态优先级编码 环形计数器 组合逻辑电路 CLK Q2 Q1 Q0 I3 I0A1 A0 5 3 单元模块设计 单元模块设计 本设计由现场可编程门矩阵 FPGA 作为控制芯片 通过 VreilogHDL 硬件描述语 言设计 运用自顶而下的设计思想 按功能逐层分割实现层次化的设计 总体设计方 案为由按键 I3 I2 I1 状态模拟汽车的行驶状态输入 通过优先级编码器编码为 具有优先级的 A1 A0 状态量 而尾灯的循环点亮状态由环形计数器来实现 与时钟频 率同步闪烁状态按时钟状态取反来实现 下面介绍主要模块的功能及作用 3 1 有源晶振电路有源晶振电路 图 3 1 有源晶振电路 采用有源晶振作为时钟信号源 它是一个完整的振荡器 其内部除了石英晶体外 还有阻容软件和晶体管 有源晶振信号质量好 比较稳定 而且连接方式比较简单 主要是作为电源滤波 通常使用的为一个电容和电感组成的 PI 型滤波网络 输出端使 用一个小阻值电阻过滤信号 串电阻可减小反射波 避免反射波叠加引起过冲 减少 谐波以及阻抗匹配 减小回波干扰及导致的信号过冲 由于本设计所用的为 20MHZ 的晶振 而 20MHz 以下的晶体晶振基本上都是基频的 器件 稳定度好 20MHz 以上的大多是谐波的 如 3 次谐波 5 次谐波等等 稳定度 差 因此我们使选用频的器件 毕竟倍频用的 PLL 电路需要的周边配置主要是电容 电阻 电感 其稳定度和价格方面远远好于晶体晶振器件 6 3 2 供电电路供电电路 图 3 2 供电电路 本设计中使用到了三个电源 第一是 5V 的电源 用于为上拉电阻提供电压 第 二是 3 3V 电源 用于为 FPGA 芯片提供工作电压 第三是 2 5V 电源 用于为 FPGA 芯片内核工作提供电压 在 FPGA 芯片管脚上 2 5V 电源必须接在内核电源输入端 VCCINT 上 而 VCCIO 是芯片输入输出引脚工作电源 根据输入输出的设备不同 可 以接 2 5 V 3 3 V 或 5 0 V 特别注意的是 EPC1PC8 的工作电压必须为 3 3V 且该配置芯片属于 Flash Memory 闪存 器件 具有可擦写的功能 7 3 3 PS 配置电路配置电路 图 3 3 配置电路 配置电路采用被动串行 PS 模式 为了利用 ByteBlasterMV 下载电缆配置 EP1K30TC144 器件 3 3V 的电源应该接上拉电阻 电缆的 VCC 脚连到 3 3V 电源 而器 件的 VCCINT 的引脚连接到相应的 2 5V 对于 PS 配置电路 器件的 VCCIO 引脚必须连接 到 2 5V 上拉电阻接到配置器件的电源端 这里接到了 5V 电源端 nCS 接到 nCONFIG 端 OE 接到 nSTATUS 端 DCLK 与 DCLK 相连接 DATA 与 DATA0 相连接 nCEO 引脚端悬空 8 3 4 按键输入电路按键输入电路 图 3 4 按键输入电路 在设计中利用四个独立键盘来模拟汽车行驶时的四种状态 当对键被按下时 对 应输入状态为低电平 通过取非后转换为输入信号为高 进而控制汽车尾灯的点亮状 态 当四个键都未被按下时表示汽车处于正常行驶状态 汽车尾灯没有任何指示 当 汽车处于刹车状态时 即 I3 对应的键被按下 汽车尾部的灯全部按照时钟频率同步闪 烁 3 5 LED 灯输出电路灯输出电路 图 3 5 LED 灯输出电路 9 6 个 LED 灯模拟汽车尾灯的左转 右转 刹车及正常行驶时的状态 4 特殊器件的介绍 特殊器件的介绍 4 1 CPLD 器件介绍器件介绍 CPLD 是 Complex Programmable Logic Device 的缩写 它是有最早的 PLD 器件发 展形成的高密度可编程逻辑器件 它具有编程灵活 集成度高 设计开发周期短 适 用范围宽 开发工具先进 设计制造成本低 对设计者的硬件经验要求低 标准产品 无需测试 保密性强 价格大众化等特点 CPLD 是一种用户根据各自需要而自行构 造逻辑功能的数字集成电路 其基本设计方法是借助集成开发软件平台 用原理图 硬件描述语言等方法 生成相应的目标文件 通过下载电缆 在系统 编程 将代 码传送到目标芯片中 实现设计的数字系统 许多公司都开发出了 CPLD 可编程逻辑器件 比较典型的就是 Altera Lattice Xilinx 世界三大权威公司的产品 如 Altera 公司的 MAXII 器件 就是其极具代表性的一类 CPLD 器件 是有史以来功耗最低 成本最低的 CPLD MAX II CPLD 基于突破性的体系结构 在所有 CPLD 系列中 其单位 I O 引脚的功耗和成本都是 最低的 Altera 公司的 MAX7000A 系列器件是高密度 高性能的 EPLD 它是基于第二代 MAX 结构 采用 CMOS EPROM 工艺制造的 该系列的器件具有一定得典型性 其他结构都与 此结构非常的类似 它包括逻辑阵列块 宏单元 扩展乘积项 可编程连线阵列和 IO 控制部分 由于大多数 CPLD 是基于乘积项的 与或 结构 故适合设计组合逻辑电路 4 2 FPGA 器件介绍器件介绍 FPGA Field Programmable Gate Array 可以达到比 PLD 更高的集成度 它是 在 PAL GAL EPLD 等可编程器件的基础上进一步发展起来的 具有更复杂的布线结构 和逻辑实现 PLD 器件和 FPGA 的主要区别在于 PLD 是通过修改具有固定内连电路得逻 辑功能来进行编程 而 FPGA 是通过修改一根或多根分割宏单元的基本功能块的内连线 的布线来进行编程 它一般由可嵌入式阵列块 EAB 逻辑阵列块 LAB 快速互联 通道 Fast Track IO 单元 IOE 组成 10 Altera Cyclone II 采用全铜层 低 K 值 1 2 伏 SRAM 工艺设计 裸片尺寸被尽 可能最小的优化 采用 300 毫米晶圆 以 TSMC 成功的 90nm 工艺技术为基础 Cyclone II 器件提供了 4 608 到 68 416 个逻辑单元 LE 并具有一整套最佳的功能 包括嵌 入式 18 比特 x18 比特乘法器 专用外部存储器接口电路 4kbit 嵌入式存储器块 锁 相环 PLL 和高速差分 I O 能力 Cyclone II 器件扩展了 FPGA 在成本敏感性 大批 量应用领域的影响力 延续了第一代 Cyclone 器件系列的成功 由于 FPGA 是基于查找表 LUT 结构的器件 且每个 LAB 由 10 个 LE 组成 一个 LE 由 LUT 和寄存器组成 适合于时序逻辑电路的设计 4 3 EP1K30TC144 器件介绍器件介绍 ACEX1K 器件是 Altera 公司在 2000 推出的 2 5V 低价格 SRAM 工艺 FPGA 结构与 10KE 类似 带嵌入式存储块 EAB 部分型号带 PLL 主要有 1K10 1K30 1K50 1K100 等型号 EP1K30TC144 器件中 EP1K 表示器件类型 30 表 示器件内有 30K 个逻辑门 T 代表封装类型 C 表示用途为商用 144 表示管脚数为 144 其引脚图如图 4 3 所示 图 4 3 EP1K30TC 11 5 最小系统原理 最小系统原理 12345678 A B C D 87654321 D C B A T itle N umberR evisionSize A 3 D ate 21 Jun 2009Sheet of File C D ocuments and S ettings A dministrator 功功 E DA 功功功功 FPG A ddbD raw n By V CC IO 5 G ND IN T 6 G ND IN T 15 V CC IN T 16 V CC IO 24 G ND IN T 25 G ND IN T 40 V CC IO 45 V CC IN T 50 G ND IN T 52 V CC C K LK 53 G ND CK LK 57 G ND IN T 58 V CC IO 61 G ND IN T 66 V CC IO 71 V CC IN T 75 G ND IN T 84 V CC IN T 85 G ND IN T 93 V CC IO 94 V CC IN T 103 G ND IN T 104 V CC IO 115 G ND IN T 123 V CC IN T 127 G ND IN T 129 V CC IO 134 G ND IN T 139 EP1K30TC144 POWER U 4A E P1K30T C144 C ON F D ON E 2 nC E O 3 nS TA T US 35 nC O NF IG 74 M SE L1 76 M SE L0 77 nC E 106 D CL K 107 D AT A 0 108 T CK 1 T DO 4 C LK U SR IO 7 R DY nB U SY IO 11 IN IT D O NE IO 14 T MS 34 L OC K IO 42 D edicated Inputs 54 D edicated C lock Pins G CL K 1 55 D edicated Inputs 56 D EV C L Rn IO 122 D edicated Inputs 124 D edicated C lock Pins 125 D edicated Inputs 126 D EV O E IO 128 T DI 105 nR S IO 141 nW S IO 142 C S IO 143 nC S IO 144 E P1K 30T C144功功功功 U 4B E P1K30T C144 IO 8 IO 9 IO 10 IO 12 IO 13 IO 17 IO 18 IO 19 IO 20 IO 21 IO 22 IO 23 IO 26 IO 27 IO 28 IO 29 IO 30 IO 31 IO 32 IO 33 IO 36 IO 37 IO 38 IO 39 IO 41 IO 43 IO 44 IO 46 IO 47 IO 48 IO 49 IO 51 IO 59 IO 60 IO 62 IO 63 IO 64 IO 65 IO 67 IO 68 IO 69 IO 70 IO 72 IO 73 IO 78 IO 79 IO 80 IO 81 IO 82 IO 83 IO 86 IO 87 IO 88 IO 89 IO 90 IO 91 IO 92 IO 95 IO 96 IO 97 IO 98 IO 99 IO 100 IO 101 IO 102 DATA1 IO 109 DATA2 IO 110 DATA3 IO 111 DATA4 IO 112 DATA5 IO 113 DATA6 IO 114 DATA7 IO 116 IO 117 IO 118 IO 119 IO 120 IO 121 IO 130 IO 131 IO 132 IO 133 IO 135 IO 136 IO 137 IO 138 IO 140 E P1K 30T C144功IO U 4C E P1K30T C144 R 32 10KR 31 10K R 18 10K R 29 10K R 30 10K 5V 3 3V 2 5V 5V 功功 C 21 0 1u 5V CLKIN 5MHz C LK IN 5MH z R 36 102 5V R 37 331 C 7 0 1u C 5 0 1u C 6 0 1u C 4 0 1u V in 1 GND 2 V out 3 4 U 1 SPX 1117M 3 3 3V V in 1 GND 2 V out 3 4 U 3 SPX 1117M 3 2 5V C 3 10u C 9 10u C 8 10u C 10 10u G ND 2 N C 1 O UT 3 V CC 4 JZ 2 C LK R 3 21 Pow er K ey2 Pow er2 C 11 5V 20 5V 5V 2 5V 3 3V 供电电路 有源晶振电路 FPGA电源引脚 FPGA IO引脚 FPGA程序下载电路 FPGA引脚 电源开关 21 K 1 21 K 2 21 K 3 21 K 4 四个独立按键 3 3V nC E O IN T 0 IN T 1 T 0 T 1 L1 L2 A3 A4 R0 R1 R2 IN T 0 IN T 1 T 0 T 1 T XD R XD R W R A B C D E F G DP 1302 IO 1302 C LK 1302 R ST 0832 C LK 0832 D 0832 C S U 5 DI U 5 DO U 5 CS L ED 1 U 5 CL K L ED 2 U 4 SD A L ED 3 U 4 SC L L ED 4 IO 138 L ED 5 IO 140 L ED 6 L ED 7 R 2 1K L ED 8 D 3 L ED 1 U SB PO W ER 1 D AT A 2 D AT A 3 U SB GN D 4 SH E LL 1 5 SH E LL 2 6 J8POW E R 5V D 20 4007 L 1 330uH 5V 1 2 3 J2 POW E R D CL K 2 O E 3 nC S 4 G ND 5 nC A CS 6 V CC 7 V CC 8 D AT A 1 U 5 E PC 1PC8 D CL K nS TA T US nC O N D ON E D AT A 0 3 3V D AT A 0 10 G ND 1 G ND 9 D CL K 2 nS TA T US 8 V CC 3 N C 7 D ON E 4 nC O NF IG 6 N C 5 J34 PS L O AD D0 D7 1 2 3 4 5 R P2 C ON 5 D3 D1 D2 D4 D5 D6 VCC L A L B L C LD LE LF LG LH D 4 L ED 1 D 13 L ED 1 D 14 L ED 1 D 17 L ED 1 D 18 L ED 1 D 19 L ED 1 3 3V UP1 UP2 UP3 UP4 UP5 UP6 UP7 UP8 R A R B R C R D R E R F R G R H DOWN1 DOWN2 DOWN3 DOWN4 DOWN5 DOWN6 DOWN7 DOWN8 1 2 3 4 5 6 7 8 9 10 11 J25 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J26 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J29 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J30 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J27 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J28 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J31 C ON 11 1 2 3 4 5 6 7 8 9 10 11 J32 C ON 11 1302 R ST1302 C LK 1302 IOIO 140 IO 138U 4 SD A U 4 SC LU 5 CL K U 5 DOU 5 DI U 5 CS0832 D 0832 C S0832 C LK RW R T 1T 0 IN T 1IN T 0 T XDR XD D 0D 1 D 2D 3 D 4D 5 D 6D 7 L 0L 1 L 2R 0 A 4A 3 R 1R 1 D PG FE DC BA L ED 8L ED 7 L ED 6L ED 5 L ED 4L ED 3 L ED 2L ED 1 R AR B R CR D R ER F R GR H L AL B L C L DL E L FL G L HU P8 U P7U P6 U P5U P4 U P3U P2 U P1D OW N 1 D OW N 2D OW N 3 D OW N 4D OW N 5 D OW N 6D OW N 7 D OW N 8 L0 L1 L2 R0 R1 R2 L0 R 9 510 R 10 510 R 11 510 R 15 510 R 16 510 R 17 510 6个LED灯模拟汽车尾灯 图 5 1 电路原理图 本设计的电路实现是基于 FPGA 最小系统原理图 再配以所需的外设 最小系统设 计包含了时钟产生电路模块 程序下载配置电路模块 电源电路模块 通过连线将各 个模块进行连接成最小系统 由于本设计电路比较简单 外设比较少 使用到的四个 独立键盘 模拟实现信号输入 六个 LED 灯模拟实现信号状态指示 我们队外设也作 了扩展准备 将 FPGA 芯片的 IO 引脚进行了插针引出 以方便后续电路的扩展 将外设与最小系统进行合理正确连接 即可实现本设计的电路原理要求 12 6 软件实现 软件实现 通过至顶向下 TOP DOWN 的设计方法 我们对电路的设计要求作了分析 从电 路要实现的功能着手 逐层分析电路设计的步骤 再具体到各个模块的设计实现以及 各模块实现方案的选择 从本设计的电路要求 我们分析了需要实现一个输入状态的 编码 以及对循环点亮灯的方式的选择 综合这两种状态控制输出信号的状态变化 其电路功能表如图 6 1 功能 R2 R1 R0L2 L1 L0 正常行驶 0 0 00 0 0 1 0 00 0 0 0 1 00 0 0 右拐 0 0 10 0 0 0 0 0 0 0 1 0 0 0 0 1 0 左拐 0 0 01 0 0 急刹车 CLK CLK CLKCLK CLK CLK 图 6 1 汽车尾灯控制电路功能表 软件设计流程图 图 6 2 软件设计流程图 灯全灭 I3 I2 I1 I3 I2 I1 A 1 0 0 0 A 1 0 1 0 A 1 0 0 1Main Document Only A 1 0 11 001 010 100 CLK L2 L1 L0 R2 R1 R0 Q 2 0 Q 2 0 Q 2 0 13 6 1 软件设计软件设计 设计程序如下 module myedadesign R2 R1 R0 L2 L1 L0 CLK I3 I2 I1 CLK 2HZ output R2 R1 R0 L2 L1 L0 output CLK 2HZ input I3 I2 I1 input CLK reg R2 R1 R0 L2 L1 L0 reg 1 0 A always I3 or I2 or I1 begin if I3 A 1 0 2 b00 else if I2 A 1 0 2 b10 else if I1 A 1 0 2 b01 else A 1 0 2 b11 end 14 优先级编码实现对输入信号的编码 reg 2 0 Q reg 2 0 STATE NEXT STATE reg 22 0 count 分频计数器 reg CLK 2HZ 2HZ 时钟 parameter STATE0 3 b000 STATE1 3 b001 STATE2 3 b010 STATE3 3 b011 STATE4 3 b100 STATE5 3 b101 STATE6 3 b110 STATE7 3 b111 定义状态常量 parameterf clk in 20 000 000 晶振频率 f clk out 2 分频后频率 count full f clk in f clk out 2 1 计数次数 4C4B3F always posedge CLK begin if count 0 count count full else count count 23 b1 end 分频实现 20MHZ 到 2HZ 的转换 15 always negedge CLK begin if count 0 CLK 2HZ CLK 2HZ end 产生 2HZ 的时钟 always posedge CLK 2HZ begin STATE NEXT STATE end always posedge CLK 2HZ begin case STATE STATE0 begin NEXT STATE STATE1 end STATE1 begin NEXT STATE STATE2 end STATE2 begin NEXT STATE STATE4 end STATE3 begin NEXT STATE STATE6 end STATE4 begin NEXT STATE STATE1 end STATE5 begin NEXT STATE STATE2 end STATE6 begin NEXT STATE STATE4 end 16 STATE7 begin NEXT STATE STATE6 end endcase end 状态机实现环形计数器 always posedge CLK 2HZ begin case STATE STATE0 Q 3 b000 STATE1 Q 3 b001 STATE2 Q 3 b010 STATE3 Q 3 b011 STATE4 Q 3 b100 STATE5 Q 3 b101 STATE6 Q 3 b110 STATE7 Q 3 b111 endcase end 设置状态转移量状态 always STATE begin 17 if A 2 b00 begin R2 0 R1 0 R0 0 L2 0 L1 0 L0 0 end else if A 2 b01 begin R2 Q 2 R1 Q 1 R0 Q 0 L2 0 L1 0 L0 0 end else if A 2 b10 begin R2 0 R1 0 R0 0 L2 Q 2 L1 Q 1 L0 Q 0 end else if A 2 b11 begin R2 CLK 2HZ R1 CLK 2HZ R0 CLK 2HZ L2 CLK 2HZ L1 CLK 2HZ L0 CL K 2HZ end end 输出信号状态实现 endmodule 6 2 环形计数器状态转移图环形计数器状态转移图 图 6 3 环形计数器状态转移图 000 000000 000000 000 000 000 18 环形计数器是由移位寄存器加上一定的反馈电路构成的 用移位寄存器构成环形 计数器是由一个移位寄存器和一个组合反馈逻辑电路闭环构成 反馈电路的输出接向 移位寄存器的串行输入端 反馈电路的输入端根据移位寄存器计数器类型的不同 可 接向移位寄存器的串行输出端或某些触发器的输出端 环形计数器 是把移位寄存器 最低一位的串行输出端 Q1反馈到最高位的串行输入端 即 D 触发器的数据端 而构成 的 在此设计中我们用到得为三位环形计数器 在移位脉冲 时钟 的作用下 反复 在三位移位寄存器中不断循环 该环形计数的计数长度为 N n 和二进制计数器相比 它有 2n n 个状态没有利用 它利用的有效状态是少的 要想使环形计器在选定的时序中工作 就必须防止异常时序和死态的出现 因此 我们必须对其余无效的状态全部回到有效状态中去 19 7 7 系统仿真及调试 系统仿真及调试 7 1 仿真仿真 通过 QuartusII 软件 我们进行了仿真 其仿真波形如下图 图 7 1 波形仿真图 由设计要求可知 本设计输入为四种状态 分别由 I3 I2 I1 I0 控制 其中 I0 为无用状态 当 I3 I2 I1 都为低电平时 汽车处于正常行驶状态 汽车尾部的灯全 部处于熄灭状态 当 I1 为高电平 1 时 汽车处于右转状态 对应输出为汽车尾部 右侧三个灯循环点亮 实现了指示右转的状态的功能 当 I2 为高电平 1 时 汽车 处于左转状态 对应输出为汽车尾部左侧三个灯循环点亮 实现了指示左转的状态的 功能 当 I3 为高电平 1 时 汽车为刹车状态 对应输出转态为时钟状态取反 实 现了左右 6 个灯闪烁 R2 R1 R0 L2 L1 L0 20 通过分析可知汽车刹车的状态为为优先级最高 汽车无论行驶在什么状态 只要 输入状态为刹车信号 I3 为高电平 汽车立即显示闪烁状态指示刹车 当没有刹车信 号输入时 输入左转信号 I2 时 汽车尾部左侧三个等循环点亮 其优先级次之 由于左转 右转信号不可能同时发生 故可将与 I2 无优先级的 I1 信号设置为第三优先 级 当没有刹车信号及左转信号时 汽车响应右转状态 当然汽车正常行驶时 I3 I2 I1 都为 0 优先级最低 在 QuartusII 软件中利用硬件描述语言描述电路后 用 RTL Viewers 生成的对应的 电路图如下 clk STATE6 STATE5 STATE4 STATE3 STATE2 STATE1 STATE0 SEL DATAA DATAB OUT0 MUX21 0 10 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A 1 0 B 1 0 OUT EQUAL A 1 0 B 1 0 OUT EQUAL A 1 0 B 1 0 OUT EQUAL A 1 0 B 1 0 OUT EQUAL D ENA PRE CLR Q D ENA PRE CLR Q D ENA PRE CLR Q D ENA PRE CLR Q D ENA PRE CLR Q D ENA PRE CLR Q 0 always4 0 always4 1 always4 2 always4 4 always4 7 always4 8 Equal3 2 h3 L0 latch L1 latch L2 latch R1 latch R2 latch R2 R1 R0 L2 L1 L0 I3 I2 I1 WideOr2 A 0 Equal2 2 h2 always4 9 A 1 0 2 h3 Equal0 2 h0 always4 5 R0 latch always4 3 always4 6 Equal1 2 h1 WideOr0 WideOr1 STATE CLK 7 2 调试调试 在 QuartusII 软件中 通过对所设计的硬件描述语言代码进行波形仿真后 达到了 预期效果 于是 我们在该软件上进行下载配置设置 在 Assignments 菜单下选中 Devices 在 Family 栏选择 ACEX1K 选中 EP1K30TC144 2 器件 再在 Assignments 菜 单下选中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我心中的未来城市想象画想象写物结合类作文12篇范文
- 金融咨询服务协议
- 门面租房协议书合同
- 2022学年上海复旦附中高一(下)期末历史试题及答案
- 2021学年上海华二紫竹高一(下)期中地理试题及答案
- 《中国古代文化史讲座:中华传统文化教育教案》
- 工地无伤赔偿协议书
- 八月装修公司活动方案
- 公交公司为民活动方案
- 公交宣传活动方案
- 《redis讲解》PPT课件
- TOM全面品质管理PPT课件
- 风机基础施工强条执行记录表
- (完整版)澳洲不随行父母同意函
- 模具报价表精简模板
- 客诉处理与应对技巧
- 哈工大桥梁基础与墩台复习总结盛洪飞
- 框架六层中学教学楼工程施工方案
- 浅析Zabbix平台在电力企业信息设备监控中的应用
- 螯合树脂资料
- 电力工程监理规划
评论
0/150
提交评论