1、 数字系统设计与数字系统设计与CPLD应用技术应用技术 可编程逻辑器件原理与应用可编程逻辑器件原理与应用 主讲主讲 李妍李妍总学时:总学时:40其中理论学时:其中理论学时:24 实验学时:实验学时:16本课程学时安排本课程学时安排参考教材:参考教材:可编程逻辑器件原理、可编程逻辑器件原理、开发与应用开发与应用 编者:赵曙光等编者:赵曙光等出版:西安电子科技大出版:西安电子科技大学出版社学出版社第第0章章 数字系统设计方法概述数字系统设计方法概述0.1.1 数字系统的基本概念数字系统的基本概念 数字系统数字系统是指对数字信息进行存储、传是指对数字信息进行存储、传输和处理的电子系统。输和处理的电子
2、系统。数字系统可用图数字系统可用图01来描述,其中输入量来描述,其中输入量X和和输出量输出量Z均为数字量。均为数字量。图图01 数字系统示意图数字系统示意图 0.1 绪绪 言言 和模拟系统相比较,和模拟系统相比较,数字系统具有如下特点:数字系统具有如下特点:1.稳定性;稳定性;2.精确性;精确性;3.可靠性;可靠性;4.模块化。模块化。数字系统的设计一般可从三个方面入手:数字系统的设计一般可从三个方面入手:1.选用通用集成电路设计系统;选用通用集成电路设计系统;2.利用可编程逻辑器件(利用可编程逻辑器件(PLD)设计系统;)设计系统;3.采用专用集成电路(采用专用集成电路(ASIC)设计系统。
3、)设计系统。0.1.2 数字系统的两种基本模型数字系统的两种基本模型 1)数字系统的动态模型数字系统的动态模型:是采用状态转:是采用状态转移图、状态方程、时序图等描述方法建立移图、状态方程、时序图等描述方法建立的数字系统模型。的数字系统模型。2)数字系统的算法模型数字系统的算法模型:是将系统功能:是将系统功能分解成一系列的子系统,再通过一定的算法分解成一系列的子系统,再通过一定的算法组合建立的数字系统模型。组合建立的数字系统模型。算法算法通常就是对数字系统进行有规律、通常就是对数字系统进行有规律、有序分解的一种有序分解的一种描述描述。0.2 数字系统设计方法论数字系统设计方法论 数字系统设计的
4、两个分支:数字系统设计的两个分支:1.系统硬件设计系统硬件设计 2.系统软件设计系统软件设计数字系统的硬件、软件设计可以在一开始数字系统的硬件、软件设计可以在一开始就进行通盘考虑,进行早期仿真,大大提就进行通盘考虑,进行早期仿真,大大提高了系统设计的效率。高了系统设计的效率。0.2.1 数字系统设计方法的三种模式数字系统设计方法的三种模式 功能级功能级 行为级行为级 寄存器传输级寄存器传输级 逻辑级逻辑级 版图级版图级自底向上自底向上 (BottomUp)自顶向下自顶向下 (TopDown)在中间相遇在中间相遇0.2.2 自底向上的硬件电路设计方法自底向上的硬件电路设计方法 所谓所谓自底向上自
5、底向上(BottomUp)的设计的设计方法就是利用现有的通用数字器件,从方法就是利用现有的通用数字器件,从子系统设计开始,从小到大地逐步设计,子系统设计开始,从小到大地逐步设计,最后完成系统硬件的整体设计。最后完成系统硬件的整体设计。传统的硬件设计设计方法归纳起来有如传统的硬件设计设计方法归纳起来有如下几个主要特征下几个主要特征:1.采用自底向上采用自底向上(BottomUp)的设计方法的设计方法;2.采用通用的逻辑元、器件采用通用的逻辑元、器件;3.在系统硬件设计的后期进行仿真和调试在系统硬件设计的后期进行仿真和调试4.主要设计文件是电原理图主要设计文件是电原理图。1.采用自底向上采用自底向
6、上(BottomUp)的设计步骤的设计步骤1).编制技术规格书,画出系统控制流图编制技术规格书,画出系统控制流图2).划分功能模块,画出系统的功能框图划分功能模块,画出系统的功能框图3).各功能模块的细化及电路设计、调试各功能模块的细化及电路设计、调试4).完成整个系统的硬件设计、画出电原完成整个系统的硬件设计、画出电原理图。理图。2.采用通用的逻辑元、器件采用通用的逻辑元、器件 在传统的硬件电路设计中,设计者总在传统的硬件电路设计中,设计者总是根据系统的具体需要,选择市场上能买是根据系统的具体需要,选择市场上能买到的通用的到的通用的SSI、MSI(如(如74系列、系列、CC4000系列等),
7、来构成所要求的逻辑电系列等),来构成所要求的逻辑电路,从而完成系统的硬件设计。路,从而完成系统的硬件设计。3.在系统硬件设计的后期进行仿真和调试在系统硬件设计的后期进行仿真和调试 只有完成系统硬件设计以后,才能进只有完成系统硬件设计以后,才能进行仿真和调试。行仿真和调试。对系统设计人员有较高的要求。一旦对系统设计人员有较高的要求。一旦考虑不周,系统设计存在较大缺陷,那么考虑不周,系统设计存在较大缺陷,那么就有可能要重新设计系统,使得设计周期就有可能要重新设计系统,使得设计周期大大增加。大大增加。4.主要设计文件是电原理图主要设计文件是电原理图 传统的硬件设计方法形成的文件,主传统的硬件设计方法
8、形成的文件,主要是由若干张电原理图构成的。要是由若干张电原理图构成的。如果系统较大,硬件复杂,那么可能如果系统较大,硬件复杂,那么可能需要几千、几万,甚至几十万张电原理图。需要几千、几万,甚至几十万张电原理图。这给归档、阅读、修改和使用都带来了许这给归档、阅读、修改和使用都带来了许多麻烦。多麻烦。0.2.3 利用硬件描述语言利用硬件描述语言(HDL)的硬件电的硬件电 路路 设计方法设计方法 硬件描述语言硬件描述语言(HDL-Hardware Description Language),就是可以描述硬,就是可以描述硬件电路的功能、信号连接关系及定时关系件电路的功能、信号连接关系及定时关系的语言。
9、它可以比电原理图更有效地表示的语言。它可以比电原理图更有效地表示硬件电路的特性。硬件电路的特性。目前已被目前已被IEEE标准化,且最具代表标准化,且最具代表性的是美国国防部开发的性的是美国国防部开发的VHDL语言及语言及Viewlogic公司的公司的Verilog-HDL语言。语言。例如,一个二选一的选择器的电原理图如图例如,一个二选一的选择器的电原理图如图04所示所示 图图02 二选一选择器的电原理二选一选择器的电原理 用用VHDL语言描述的二选一选择器如下:语言描述的二选一选择器如下:ENTITY mux IS PORT(d0,d1,sel:IN BIT;q:OUT BIT);END mu
10、x;ARCHITECTURE connect OF mux IS BEGIN calc:PROCESS(d0,d1,sel)VARIABLE tmpl,tmp2,tmp3:BIT ;BEGIN tmp1:=d0 AND sel;tmp2:=d1 AND(NOT sel);tmp3:=tmpl OR tmp2;q=tmp3;END PROCESS;END connect;图图03 二选一选择器系统示意图二选一选择器系统示意图 ENTITY mux IS :END mux;ARCHITECTURE struct OF mux IS :END struct;利用利用HDL语言设计系统硬件的方法,归纳
11、起语言设计系统硬件的方法,归纳起来有以下几个特点:来有以下几个特点:1.采用自顶向下采用自顶向下(TopDown)的设计方法的设计方法;2.系统中可大量采用系统中可大量采用ASIC芯片;芯片;3.采用系统早期仿真采用系统早期仿真;4.降低了硬件电路设计难度;降低了硬件电路设计难度;5.主要设计文件是用主要设计文件是用HDL语言编写的源程序。语言编写的源程序。1.1.采用自顶向下采用自顶向下 (Top(TopDown)Down)的设计方法的设计方法 自顶向下自顶向下 (Top(TopDown)Down)的设计方法,的设计方法,就是从系统总体要求出发,自上至下地就是从系统总体要求出发,自上至下地逐
12、步将设计内容细化,最后完成系统硬逐步将设计内容细化,最后完成系统硬件的整体设计。件的整体设计。在利用在利用HDLHDL语言的硬件设计方法中,语言的硬件设计方法中,设计者将自上至下分成设计者将自上至下分成3 3个层次对系统硬个层次对系统硬件进行设计。件进行设计。第一层次是第一层次是行为描述行为描述。所谓。所谓行为行为描述描述,实质上就是对整个系统的数学,实质上就是对整个系统的数学模型进行描述。模型进行描述。在行为描述阶段并不真正考虑其在行为描述阶段并不真正考虑其实际的操作和算法用什么逻辑电路来实际的操作和算法用什么逻辑电路来实现。考虑更多的是该数学模型能否实现。考虑更多的是该数学模型能否达到系统
13、设计规格书的要求。达到系统设计规格书的要求。第二层次是第二层次是RTL描述描述,也称,也称寄存器寄存器传输描述传输描述(又称又称数据流描述数据流描述)。系统只有采用系统只有采用RTL方式描述才能导方式描述才能导出系统的逻辑表达式,才能进行逻辑综出系统的逻辑表达式,才能进行逻辑综合,得到具体的逻辑器件。合,得到具体的逻辑器件。第三层次是第三层次是逻辑综合逻辑综合。利用逻辑。利用逻辑综合工具,将综合工具,将RTL描述的程序转换成描述的程序转换成用基本逻辑元件用基本逻辑元件(宏单元宏单元)表示的文件表示的文件(门级网表门级网表)。相当于在人工设计硬件电路时,相当于在人工设计硬件电路时,根据系统要求画
14、出了系统的电原理图。根据系统要求画出了系统的电原理图。2.系统中可大量采用系统中可大量采用ASIC芯片芯片 目前众多的目前众多的ASIC芯片都可支持芯片都可支持HDL语语言的编程。因此,设计硬件电路时,无须受言的编程。因此,设计硬件电路时,无须受只能使用通用元、器件的限制,而可以根据只能使用通用元、器件的限制,而可以根据硬件电路设计需要,设计自用的硬件电路设计需要,设计自用的ASIC芯片芯片或可编程逻辑器件。或可编程逻辑器件。使系统电路设计更趋合理,体积也可大使系统电路设计更趋合理,体积也可大为缩小。为缩小。3.采用系统早期仿真采用系统早期仿真 采用自顶向下的设计方法,在系采用自顶向下的设计方
15、法,在系统设计过程中要进行三级仿真:统设计过程中要进行三级仿真:行为层次行为层次(系统数学模型)(系统数学模型)仿真仿真 RTL层次层次(系统数据流)(系统数据流)仿真仿真 门级层次门级层次(系统门电路电原理)(系统门电路电原理)仿真仿真 这这三三级仿真贯穿系统硬件设计的全级仿真贯穿系统硬件设计的全过程,从而可以在系统设计早期发现设过程,从而可以在系统设计早期发现设计中存在的问题。计中存在的问题。与自底向上设计的后期仿真相比可与自底向上设计的后期仿真相比可大大缩短系统的设计周期,节约大量的大大缩短系统的设计周期,节约大量的人力和物力。人力和物力。4.降低了硬件电路设计难度降低了硬件电路设计难度
16、 在采用传统的硬件电路设计方法时,在采用传统的硬件电路设计方法时,要求在设计电路前应写出该电路的逻辑要求在设计电路前应写出该电路的逻辑表达式或真值表表达式或真值表(或时序电路的状态表或时序电路的状态表)。这一工作是相当困难和繁杂的,特这一工作是相当困难和繁杂的,特别是在系统比较复杂时更是如此。别是在系统比较复杂时更是如此。在用在用HDL语言设计硬件电路时,就语言设计硬件电路时,就可以使设计者免除编写逻辑表达式或真可以使设计者免除编写逻辑表达式或真值表之苦。值表之苦。这样使硬件电路的设计难度有了大这样使硬件电路的设计难度有了大幅度的下降,从而也缩短了硬件电路的幅度的下降,从而也缩短了硬件电路的设
17、计周期。设计周期。据有关资料估计,仅此一项可使设据有关资料估计,仅此一项可使设计周期大约缩短计周期大约缩短1/31/2。5.主要设计文件是用主要设计文件是用HDL语言编写的源程序语言编写的源程序 在传统的硬件电路设计中,最后形在传统的硬件电路设计中,最后形成的主要文件是成的主要文件是电原理图电原理图。而采用而采用HDL语言设计系统硬件电路语言设计系统硬件电路时,主要的设计文件是用时,主要的设计文件是用HDL语言编写语言编写的的源程序源程序。用用HDL语言的源程序作为归档文件语言的源程序作为归档文件有很多有很多优点:优点:(1)资料量小,便于保存。)资料量小,便于保存。(2)可继承性好。)可继承性好。当设计其它硬件电路时,可以使用当设计其它硬件电路时,可以使用文件中的某些库、进程和过程等描述某文件中的某些库、进程和过程等描述某些局部硬件电路的程序。些局部硬件电路的程序。(3)阅读方便。)阅读方便。