首页 第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站

第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站

举报
开通vip

第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站 题 目: 基于VHDL的AD574A采样控 制器设计 院 系: 信息科学与技术学院 专 业: 电子信息科学与技术 学生姓名: 郑源敬 学 号: 033521065 指导教师: 黄以华(副教授) (职 称) 二〇〇八 年 四 月 摘 要 本文介绍了逐次逼近型模数转换芯片AD574A组成,工作原理,研究利用EDA技术在可编程芯片上实现AD574A采样控制器的一种实现方案。整个过程包括芯片选型,电路设计和输入(本文用VHDL硬件编程语言),...

第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站
第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目: 基于VHDL的AD574A采样控 制器设计 院 系: 信息科学与技术学院 专 业: 电子信息科学与技术 学生姓名: 郑源敬 学 号: 033521065 指导教师: 黄以华(副教授) (职 称) 二〇〇八 年 四 月 摘 要 本文介绍了逐次逼近型模数转换芯片AD574A组成,工作原理,研究利用EDA技术在可编程芯片上实现AD574A采样控制器的一种实现方案。整个过程包括芯片选型,电路设计和输入(本文用VHDL硬件编程语言),功能仿真。为此,作者从FPGA,VHDL,状态机应用技术背景的分析开始,运用这些技术手段,实践和验证了该预定方案实现的可行性。结果证明,利用最新的EDA工具软件辅助,实现AD控制器设计比较传统的设计手段更容易达到了目标,FPGA的灵活运用的特点也再次得到了证明。 关键词: AD574A;FPGA;MAX+PLUS;EDA;VHDL;仿真;状态机 - i - i Abstract This article introduces the constitution and operational principle of AD574A, researches how to use the EDA technology to make AD574A sampling controller on an programmable chip. The whole process included chip selecting, circuit designing and input simulation. The author also studies the technique back ground of FPGA, VHDL, state machine, and then uses this method to prove the implemented possibility of this program. The result approves that using the newest technological method, the designing of the AD controller world be easier than traditional way. And the characteristic of the flexible of the FPGA also has been approved here again. Keywords: AD574A; FPGA;MAX-PLUS;EDA;VHDL; simulation;state machine - ii - ii 目 录 第一章 前言 ........................................................................................................................................ 1 第二章 AD574A简介 ........................................................................................................................ 2 2.1 概况与技术指标 ........................................................................................................ 2 2.2 AD574A工作原理 .................................................................................................... 3 第三章 相关技术介绍 ......................................................................................................................... 4 3.1 EDA技术 .................................................................................................................. 4 3.2 FPGA技术 ................................................................................................................ 5 3.2.1 FPGA发展简史 .......................................................................................... 5 3.2.2 FPGA基本结构 .......................................................................................... 6 3.2.3 FPGA的特点 .............................................................................................. 8 3.2.3 FPGA的设计流程 ....................................................................................... 9 3.2.3 FPGA器件选择 ......................................................................................... 11 3.3 EDA工具软件MAX-PLUS简介 .......................................................................... 12 3.4 VHDL编程 3.4.1 VHDL的起源× ............................................................................................ 13 3.4.2 VHDL的特点 ............................................................................................. 13 3.5 状态机 3.4.1 基本原理 .................................................................................................. 14 3.4.1 一般有限状态机设计................................................................................ 15 第四章 系统分析和设计 ................................................................................................................... 16 4.1 系统分析 .................................................................................................................. 16 4.2 设计 .......................................................................................................................... 17 第五章 结论 ...................................................................................................................................... 21 致谢 .......................................................................................................................................................... 22 参考文献 .................................................................................................................................................. 23 - iii - iii 第一章 前言 模数转换器即A/D转换器(或简称ADC)是将模拟信号输入转换为数字信号输出的电子器件,广泛应用在工业控制系统,数据采集等领域中,常在单片机或控制器的配合之下工作[8]。 早期数字系统多采用试凑法进行设计,试凑设计法就是用试探的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,将系统按给定的功能要求分解成若干个相对独立的功能模块或子系统,选择合适的功能部件实现个模块来拼凑数字系统。也成为模块设计法,是一种自底向上的设计,它沿用了传统数字电路和逻辑设计理论,凭借设计人员对逻辑设计的熟练技巧和丰富经验来构思系统结构方案,划分模块,选择器件,一电路结构图的形式拼接模块,组成系统整体电路。此法无固定套路可循,主要凭借设计者的经验。所设计出的电路虽然不乏构思巧妙者,但交流和修改不方便,设计所花费的时间也较多。新在数字系统设计多采用自顶向下的模块化设计方法[5]。 近年以来,随着电子设计技术的不断发展,可编程逻辑器件应用越来越广泛,作为这种技术应用的一个例子,AD转换控制器具有灵活机动的设计方式,特别是VHDL状态机概念的引入和EDA技术的运用,大大提高了这种效率。 - 1 - 第二章 AD574A简介 2.1 概况与技术指标 AD574A是一种完整的12比特逐步比较型模数转换器具有电路形式的3态门缓冲器,从而可以具有8或16位微处理器总线接口能力。它包含一高精度电压比较器和时钟,可在没有外围辅助电路和时钟信号条件下全速率运行。采用模拟器件‘双极/I2L’技术制造,将所有模拟和数字功能置于一块芯片,移位,线性和放大误差减小。性能指数如下: , 分辨率:12位 , 非线性误差:小于 1/2LBS 或1LBS , 转换速率:25us , 模拟电压输入范围:0~10V,0~20V,0~ 5V,0~ 10V , 电源电压:15V 和5V , 数据输出格式:12位/8位 , 芯片工作模式:全速工作模式或单一工作模式 图 1-1 AD574芯片示意图 - 2 - 2.2 AD574A工作原理 ,,,,,,,, CE, 12/, ,R/ 和 A0对其工作状态的控制过程。在CE,=1,=0同时CSCS8C ,满足时,AD574才会正常工作,AD574在处于工作状态时,当R/ =0 时A/D转换,C ,, 当R/=1时进行数据输出,12/和A0 端用来控制启动转换的方式和数据输出格式,C8 A0=0 时,启动的是按完整12位数据方式进行的。当A0=1 时,按8位A/D转换方 ,,式进行,当R/=1 ,也即当AD574处于数据状态时,A0 和12/ 控制数据输出状C8 ,, 态的格式,当12/=1时,数据以12位并行输出,当12/=0时,数据以8位分两次88 输出,当A0=0时候,输出转换数据的高8位,A0=1时输出转换数据低4位,这四位站一个字节的高半字节,低半字节补0。 - 3 - 第三章 相关技术介绍 3.1 EDA技术 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计[1]。 EDA设计可分为系统级、电路级和物理实现级。 EDA常用软件:EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软 - 4 - 件有:multiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim,ISE,modelsim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。 3.2 FPGA技术 3.2.1 FPGA发展简史 随着微电子设计技术与工艺的发展,数字集成电路经历了电子管、晶体管、中小规模集成电路、超大规模集成电路(VLSIC)和专用集成电路(ASIC)等发展阶段。ASIC虽然存在一定的优势,如成本低,可靠性高,尺寸小等,但是ASIC的缺陷也是显而易见的,ASIC存在设计周期长,初期投资大,灵活性差等缺点。[4]可编程逻辑器件正是为了弥补ASIC的缺陷而产生的,可编程逻辑器件使得开发者在实验室就能设计、更改大规模数字逻辑,自行研制芯片并马上投入使用。 可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步。可编程逻辑器件的发展经历了下面三个阶段: ? 可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可 擦除只读存储器(E2PROM),只能完成简单逻辑功能; ? 可编程阵列逻辑(PAL)和通用阵列逻辑(GAL),能完成中大规模的数字逻 辑功能; ? 复杂可编程逻辑器件(CPLD)和现场可编程逻辑器件(FPGA),可以完成超 大规模的复杂组合逻辑与时序逻辑。 随着工艺技术的发展与市场需要,FPGA/CPLD向着高集成、高速度、低功耗的方向发展。新一代的FPGA集成了中央处理器(CPU)、数字信号处理器(DSP)内核和软处理器(如Nios II),可在一片FPGA上完成软硬件协同设计,从而实现片上 - 5 - 可编程系统(SOPC,System On Programmable Chip)。 3.2.2 FPGA基本结构 FPGA由6个基本部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等,如图 3-1所示。 图 3-1 FPGA结构图 下面对每个基本单元做简单介绍。 ? 可编程输入/输出单元 输入/输出单元是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配需求。为了使FPGA有更灵活的应用,目前大多数FPGA的输入/输出单元被设计为可编程模式,即通过软件的灵活配置,可以适配不同的电气 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。 ? 基本可编程逻辑单元 基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部连接与配置,完成不同的逻辑功能。FPGA一般是基于SRAM工艺的,其基本可编程逻 - 6 - 辑单元由查找表(LUT)和寄存器(Register)组成。查找表完成纯组合逻辑功能。FPGA内部寄存器结构相当灵活,可配置为带同步/异步复位和置位、时钟使能的触发器(FF,Flip Flop),也可以配置成为锁存器(Latch)。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。 ? 嵌入式块RAM 嵌入式可编程RAM模块可以大大拓展FPGA的应用范围和灵活性。嵌入式块RAM可以被灵活配置为单端口RAM(SPRAM,Single Port RAM)、双端口RAM(Double Ports RAM)、伪双端口RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、FIFO(First In First Out)等常用存储结构。FPGA内部没有专门的ROM单元,但是可以通过对RAM赋初值并保持该初值来实现。CAM即内容地址存储器,其内部的每个存储单元都包含一个内嵌的比较逻辑,写入CAM的数据会和其内部存储的每一个数据进行比较,并返回与端口数据相同的所有内部数据的地址。可见,CAM与RAM恰恰相反。FIFO为先进先出队列式存储结构。FPGA内部实现RAM、ROM、CAM、FIFO等存储结构都可以基于嵌入式块RAM单元,并根据需求自动生成相应的粘合逻辑(Glue Logic)以完成地址和片选等控制逻辑。 丰富的布线资源 ? 布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。这些布线资源根据工艺、长度、宽度和分布位置的不同被划分为不同的等级,分别为:全局性的专用布线资源,完成器件内部的全局时钟和全局复位/置位的布线;长线资源,完成器件分区(Bank)间的一些高速信号和一些第二全局时钟信号的布线;短线资源,完成基本逻辑单元间的逻辑互连与布线;其他,基本逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。实现过程中,设计者一般不需要直接选择布线资源,而是由布局布线器自动根据输入的逻辑网表的拓扑结构和约束条件选择可用的布线资源连通所用的底层单元模块。 ? 底层嵌入功能单元 - 7 - 一般指通用程度较高的嵌入式功能模块,比如PLL(Phase Locked Loop), DLL(Delay Locked Loop),DSP,CPU等。随着FPGA的发展,这些模块被越来越多地嵌入到FPGA的内部,满足了不同场合的需求,也使FPGA由传统的硬件设计手段逐步过渡为系统级设计平台。 ? 内嵌专用硬核 内嵌专用硬核主要指那些通用性相对较弱,针对性较强的硬核,它主要用于某些高端通信市场,如SERDES(串并收发单元)。 3.2.3 FPGA的特点 , FPGA芯片的规模越来越大。单片FPGA内部可以容纳上百万个晶体管,芯 片的规模越大所能实现的功能就越强,同时也更适于实现片上系统(SOC)。 , 开发过程投资小。FPGA芯片在出厂之前都做过严格的测试,而且FPGA设 计灵活,发现错误时可直接更改设计,减少了投片风险,节省了许多潜在的 花费。现在不但许多复杂系统使用FPGA完成,甚至设计ASIC时也要把实 现FPGA功能样机作为必需的步骤。 , FPGA可以反复地编程、擦除。在不改变外围电路的情况下,设计不同片内 逻辑就能实现不同的电路功能。所以,用FPGA试制功能样机,能以最快的 速度占领市场。甚至在有些领域,因为相关标准协议发展太快,设计ASIC 跟不上技术的更新速度,只能依靠FPGA完成系统的研制与开发。 , FPGA开发工具智能化,功能强大。现在,应用各种工具可以完成FPGA开 发从输入、综合、实现到配置芯片等一系列功能。还有很多工具可以完成对 设计的仿真、优化、约束、在线调试等功能。这些工具易学易用,可以使设 计人员更能集中精力进行电路设计,快速将产品推向市场。 , FPGA内嵌CPU或DSP内核,支持软硬件协同设计,可以作为片上可编程 系统(SOPC)的硬件平台。 , FPGA内部内嵌高性能ASIC的硬核(Hard Core)。通过这些硬核可以完成某 - 8 - 些高速复杂设计(如SPI 4.2、PCI Express、Fiber-Channel等通信领域成熟标 准和接口等),提高系统的工作频率与效能,减轻工程师任务量,规避了研发风险, 加速了研发进程。 3.2.4 FPGA的设计流程 完整的FPGA设计流程一般包括电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真与验证、板级仿真验证与调试等主要步骤,如图 3-2所示。 ? 电路设计与输入 电路设计与输入是指通过某些规范的描述方式,利用EDA工具实现硬件电路构思。常用的设计输入方法有硬件描述语言(HDL)和原理图设计输入方法等。目前进行大型工程设计时,最常用的设计方法是HDL设计输入法,其中影响最为广泛的HDL语言是VHDL和Verilog HDL。它们的共同特点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯片的工艺与结构的不同而变化,更利于向ASIC的移植。 ? 功能仿真 电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能是否符合设计要求。功能仿真有时也被称为前仿真。通过仿真能及时发现设计中的错误,加快设计进度,提高设计的可靠性。 ? 综合优化 综合优化是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所生成的逻辑连接,输出网表文件,供FPGA/CPLD厂家的布局布线器进行实现。 ? 综合后仿真 综合完成后需要检查综合结果是否与原设计一致,做综合后仿真。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。综合后仿真虽然比功能仿真精确一些,但是只能估计门延时,不能估计线延时,仿真结果与布线后的实际情况还有一定的差距,并不十分准确。这种仿真的主要目的在于检查综 - 9 - 合器的综合结果是否与设计输入一致。 ? 实现与布局布线 综合结果的本质是一些由与、或、非门,触发器,RAM等基本逻辑单元组成的逻辑网表,它与芯片实际的配置情况还有较大差距。此时应该使用FPGA/CPLD厂商提供的软件工具,根据所选芯片的型号,将综合输出的逻辑网表适配到具体FPGA/CPLD器件上,这个过程就叫做实现过程。因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器件开发商提供的工具。在实现过程中最主要的过程是布局布线(PAR, Place And Route):所谓布局(Place)是指将逻辑网表中的硬件原语或者底层单元合理地适配到FPGA内部的固有硬件结构上,布局的优劣对设计的最终实现结果(在速度和面积两个方面)影响很大;所谓布线(Route)是指根据布局的拓扑结构,利用FPGA内部的各种连线资源,合理正确连接各个元件的过程满足设计的时序条件。FPGA的结构相对复杂,为了获得更好的实现结果,特别是保证能够,一般采用时序驱动的引擎进行布局布线,特别是不同的时序约束,获得的布局布线结果一般有较大差异。 ? 时序仿真与验证 将布局布线的时延信息反标注到设计网表中,所进行的仿真就叫时序仿真或布局布线后仿真,简称后仿真。布局布线之后生成的仿真时延文件包含的时延信息最全,不仅包含门延时,还包含实际布线延时,所以布线后仿真最准确,能较好地反映芯片的实际工作情况。通过布局布线后仿真能检查设计时序与FPGA实际运行情况是否一致,确保设计的可靠性和稳定性。布局布线后仿真的主要目的在于发现时序违规(Timing Violation),即不满足时序约束条件或者器件固有时序规则(建立时间、保持时间等)的情况。 ? 板级仿真与验证 在有些高速设计情况下还需要使用第三方的板级验证工具进行仿真与验证, 以便较好地分析高速设计的信号完整性、电磁干扰(EMI)等电路特性等。 ? 调试与加载配置 设计开发的最后步骤就是在线调试或者将生成的配置文件写入芯片中进行测试。 - 10 - 主要调试工具为示波器和逻辑分析仪。 系统设计电路构思 电路设计与输入 NN 功能仿真是否正确 是否为YY综合优化的问题 综合优化 N综合后仿真是否正确 N是否为YY实现的问题 实现与布局布线 布局布线N后仿真是否正确 Y N板级仿真是否正确 Y 加载配置在线调试 图 3-2 FPGA设计流程图 3.2.5 FPGA器件选择 由于本系统目前只是完成简单的信号处理,故FPGA选用Altera公司的低成本FPGA ACEX1K器件简介如表3-1所示。 - 11 - 表3-1 ACEX1K系列芯片参数 2.5v 逻辑单元(LE) 嵌入式RAM块 备注 EP1K10 576 3 EP1K30 1728 6 每个RAM块容量为 4Kbit EP1K50 2880 10 EP1K100 4992 12 ACEX1K : ACEX1K是2000年推出的2.5v低价格SRAM工艺FPGA,结构与10KE类似,带嵌入式存储块(EAB),部分型号带PLL。 ACEX 1K 仍然是主流器件之一,但会逐渐被Cyclone取代,由hee于ACEX 1K是altera唯一可以直接支持5v接口的主流FPGA,所以对于一些5v接口应用,仍然是一个比较好的选择出于成本及系统实现功能的考虑,本系统目前选用ACEX 1K。 3.3 EDA工具软件MAX-PLUS II简介 理想的可编程逻辑器件开发环境应满足多方面的设计需求。首先,它应当支持不同体系结构的芯片系列,可以应用于不同的硬件平台,拥有便于使用的人机界面,其次,开发环境应向社记者提供适用不同输入方式的自由以及选择不同应用工具的自由。[9]毋庸置疑,Altera公司的MAX+plusII可编程逻辑开发系统能够满足这些需求。 Altera公司的MAX+plusII可编程逻辑开发软件,提供了一种与结构无关的完全集成化设计环境,使设计者能方便地对Altera公司的PLD系列产品进行输入,快速处理和器件编程。MAX+plusII 开发系统的处理能力强且灵活性高,它的优点主要表现在以下几个方面。 , 开放的接口,用户可以使用其他的EDA工具软件进行设计输入,再利用 MAX+plusII的编译程序进行编译处理,并使用第三方得EDA工具进行器件和般 级的仿真。 , 与结构无关,提供与结构无关的PLD器件设计开发环境,具有强大的逻辑综合 和优化功能,使用户花费最少的时间完成高效的设计。 , 多平台运行 , 支持多种硬件描述语言 - 12 - , 完全集成化,MAX+plusII的设计输入,处理和校验功能全部集成在统一的开发 环境下,可以加快动态调试,缩短开发周期。 , 丰富的设计库。MAX+plusII提供丰富的库单元供设计者调用,大大减轻设计工 作量,缩短设计周期。 3.4 VHDL编程语言 VHDL英文全称为Very High Speed Intergrated Circuit Hardware Description Language, 即超高速集成电路硬件描述语言。当今,在电子工程领域,VHDL已经成为事实上的通用硬件描述语言[2]。 3.4.1 VHDL的起源 VHDL起源于1983年,1986年美国电器与电子工程师学会(IEEE)开始工作,讨论VHDL标准。1987年12月IEEE接受VHDL为标准HDL,这就是IEEE Std 1076-1987(LRM87).1993年IEEE对VHDL重新修订增加了一些功能,公布了新的版本IEEE Std 1076-1993(LRM93)。严格地说,LRM87和LRM93并不完全兼容(LRM93从更高层次和系统描述能力上扩展VHDL的内容。例如,增加了一些保留字并删去了某些属性)。 3.4.2 VHDL的特点 VHDL主要用于描述设计复杂数字系统的结构,行为,功能和接口。在工程设计方面有很多优点[3]。 , 与其他的硬件描述语言相比,VHDL描述能力更强,从而决定了它称为系统设计 领域最佳的硬件描述语言。 , VHDL技术完备,具有丰富的仿真语句和库函数。而且同时还支持同步电路,异 步电路和其他电路的设计。 , VHDL设计方法灵活,对设计的描述具有相对独立性。设计者可以不懂硬件结构, 可以不管最终设计实现的目标期间,而进行独立的设计。 , VHDL支持广泛,目前大多数EDA工具几乎都在不同程度上支持VHDL( - 13 - 3(5状态机(state machine) 3.5.1基本原理 有限状态机设计技术是数字系统设计中的重要组成部分,是实现高效率高可靠性逻辑控制的重要途径。尽管到目前为止,有限状态机的设计理论并没有增加多少新内容,然而面对先进的EDA工具,日益发展的大规模集成电路设计技术和强大的VHDL等硬件描述语言,有限状态机在其具体设计技术和实现方法上有了许多新内容。 有限状态机克服了纯硬件数字系统顺序控制方式不灵活的缺点。状态机的工作方式是根据控制信号按照预先设定的状态进行顺序运行的,状态机是纯硬件数字系统中的顺序控制电路,因此状态机在其运行方式上类似于控制灵活和方便的CPU,而在运行速度和工作可靠性方面都优于CPU。 由于状态机的结构模式相对简单, 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 相对固定,特别是可以定义符号化枚举类型的状态,这一切都未VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控或自动的专门用于优化状态机的功能。 , 状态极容易构成性能良好的同步时序逻辑模块,对于大规模逻辑电路设计中令人 棘手的竞争冒险现象可以更容易克服。为了消除电路中的毛刺现象,在状态机设 计中多种设计方案可供选择。 , 与VHDL其他描述方式相比,状态机的表述丰富多样,程序层次分明,结构清晰, 易读易懂,在排错,修改和模块移植方面有独到的优势。 , 在高速运算和控制方面,状态机更有其巨大的优势。由于在VHDL中,一个状态 机可由多个状态机,而一个单独的状态机(或者多个并行运行的状态机)以顺序 方式所完成的运算和控制方面的工作与一个CPU的功能类似。因此,一个涉及 实体的功能便类似于一个含有并行运行的多CPU的高性能微处理器的功能,事 实上,多CPU的微处理器早已在同心,工控和军事等领域有了十分广泛的应用。 , 就运行速度而言,尽管CPU和状态机都是按照时钟节拍以顺序时序方式工作的, 但CPU是按照指令周期,以逐条执行指令的方式运行的;每执行一条指令,通 常完成一项简单的操作,而一个指令周期须由多个及其周期构成,一个机器周期 又由多个时钟节拍构成,一个含有运算和控制的完整设计程序往往需要成百上千 条指令。相比之下,状态机状态变换周期只有一个时钟周期。而且,由于在每一 状态中,状态机可以完成许多并行的运算和控制操作,所以,一个完整的控制程 - 14 - 序,即使由多个并行的状态机构成,其状态书也是十分有限的。 , 就可靠性而言,状态机的优势也是十分明显的。CPU本身的结构特点与执行软件 指令的工作方式决定了任何CPU都不可能获得圆满的容错保障,这已经是不争 的事实了。因此,用于高可靠性的特殊环境中的电子系统中,如果以CPU作为 主控部件,是一项错误的决策。然而,状态机系统就不同了,首先它是由纯硬件 电路构成,不存在CPU运行软件过程中许多固有的缺陷;其次是由于状态机的 设计中能使用各种完整的容错技术;特别是当状态机进入非法状态并从中跳出, 进入正常状态所耗费的时间十分短暂,尚不足对系统的运行构成损害,而CPU 通过复位方式从非法运行中恢复耗时数十毫秒,对于高速高可靠性系统显然是不 行的。 3.5.2 一般有限状态机的设计 用VHDL设计的状态机有多种形式,从状态机的信号输出方式上分,由Mealy型和Moore型两种状态机。从输出时序上看,前者属于异步输出机,而后者属于同步输出状态机。Mealy型状态机的输出是当前状态和所有输入信号的函数。他的输出是在输入变化后立即发生的,不依赖是中的同步。Moor型状态机的输出则仅为当前状态的函数,这类状态机在输入发生变化时还必须等待始终的到来,时钟使状态发生变化时才导致输出的变化,所以比Mealy型多等待一个时钟周期。从结构上分,有单进程状态机和多进程状态机;从状态表达方式上分,有符号化状态机和其他编码方式状态机。然而最一般的和最常用的状态机通常包含说明部分,主控时序进程,主控组合进程,辅助进程几个部分。 - 15 - 第四章 系统分析和设计 4.1系统分析 本文中控制器和AD574A所构成的是一个数字系统。在电子技术领域中,数字系统(digital system)是用来对数字信息进行采集,存储,处理,传输和运算处理的电子系统。一个完成的数字系统通常用输入电路,输出电路,数据处理器,控制器和时钟电路五个部分组成。 图4-1数字系统组成 控制器是数字系统执行系统算法,有序完成系统功能的核心,通常由组合电路和存储电路或者状态寄存器组成,他根据系统功能所设定的算法流程,在时钟信号的作用下进行状态转换,同时产生于状态和条件信号相对应的控制信号,通过控制信号去控制数据处理器按照正确时序完成具体的操作。在本设计中,正是这样的情况,数据处理器是AD转换器AD574A。控制器的设计通常是在完成数据处理器的设计之后进行,它是依据算法流程,ASM图MDS以及其他描述方式来实现。控制器是由状态寄存器和组合电路组成,其中状态寄存器是控制器的核心器件,用于实现控制器状态的转换和寄存。 - 16 - 4.2系统设计 用状态机设计AD574采样控制器。使用状态机来控制AD574采样,包括将采得的数据存入RAM(FPGA内部RAM存取速率可达10ns),整个采样周期需要4~5个状态即可完成。若FPGA的时钟频率为100MHz,则从一个状态向另一个状态转移的时间为一个时钟周期,即10ns,那么一个采样周期约50ns,由此可见利用状态机对A/D进行采样控制是一种行之有效的方法。AD574逻辑控制真值表如表4-1所示 表 4-3 AD574逻辑真值表 CECS RC K12/8 A0工作状态 0XXXX禁止 X1XXX禁止 100X0启动12位转换 100X1启动8位转换 1011X12位并行输出有效 10100高8位并行输出有效 10101低4位加上尾随4个0有效 AD574A工作时序和采样控制状态图如图3-2,3-3所示 图4-2 AD574工作时序 - 17 - 图 4-3 AD574工作时序状态图 由状态图可以看到在状态st2中需要对AD574的状态线的信号STATUS进行检测,如果仍为表示转换仍在进行,需要在st2状态中等待,直到STATUS变成第电平后,说明转换结束,转向下一状态st3。在状态st3中有状态机向AD574发出转换好的12位数据输出允许信号,这一状态周期同时可以作为数据输出稳定周期,以便在下一个状态中向锁存器锁入可靠数据。在状态st4由状态机向FPGA中的锁存器发出锁存信号将转换数据锁存.AD574采样控制器结构框图如图3-4所示 - 18 - 图4-4 AD574采样状态机结构图 AD574A采样控制器VHDL程序 运用VHDL语言进行AD574A采用控制器设计,以枚举类型定义状态机中所有状态,每一状态对应着CASE-WHEN语句中的一条WHEN语句,状态的转移通过IF-WHEN-ELSE语句实现,状态和输入信号可以作为状态机进程的敏感信号。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574 IS PORT (D :IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STATUS : IN STD_LOGIC;--状态机时钟CLK,AD574状态信号STATUS LOCK0 : OUT STD_LOGIC; --内部锁存信号LOCK的测试信号 CS,A0,RC,K12X8 : OUT STD_LOGIC; --AD574控制信号 Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)); --锁存数据输出 END AD574; ARCHITECTURE behav OF AD574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 <= '1'; LOCK0 <= LOCK ; - 19 - COM1: PROCESS(current_state,STATUS) --决定转换状态的进程 BEGIN CASE current_state IS WHEN st0 => next_state <= st1; WHEN st1 => next_state <= st2; WHEN st2 => IF (STATUS='1') THEN next_state <= st2; ELSE next_state <= st3; END IF ; WHEN st3=> next_state <= st4; WHEN st4=> next_state <= st0; WHEN OTHERS => next_state <= st0; END CASE ; END PROCESS COM1 ; COM2: PROCESS(current_state) --输出控制信号的进程 BEGIN CASE current_state IS WHEN st0=> CS<='1'; A0<='1';RC<='1';LOCK<='0'; --初始化 WHEN st1=> CS<='0'; A0<='0';RC<='0';LOCK<='0'; --启动12位转换 WHEN st2=> CS<='0'; A0<='0';RC<='0';LOCK<='0'; --等待转换 WHEN st3=> CS<='0'; A0<='0';RC<='1';LOCK<='0'; --12位并行输出有效 WHEN st4=> CS<='0'; A0<='0';RC<='1';LOCK<='1'; -- 锁存数据 WHEN OTHERS=>CS<='1'; A0<='1';RC<='1';LOCK<='0';--其它情况返回初始态 END CASE ; END PROCESS COM2 ; REG: PROCESS (CLK) -- 时序进程 BEGIN IF ( CLK'EVENT AND CLK='1') THEN current_state <= next_state; END IF; END PROCESS REG; LATCH1 : PROCESS (LOCK) -- 数据锁存器进程 BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ; END IF; END PROCESS ; Q <= REGL; END behav; -PLUS II中仿真结果如图3-5所示,此波形与AD574A的工作采样控制器在MAX 时序一致。 - 20 - 图 3-5 AD574采样状态机工作时序仿真图 - 21 - 结论 本文介绍了FPGA和VHDL状态机设计,并应用这些技术和概念从硬件设计到软件编写完成一个AD574A控制器的FPGA设计。整个设计过程达到了预定目的,最终仿真波形符合要求。本文所研究的方案是否是最有优的,显然作者并没有在文中给出比较,按照数字设计的要求,应用较少的硬件资源实现完善的功能,这需要对硬件资源的占用情况做分析,从而也可以由此得到芯片选择的最优。这留待进一步的研究。另外,近年以来,出现了将AD芯片和控制芯片整合为一块芯片的产品,是一种值得注意的发展方向。 - 22 - 致谢 感谢我的论文指导老师黄以华副教授,黄老师给了我极大的帮助,在他的帮助之下我完成了毕业设计论文。另外,我还要感谢为了论文排版等事项提供帮助的黄伟柱同学。 - 23 - 参考文献 [1] Mark Zwolin’ki.,Digital System Design with VHDL,北京,电子工业出版,2007 [2] Jayaram, Bhasker ,A VHDL Primer(Third Edition) ,北京 ,机械工业出版社, 2006 [3] James R.Armstrong, E Gail Gray, VHDL Design Representation and Synthesis (Second Edition) ,北京, 机械工业出版社,2002 [4] 刑建、曹繁泰,VHDL程序设计教程(第3版,北京,清华大学出版社,2005 [5] 邹彦,数字系统设计,北京,航空工业出版,2007 [6] Parag K. Lala. Practical Digital Logic Design and Testing. Prentice Hall,1996 [7] 沈嗣昌,数字设计引论,北京,高等教育出版社,2000 [8] 黄智伟,FPGA系统设计与实践,北京,电子工业出版社,2005 [9] 王辉 殷颖 陈婷 ,MAX+plus?和Quartus?应用与开发技巧,北京,机械工业 出版社,2007 - 24 - 毕业论文成绩评定记录 指导教师评语: 成绩评定: 指导教师签名: 年 月 日 答辩小组或专业负责人意见: 成绩评定: 签名(章): 年 月 日 院系负责人意见: 成绩评定: 签名(章): 年 月 日 附表一、毕业论文开题报告 论文(设计)题目: (简述选题的目的、思路、方法、相关支持条件及进度安排等) 学生签名: 年 月 日 指导教师意见: 1、同意开题( ) 2、修改后开题( ) 3、重新开题( ) 指导教师签名: 年 月 日 附表二、毕业论文过程检查情况记录表 指导教师分阶段检查论文的进展情况(要求过程检查记录不少于3次): 第1次检查 学生总结: 指导教师意见: 第2次检查 学生总结: 指导教师意见: 第3次检查 学生总结: 指导教师意见: 第4次检查 学生总结: 指导教师意见: 学生签名: 年 月 日 指导教师签名: 年 月 日 指导教师意见: 总 体 完 成 情 1、按 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 完成,完成情况优( ) 况 2、按计划完成,完成情况良( ) 3、基本按计划完成,完成情况合格( ) 4、完成情况不合格( ) 指导教师签名: 年 月 日 附表三、毕业论文答辩情况 答辩人 专 业 论文(设计)题目 答辩小组成员 答辩记录: 记录人签名: 年 月 日
本文档为【第2章AD574A简介 - 中山大学信息科学与技术学院本科教育网站】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:179KB
软件:Word
页数:31
分类:生活休闲
上传时间:2017-09-30
浏览量:24