论文部分内容阅读
摘要:通过传统数字系统设计和使用VHDL硬件描述语言设计数字系统的比较,阐述使用VHDL设计数字系统的设计思想、设计方法及设计实现,突现其优越性和发展趋势。
关键词:VHDL硬件描述语言;数字系统设计;行为描述;RTL描述;综合;仿真
当今社会是数字化的社会,是数字系统广泛应用的社会。数字电子技术在不断地进行更新换代,数字系统的设计发生了翻天覆地的变化。VHDL硬件描述语言、ASIC专用集成电路,FPGA现场可编程门阵列\CPLD复杂可编程逻辑器件、SOPC可编程片上系统、EDA电子设计自动化等概念彻底改变着我们的知识领域和设计思想。
传统的数字系统硬件设计方法采用自下而上的设计思想:根据系统对硬件的要求,设计是从选择具体元器件开始,并用这些元器件进行逻辑电路设计,完成系统各独立功能模块设计后,再将各功能模块连接起来,完成整个系统的硬件设计。
例如,要设计一个六进制计数器,将其中的010和101两种状态禁止。该六进制计数器的状态图为
从表1状态转换表可以发现,Q2的次态是Q1的现态,Q1的次态是Q0的现态。因此,Q2、Q1可用D触发器实现。Q0的输出关系稍复杂,现选用JK触发器实现。而且从表2的状态关系可以发现,Q2、Q1现态的或非运算就是了,而Q2、Q1现态的运算就是K。得Q2、Q1、Q0的状态方程为:
传统的电路设计方法要求设计者在设计电路前写出电路的逻辑表达式或真值表,这项工作的困难在系统比较复杂时显得尤为突出,而且设计只能选用已有的通用元器件,使电路的设计受到很大的限制,另外仿真和调试通常只能在完成系统硬件设计后才能进行,存在的问题只能在后期才能被发现,甚至有可能要重新设计系统,使设计周期大大增加。
VHDL硬件描述语言的出现和完善彻底颠覆了传统的电路设计方法,它采用自上向下的设计方法:从系统对硬件的要求出发,自上而下分三个层次对系统硬件进行设计。
第一层次是行为描述。所谓行为描述,就是对整个系统的逻辑关系或工作模型进行描述(即算法描述)。以上述的六进制计数器为例,其VHDL行为描述程序如下:
当该程序仿真通过以后,说明六进制计数器模型是正确的。该工作模型只说明了系统的输入输出引脚和系统的逻辑行为,很难直接映射到具体逻辑元件结构的硬件实现。
第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述),是一种趋于实际电路的描述方式,要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。以下六进制计数器的RTL方式描述程序中的结构体就直接描述了JK触发器,D触发器,与门和或非门之间的连接关系。
第三层次是逻辑综合。RTL方式描述的VHDL程序通过仿真后在这一层次利用逻辑综合工具,转换成用基本逻辑元件表示的文件(门级网络表),也可将逻辑综合结果以原理图方式输出。最后进行门级仿真,定时检查。
从上述三个层次可见,RTL描述是抽象的行为描述和逻辑综合之间的桥梁,设计过程中必须将行为描述翻译成RTL描述,但从上述RTL描述程序可见,如果人工去翻译,这将是一项艰巨的任务,费时费力,而且也容易出错。另外RTL描述只能反映一种特定的硬件结构,而这种硬件结构一定是最合理最优化的。随着EDA技术的发展,这一切现在只需要交给综合器去完成。
综合器是能够自动将一种设计表示形式转换成另一种设计表示形式的计算机程序,它可以将高层次的描述转换成低层次的描述。利用硬件描述语言进行电路设计的过程中每两个层次之间都是一种综合,都是一种描述转化成另一种描述的过程,都可以通过综合器来实现。从行为描述转换到RTL描述是行为综合,从RTL描述转换到逻辑门级网络表是逻辑综合,从门级网络表转换到版图描述(ASIC设计)或转换到FPGA的配置网表文件是版图综合或结构综合。综合器在实现综合的过程中并不是固定的一对一机械式的“翻译”,设计者可以根据设计库,工艺库制定各类的约束条件,由综合器选择最优的方式完成电路结构实现电路功能。目前,应用于FPGA/CPLD设计的性能良好的综合器有Synopsys公司的FPGA Compiler Ⅱ综合器、Synplicity公司的Synplith Pro综合器、Exemplar Logic公司的LeonardoSpectrum综合器。
传统的设计必须完成硬件电路设计后才能进行仿真,而利用VHDL硬件描述语言进行设计可以在不同的级别分别进行仿真:行为级仿真,RTL级仿真,门级时序仿真等。哪一层次仿真不通过,返回哪一层次进行修改,大大缩短了系统设计的周期,节省资源。Model Technology公司的ModelSim仿真工具就是其中一种出色的流行的仿真工作。它能单独或综合完成上述的各种仿真,仿真执行速度较快。通过仿真后完成的硬件设计可以借助适配器(布局布线器)和下载器(编程器)把设计下载到ASIC或FPGA上设计成新的专用集成电路。
至此,可以把实际应用中的系统设计归纳成以下步骤:VHDL行为描述,功能仿真,综合优化,综合后仿真,适配,时序仿真,下载和硬件调试。这些单独的设计步骤随着EDA技术的发展,我们现在只需要根据系统要求编写VHDL行为描述程序,其他的都可以通过VHDL设计工具软件去完成,如Altera公司的Quartus Ⅱ和Xilinx公司的ISE工具软件。这些设计平台除了本身具有综合和仿真的功能外,还能引入第三方综合器和仿真工具辅助设计,功能强大。
EDA技术的不断发展,集成电路规模的越来越大,FPGA/CPLDD的不断推出和创新,数字系统的设计将越来越复杂,VHDL作为EDA技术的重要组成部分,使用VHDL语言来设计数字系统是不可逆转的趋势,其可以描述复杂的电路系统,支持对大规模设计的分解,可由多人、多项目组来共同承担和完成,标准化的规则和风格,设计的可再利用,可以在设计平台上进行编辑、编译、综合、仿真、适配、下载和硬件调试并最终实现硬件电路系统等等的优越性也会越来越突出。
参考文献:
[1] 侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2004.
[2] 潘松,黄继业.EDA技术与VHDL.清华大学出版社,2006.
关键词:VHDL硬件描述语言;数字系统设计;行为描述;RTL描述;综合;仿真
当今社会是数字化的社会,是数字系统广泛应用的社会。数字电子技术在不断地进行更新换代,数字系统的设计发生了翻天覆地的变化。VHDL硬件描述语言、ASIC专用集成电路,FPGA现场可编程门阵列\CPLD复杂可编程逻辑器件、SOPC可编程片上系统、EDA电子设计自动化等概念彻底改变着我们的知识领域和设计思想。
传统的数字系统硬件设计方法采用自下而上的设计思想:根据系统对硬件的要求,设计是从选择具体元器件开始,并用这些元器件进行逻辑电路设计,完成系统各独立功能模块设计后,再将各功能模块连接起来,完成整个系统的硬件设计。
例如,要设计一个六进制计数器,将其中的010和101两种状态禁止。该六进制计数器的状态图为
![](http://pic.soolun.com/d/file/20211020/cczl20073114-1-l.jpg)
从表1状态转换表可以发现,Q2的次态是Q1的现态,Q1的次态是Q0的现态。因此,Q2、Q1可用D触发器实现。Q0的输出关系稍复杂,现选用JK触发器实现。而且从表2的状态关系可以发现,Q2、Q1现态的或非运算就是了,而Q2、Q1现态的运算就是K。得Q2、Q1、Q0的状态方程为:
![](http://pic.soolun.com/d/file/20211020/cczl20073114-2-l.jpg)
传统的电路设计方法要求设计者在设计电路前写出电路的逻辑表达式或真值表,这项工作的困难在系统比较复杂时显得尤为突出,而且设计只能选用已有的通用元器件,使电路的设计受到很大的限制,另外仿真和调试通常只能在完成系统硬件设计后才能进行,存在的问题只能在后期才能被发现,甚至有可能要重新设计系统,使设计周期大大增加。
VHDL硬件描述语言的出现和完善彻底颠覆了传统的电路设计方法,它采用自上向下的设计方法:从系统对硬件的要求出发,自上而下分三个层次对系统硬件进行设计。
第一层次是行为描述。所谓行为描述,就是对整个系统的逻辑关系或工作模型进行描述(即算法描述)。以上述的六进制计数器为例,其VHDL行为描述程序如下:
![](http://pic.soolun.com/d/file/20211020/cczl20073114-3-l.jpg)
当该程序仿真通过以后,说明六进制计数器模型是正确的。该工作模型只说明了系统的输入输出引脚和系统的逻辑行为,很难直接映射到具体逻辑元件结构的硬件实现。
第二层次是RTL方式描述。这一层次称为寄存器传输描述(又称数据流描述),是一种趋于实际电路的描述方式,要想得到硬件的具体实现,必须将行为方式描述的VHDL语言程序改写为RTL方式描述的VHDL语言程序。以下六进制计数器的RTL方式描述程序中的结构体就直接描述了JK触发器,D触发器,与门和或非门之间的连接关系。
![](http://pic.soolun.com/d/file/20211020/cczl20073114-4-l.jpg)
![](http://pic.soolun.com/d/file/20211020/cczl20073114-5-l.jpg)
第三层次是逻辑综合。RTL方式描述的VHDL程序通过仿真后在这一层次利用逻辑综合工具,转换成用基本逻辑元件表示的文件(门级网络表),也可将逻辑综合结果以原理图方式输出。最后进行门级仿真,定时检查。
从上述三个层次可见,RTL描述是抽象的行为描述和逻辑综合之间的桥梁,设计过程中必须将行为描述翻译成RTL描述,但从上述RTL描述程序可见,如果人工去翻译,这将是一项艰巨的任务,费时费力,而且也容易出错。另外RTL描述只能反映一种特定的硬件结构,而这种硬件结构一定是最合理最优化的。随着EDA技术的发展,这一切现在只需要交给综合器去完成。
综合器是能够自动将一种设计表示形式转换成另一种设计表示形式的计算机程序,它可以将高层次的描述转换成低层次的描述。利用硬件描述语言进行电路设计的过程中每两个层次之间都是一种综合,都是一种描述转化成另一种描述的过程,都可以通过综合器来实现。从行为描述转换到RTL描述是行为综合,从RTL描述转换到逻辑门级网络表是逻辑综合,从门级网络表转换到版图描述(ASIC设计)或转换到FPGA的配置网表文件是版图综合或结构综合。综合器在实现综合的过程中并不是固定的一对一机械式的“翻译”,设计者可以根据设计库,工艺库制定各类的约束条件,由综合器选择最优的方式完成电路结构实现电路功能。目前,应用于FPGA/CPLD设计的性能良好的综合器有Synopsys公司的FPGA Compiler Ⅱ综合器、Synplicity公司的Synplith Pro综合器、Exemplar Logic公司的LeonardoSpectrum综合器。
传统的设计必须完成硬件电路设计后才能进行仿真,而利用VHDL硬件描述语言进行设计可以在不同的级别分别进行仿真:行为级仿真,RTL级仿真,门级时序仿真等。哪一层次仿真不通过,返回哪一层次进行修改,大大缩短了系统设计的周期,节省资源。Model Technology公司的ModelSim仿真工具就是其中一种出色的流行的仿真工作。它能单独或综合完成上述的各种仿真,仿真执行速度较快。通过仿真后完成的硬件设计可以借助适配器(布局布线器)和下载器(编程器)把设计下载到ASIC或FPGA上设计成新的专用集成电路。
至此,可以把实际应用中的系统设计归纳成以下步骤:VHDL行为描述,功能仿真,综合优化,综合后仿真,适配,时序仿真,下载和硬件调试。这些单独的设计步骤随着EDA技术的发展,我们现在只需要根据系统要求编写VHDL行为描述程序,其他的都可以通过VHDL设计工具软件去完成,如Altera公司的Quartus Ⅱ和Xilinx公司的ISE工具软件。这些设计平台除了本身具有综合和仿真的功能外,还能引入第三方综合器和仿真工具辅助设计,功能强大。
EDA技术的不断发展,集成电路规模的越来越大,FPGA/CPLDD的不断推出和创新,数字系统的设计将越来越复杂,VHDL作为EDA技术的重要组成部分,使用VHDL语言来设计数字系统是不可逆转的趋势,其可以描述复杂的电路系统,支持对大规模设计的分解,可由多人、多项目组来共同承担和完成,标准化的规则和风格,设计的可再利用,可以在设计平台上进行编辑、编译、综合、仿真、适配、下载和硬件调试并最终实现硬件电路系统等等的优越性也会越来越突出。
参考文献:
[1] 侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计.西安电子科技大学出版社,2004.
[2] 潘松,黄继业.EDA技术与VHDL.清华大学出版社,2006.