3290|1

20

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

Verilog HDL---设计可综合的状态机的指导原则 [复制链接]

1.设计可综合的状态机的指导原则:

1)采用独热码状态机(即每个状态只有一个寄存器置位的状态机)。

2)建议采用case,casexcasez语句来建立状态机的模型,因为这样语句表达清晰,可以方便的从当前的状态分支转向下一个状态并设置输出。

3)不要忘记在写上case语句的最后一个分支default,并将状态变量设为'bx,这就告知综合器(case语句已经指定了所有的状态)。

4)一个always块中只有一个事件触发的状态机。

5)把异步触发电路转化成同步触发电路。

2.综合的一般原则:

1)综合前一定要进行仿真。

2)每一次布线之后都要进行仿真。

3)不要用Verilog描述异步状态机,如果一定要设计异步状态机可以用电路图的输入方式在设计。

4)如果要为电平敏感的锁存器建模,使用连续赋值语句是最简单的方法。

3.语言指导原则

1always

1)每个always块只能有一个事件控制“@event-expression)”,并且要紧跟在always关键字的后面。

2always块可以表示时序逻辑或者组合逻辑,也可以用always块即表示电平敏感的透明锁存器又同时表示组合逻辑,但不推荐使用这种描述方法。

3)带有posedgenegedge关键字的事件表示沿触发的的时序逻辑。否则表示组合逻辑电路或电平敏感的锁存器,或者两种都表示。他们之间用“or”连接。

4)每个表示时序always块只能由一个时钟跳变沿触发,置位或复位最好也由该时钟沿触发。

5)每个在always块赋值的信号都必须定义为reg型或整型。

6always块中应该避免组合反馈回路。

2)赋值

1)对一个寄存器型和整型变量给定位的赋值,只允许在一个always块内进行。

2)把某一信号赋为'bx,综合器就把它解释成无关状态,因而综合器为其生成的硬件电路最简洁。

4.状态机的置位与复位

1)状态机的异步置位与复位

异步置位与复位是与时钟无关的。当异步置位与复位来到时它们就立即置位或复位。

2)状态机的同步置位与复位

同步置位与复位是指只有在时钟的有效跳变沿时刻置位或复位。不要把SETRESET信号列入事件控制表达式中。

此帖出自FPGA/CPLD论坛

最新回复

4)每个表示时序always块只能由一个时钟跳变沿触发,置位或复位最好也由该时钟沿触发。 5)每个在always块赋值的信号都必须定义为reg型或整型。  详情 回复 发表于 2011-11-10 16:48
点赞 关注
 

回复
举报

547

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
4)每个表示时序always块只能由一个时钟跳变沿触发,置位或复位最好也由该时钟沿触发。

5)每个在always块赋值的信号都必须定义为reg型或整型。
此帖出自FPGA/CPLD论坛
个人签名嵌入式培训www.51great.org
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表