在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2595|回复: 7

求助:可综合的verilog代码的若干问题

[复制链接]
发表于 2009-4-29 08:34:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用verilog写可综合代码,综合后发现功能不对了。想请教一下:
1 可综合的verilog代码中,可以有不同的敏感信号吗?比如可以有多个always语句,有的敏感列表里是时钟上升沿有的是时钟下降沿吗?可以这样吗:
   always @(posedge clk)
     .
     .
     .

always @(negedge clk)
    .
    .
    .
2  可综合的verilog代码中,状态机的编写要注意哪些方面?我综合后的网表再仿真得到的结果不对,很大部分的原因是状态机没有按照预想的工作。不知道可综合的状态机的编写是不是有些我没注意到的地方。

3 可综合的verilog代码中,如果想要初始化,怎样做?因为在综合时,不认initial语句,怎样绕过initial语句做初始化呢?
发表于 2009-4-29 09:56:14 | 显示全部楼层
1. 当然可以,但是不能驱动同一个触发器。
3. 用复位信号啊。
 楼主| 发表于 2009-4-30 11:18:34 | 显示全部楼层
谢谢 挺有启发的
发表于 2009-5-1 01:36:40 | 显示全部楼层
1.在同一個設計裏面可以用正緣or負緣觸發,就像你寫的例子   不過不建議,因為你的思緒更容易亂了,要不就通通正緣,要不就通通負緣,這樣好點,而且時序更緊了,以後用100Mhz設計的,正負緣都用的話    快等同在設計200 Mhz的設計了
2 state machine的寫法沒啥要顉,通常是設計一個combination logic來實現你的狀態機,然後再用一個flip-flop去鎖即可
例如:always @(posedge clk or negedge nrst)
begin
          if(~nrst)
              current_state <= idle;
        else
               current_state <= next_state;
end

always @*
begin
       case(current_state)        
           begin
               (next_state的程式碼)        
           end
end
這麼說也許蠻空洞的,把你的code貼上來給人家看看,會有更大的收獲
3可綜合的code請善用reset or nreset信號來初始化就像第一個例子所舉的
发表于 2010-5-15 21:08:27 | 显示全部楼层
4楼强大
发表于 2010-5-16 11:14:57 | 显示全部楼层
学习4楼
发表于 2010-5-16 11:43:26 | 显示全部楼层
4#说的比较有道理。
发表于 2010-5-16 11:44:40 | 显示全部楼层
学习消化一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 01:29 , Processed in 0.020150 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表