当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于Verilog的顺序状态逻辑FSM的设计与仿真

 硬件描述语言Verilog为数字系统设计人员提供了一种在广泛抽象层次上描述数字系统的方式,同时,为计算机辅助设计工具在工程设计中的应用提供了方法。该语言支持早期的行为结构设计的概念,以及其后层次化结构设计的实现。这在设计过程中,进行逻辑结构部分设计时可以将行为结构和层次化结构混合起来;为确认正确性还可以将描述进行模拟,并提供一些用于自动设计的综合工具。因而Verilog语言为设计者进行大型复杂数字系统的设计提供了途径。超大规模集成电路设计的典型流程如图1所示。

  本文将以顺序状态逻辑有限状态机的设计为例介绍用Verilog语言设计数字电路的一般过程。

  1 设计规范与设计构思

  电子设计工程师在设计过程中不可避免地会遇到设计可执行特殊操作序列电路的工作,如用来控制其他电路进行操作的控制器,而有限状态机(Finite Status Machine,FSM)是设计这种能执行特殊操作序列电路的一种非常有效的模型。FSM的结构通常由当前状态寄存器、下一状态逻辑和输出逻辑三部分构成。FSM也有很多种模型,本文仅以顺序状态逻辑FSM的设计为例来说明用Verilog进行集成电路设计的一般设计过程。为简单起见,本设计只设计了包含有8个状态的顺序状态逻辑FSM。8个状态分别为One、Two、ThreeA、ThreeB、ThTeeC、Dummy、Four、Five。开始状态为One,各状态之间的转换关系如图2所示。

  该顺序状态逻辑FSM的功能及要求如下。

  (1)同步复位信号Reset至少要维持4个时钟周期的高电平信号,以保证状态机进入状态One。

  (2)当状态机在5个状态中循环时,A、B、C 3个输入按优先级使状态机从状态Two进入相应的状态ThreeA、ThreeB、ThreeC、Dummy。

  (3)复位后,如果A持续为高电平,则输出信号Y1的周期为时钟周期的5倍,且高电平维持的时间为1个时钟周期。

  (4)如果A、B维持为低电平,而C维持为高电平,则输出信号Y3的周期为时钟周期的5倍,且高电平维持的时间为1个时钟周期。

  (5)如果A维持低电子,而B维持高电平,则输出信号Y2与Y1和Y3不同,只维持1个时钟周期的高电平。因为当状态机进入状态ThreeB时,信号BeenInState3B被设置为1,而该信号就会禁止状态机再次进入状态ThreeB,直到另一个复位信号出现为止。

  以上是一个时序电路的设计,如何保证正确的时序是设计的关键。根据设计要求,该状态机至少应该有8个端口:5个输入端口(A、B、C、Reset、Clock),3个输出端口(Y1、Y2、Y3)。其中输入端A、B、C和Reset信号均由时钟边缘进行触发,Reset具有最高的优先权,而输入信号A、B、C的优先权则依次递减。

  该顺序状态逻辑有限状态机的端口示意图和设计构思图分别如图3和图4所示。

  2 用Verilog语言编写源代码

[!--empirenews.page--]

3 源代码功能仿真

  通常EDA(Electronic Design Automation)工具都为设计人员提供了测试平台,以验证数字电子系统设计在功能和时序二方面的正确性。不同的EDA工具提供的平台会有差别,但是它们都可以实现对被测试对象加载测试信号,并且能够通过波形输出或文件记录输出等方式来方便地进行观察及比较仿真结果。而测试用的激励代码通常是由设计人员自己编写。为了便于清楚地观察、比较仿真结果,本设计对一个340ns时间段进行了模拟,且测试代码考虑了各种可能出现的激励情况,具体的测试代码如下:

  4 逻辑综合

  逻辑综合的目标是将寄存器时间逻辑(RTL)的HDL(HardwareDescriptionLanguage)代码映射到具体的工艺上加以实现,因而从这一步开始,设计过程与实现工艺相关联。实现自动综合的前提是要有逻辑综合库的支持。综合库内部包含了相应的工艺参数,最典型的有:门级延时、单元面积、扇入扇出系数等。设计一个电子系统,总有相应的设计目标,如时钟频率、芯片面积、端口驱动能力等。自动综合工具将这些设计指标作为综合过程的约束条件,在给定的包含工艺参数的综合库中选取最佳单元,实现综合过程。 与模拟工具一样,目前有许多优秀的综合工具借助现有的综合库能将Verilog语言源代码进行综合,转化成门级电路图,并且可以根据设计者施加的约束条件对电路进行优化,生成相应的门级网表。Synopsys公司的DC(DesignCompiler)就是一个比较好的逻辑综合工具。DC逻辑综合与优化后得到的电路图如图6所示。

 

  5 门级仿真

  综合之后所得到的电路是否仍能满足设计要求,同样需要通过仿真来确定,逻辑综合之后的仿真称为门级仿真。门级网表是使用门电路以及电路之间的连接来描述电路的方式。门级仿真与RTL仿真不同的是,门级仿真包含了门单元的延时信息,因而门级仿真需要相应工艺的仿真库支持。把综合后得到的网表中门级延时参数提取出来后,对被测试对象进行反标,然后再进行仿真,得到的结果如图7所示。


  从门级仿真所得到的波形图输出结果来看,本设计在功能与时序上是符合设计要求的。

  6 后端设计

  门级仿真通过后,接着就是进行版图规划;版图规划好以后就进行布局与布线;在版图的布局布线都已确定后,可以从版图中进一步提取出连线电阻、电容等参数。

  生成版图之后,把从版图中提取出的参数反标到门级网表中,进行包含门延时、连线延时的门级仿真,称作后仿真。这一步主要是进行时序模拟,如果时序不能满足设计要求,通常需要修改版图的布局与布线、逻辑综合的约束条件,有时也可能回到RTL描述、行为级描述甚至设计规范或算法实现上加以调整。版图得到验证后就可以交付生产厂家做到硅片上。

  7 结束语

  由以上的设计过程可以看出,Verilog语言的最大特点是简洁、灵活、高效,其编程风格和C语言极其相似,所以很容易学习和掌握。同时,Verilog语言还具有底层描述方面的优势,而且其设计方法与具体工艺无关,这就使得用Verilog语言编写的功能模块具有很高的可重用性。随着集成电路的深亚微米制造技术、设计技术的迅速发展,集成电路已进入片上系统(System on a Chip,SoC)设计时代。SoC设计的最大挑战之一是IP(Intellectual Property)模块的有效使用和重用。IP模块的重用,除能缩短SoC芯片设计的时间外,还能降低设计和制造成本,提高可靠性。在SoC设计中,可重用的IP模块越多,设计过程的效率就会越高。由此可见,Verilog语言在SoC设计中可以发挥更大的作用。因此,能用Verilog语言进行电路设计是每个电子设计工程师必须掌握的基本技术。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭