您好,欢迎访问三七文档
1数字系统设计与CPLD应用2.1可编程逻辑器件的设计流程2.2在系统可编程技术第2章可编程逻辑器件的设计2.3边界扫描技术2数字系统设计与CPLD应用可编程逻辑器件的设计是指利用开发软件和编程工具对器件进行开发的过程。设计过程包括以下四个步骤:1.设计准备2.设计输入3.设计处理4.器件编程其中还包括三个设计验证过程:1.功能仿真(前仿真)2.时序仿真(后仿真)3.器件测试§2.1可编程逻辑器件的设计流程3数字系统设计与CPLD应用图2.1HDPLD的设计流程设计输入•原理图输入•硬件描述语言输入•波形图输入设计处理•优化、综合•适配、分割•布线、布局器件测试时序仿真功能仿真器件编程设计准备4数字系统设计与CPLD应用基于PLD设计流程基于可编程逻辑器件设计分为三个步骤:设计输入、设计实现、编程。其设计流程如下图。器件编程功能仿真设计输入原理图硬件描述语言设计实现优化合并、映射布局、布线器件测试时序仿真设计实现:生成下载所需的各种文件。器件编程:即“下载”和“配置”,即将编程数据放到具体的可编程器件中。5数字系统设计与CPLD应用2.1.1设计准备设计准备过程主要是指在对可编程逻辑器件设计之前,首先要进行方案论证、系统设计和器件选择等工作。对于设计人员首先要根据任务要求,如系统所完成的功能及复杂程度,对系统的工作速度、器件资源、成本和布线可行性等方面进行权衡,最终选择一个比较合理设计方案和合适的器件类型。6数字系统设计与CPLD应用2.1.2设计输入(DesignEntry)所谓设计输入是指设计者将所设计的系统或电路以开发软件要求的某种形式表示出来并送入计算机的过程。设计输入通常有以下几种形式:1.原理图输入方式使用软件系统提供的元件库及各种符号和连线画出原理图,形成原理图输入文件。使用场合:通常用在设计者对系统及各部分很熟悉的情况。7数字系统设计与CPLD应用优点:容易实现仿真,便于信号的观察和电路的调整。缺点:当系统功能较复杂时,原理图输入方式效率低。2.硬件描述语言输入方式硬件描述语言是用文本方式描述设计,它分为普通硬件描述语言和行为描述语言。普通硬件描述语言有ABEL-HDD、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。行为描述语言是目前常用的高层硬件描述语言,有VHDL和Verilog—HDL等,它们都已成为IEEE标准。8数字系统设计与CPLD应用行为描述语言有许多突出的优点:①语言与工艺的无关性,可以使设计者在系统设计、逻辑验证阶段便可确立方案的可行性;②语言的公开可利用性,使它们便于实现大规模系统的设计;③同时硬件描述语言具有很强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库之间转换非常方便。因此,运用VHDL、Verilog—HDL硬件描述语言设计数字系统已是当前的趋势。9数字系统设计与CPLD应用3.波形输入方式波形输入主要用于建立和编辑波形设计文件以及输入仿真向量和功能测试向量。使用场合:适合用于时序逻辑和有重复性的逻辑函数;系统软件可以根据用户定义的输入/输出波形自动生成逻辑关系。波形编辑功能还允许设计者对波形进行拷贝、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值,还可以通过将一组波形重叠到另一组波形上,对两组仿真结果进行比较。10数字系统设计与CPLD应用2.1.3设计处理设计处理是应用CPLD设计的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括以下五个内容:11数字系统设计与CPLD应用1.语法检查和设计规则检查设计输入完成之后,在编译过程中首先进行语法检验,如检查原理图有无漏连信号线,信号有无双重来源,文本输入文件中关键串有无输错等各种语法错误,并及时列出错误信息报告供设计者修改;然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则情况以供设计者纠正。12数字系统设计与CPLD应用2.逻辑优化和综合逻辑优化的目的是化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。逻辑综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。13数字系统设计与CPLD应用3.适配和分割优化以后的逻辑要与器件中的宏单元和I/O单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件时,可以将整个设计自动划分(分割)成多块并装入同一系列的多片器件中去。划分时应使所需器件数目尽可能少,同时应使用于器件之间通信的引脚数目最少。14数字系统设计与CPLD应用4.布局和布线布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的互连。5.生成编程数据文件设计处理的最后一步是产生可供器件编程使用的数据文件。对CPLD来说,是产生熔丝图文件,即JEDEC文件(电子器件工程联合会制定的标准格式,简称JED文件),对于FPGA来说,是生成位流数据文件(BitstreamGeneration)。15数字系统设计与CPLD应用2.1.4设计校验设计校验过程包括功能仿真和时序仿真,这两项工作是在设计处理过程中间同时进行的。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。此时的仿真没有延时信息,对于初步的功能检测非常方便。仿真前,要先利用波形编辑器或硬件描述语言等建立波形文件或测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改逻辑设计。16数字系统设计与CPLD应用时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局、布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能以及检查和消除竞争冒险等是非常有必要的。实际上这也是与实际器件工作情况基本相同的仿真。17数字系统设计与CPLD应用2.1.5器件编程编程是指将编程数据放到具体的可编程器件中去。对CPLD器件来说是将JED文件“下载(DownLoad)”到CPLD器件中去,对FPGA来说是将位流数据BG文件“配置”到FPGA中去。普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其它存储体进行配置。在系统的可编程器件(ISP—PLD)则不需要专门的编程器,只要一根下载编程电缆就可以了。18数字系统设计与CPLD应用19数字系统设计与CPLD应用§2.2在系统可编程技术在系统编程(ISPInSystemProgram)是指对器件、电路板或整个电子系统的逻辑功能可随时进行修改或重构的能力。这种重构或修改可以在产品设计、制造过程中的每个环节,甚至在交付用户之后进行。支持ISP技术的可编程逻辑器件称为在系统可编程逻辑器件(ISP—PLD)。20数字系统设计与CPLD应用ISP—PLD不需要使用编程器,只需要通过计算机并行接口和编程电缆,直接在目标系统或印刷线路板上进行编程。传统的可编程逻辑器件只能插在编程器上先进行编程,然后再装配,而ISP-PLD则可以先装配,后编程。因此ISP技术有利于提高系统的可靠性,便于系统板的调试和维修。21数字系统设计与CPLD应用2.2.1在系统编程的基本原理ISP(InSystemProgram)技术是一种串行编程技术。下面以Lattice公司的ispLSI器件为例说明其编程原理。ispLSI器件的编程结构如图2.2所示。器件的编程信息数据用E2CMOS元件存储,E2CMOS元件按行和列排成阵列,编程时通过行地址和数据位对E2CMOS元件寻址。22数字系统设计与CPLD应用图2.2ispLSI器件的编程结构编程的寻址和移位操作由地址移位寄存器和数据移位寄存器完成。两种寄存器都按FIFO(先入先出)的方式工作。数据移位寄存器按低位字节和高位字节分开操作。23数字系统设计与CPLD应用由于器件是插在目标系统中或线路板上进行编程,因此在系统编程的关键是编程时如何使芯片与外系统脱离。从图2.3所示的编程接口可以看到,计算机和ISP—PLD的编程接口有五根信号线,它们起到了传递编程信息的作用。24数字系统设计与CPLD应用图2.3编程连接口•ispEN是编程使能信号•SDI向串行移位寄存器提供编程数据和其它命令;•SDO为数据输出线;•MODE为编程状态机的控制线;•SDI同时为模式控制线,同MODE一起为编程状态机的控制线,•SLCK为串行时钟线。25数字系统设计与CPLD应用其中ispEN是编程使能信号。当ispEN=1时,器件为正常工作状态,ispEN=0时,器件所有的I/O端被置成高阻状态,因而割断了芯片与外电路的联系,避免了被编程芯片与外电路的相互影响。SDI向串行移位寄存器提供编程数据和其它命令;SDO为数据输出线;MODE为编程状态机的控制线;SDI同时为模式控制线,同MODE一起为编程状态机的控制线,SLCK为串行时钟线。26数字系统设计与CPLD应用2.2.2在系统编程方法目前在系统编程的实现方法有以下几种:1.利用计算机并行接口和下载电缆对器件编程2.利用目标板上的单片机或微处理器对ISP器件编程3.多芯片ISP编程。27数字系统设计与CPLD应用1.利用计算机接口和下载电缆对器件编程有两种方法:一种方法需要在ISP器件的开发软件支持下进行。它可以利用串口的BitBlaster串行下载或利用并口的ByteBlaster并行下载。例如,对Altera公司的CMOS结构的MAX7000系列器件或SRAM结构的FLEX系列器件均适应。另一种方法是脱离ISP的开发环境,根据编程时序的要求,利用自己的软件向ISP器件写入编程数据。这种方法多适用于SRAM结构的FPGA器件。28数字系统设计与CPLD应用图2.5利用PC机和编程电缆对ISP—PLD编程29数字系统设计与CPLD应用2.利用目标板上的单片机或微处理器对ISP器件编程这种在系统编程方法是将编程数据存储在目标板上的EPROM中,当目标板上电时自动对ISP器件进行编程。编程的关键在于提供准确定时的ISP编程时钟。此种编程方法多适用于易失性的SRAM结构的FPGA器件。30数字系统设计与CPLD应用3.多芯片ISP编程ISP器件有一种特殊的串行编程方式,称为菊花链结构(DaisyChain),如图2.6所示。其特点是各片共用一套ISP编程接口,每片的SDI输入端与前一片的SDO输出端相连,最前面一片的SDI端和最后一片的SDO端与ISP编程口相连,构成一个类似移位寄存器的链形结构。链中器件数可以很多,只要不超出接口的驱动能力即可。31数字系统设计与CPLD应用图2.6菊花链编程结构32数字系统设计与CPLD应用2.2.3在系统编程技术的优越性①利用ISP技术可以完全摆脱编程器,并且解决传统可编程器件比较难以解决的问题。②ISP技术开始了器件编程一个新的时代,对系统的设计、制造、测试和维护也产生了重大的影响。由于ISP器件允许在设计、测试和制造过程中和器件焊接在电路板的条件下重构系统,这种能力给样机设计、电路板调试、系统制造和系统升级带来革命性的变化。33数字系统设计与CPLD应用③采用ISP技术,给今后的系统重构提供了新思路,使系统内硬件的功能可以像软件一样通过编程来配置,从而在电子系统中引入了“软”硬件的全新概念。它不仅可以使电子系统的设计和产品性能的改进以及扩充变得十分简便,还使新一代电子系统具有极强的灵活性和适应性。因此ISP为系统重构的发展提供了新思路,被称为在最终用户产品中实现“设计的可再编程性”的时代已经到来。34数字系统设计与CPLD应用§2.3边界扫描技术边界扫描测试
本文标题:CPLD第2章
链接地址:https://www.777doc.com/doc-50785 .html