搜索
bottom↓
回复: 5

verilog这样写有问题吗?

[复制链接]

出0入0汤圆

发表于 2010-11-3 14:58:22 | 显示全部楼层 |阅读模式
如下所示,请大家帮忙看一下,标注部分的内容,是否可以这样?

always @(posedge Clk or negedge Rst_n)
begin
  if (!Rst_n) begin
    DataInVld <= #1 0 ;
    DataIn    <= #1 0 ;
    ByteSel   <= #1 0 ;
  end
  else begin
    DataInVld <= #1 0 ;  //-----------先是这里
    DataIn    <= #1 0 ;
    ByteSel   <= #1 0 ;
    if(OpVld) begin
      DataInVld <= #1 1'b1 ;  //-----------然后是这里
      case(OpCmd)
        CMD_RST       : begin
          DataIn  <= #1 {OpCmd, 24'd0};
          ByteSel <= #1 4'b1000      ;
        end
        CMD_RD, CMD_WR: begin
          DataIn  <= #1 {OpCmd, OpAddr, OpData, 8'd0};
          ByteSel <= #1 4'b1110 ;
        end
        CMD_RD_STATUS, CMD_RX_STATUS : begin
          DataIn  <= #1 {OpCmd, 24'd0};
          ByteSel <= #1 4'b1110 ;
        end
        CMD_MODIFY    : begin
          DataIn  <= #1 {OpCmd, OpAddr, OpMask, OpData};
          ByteSel <= #1 4'b1111 ;
        end
        CMD_BURST     : begin
          DataIn  <= #1 {OpData,24'd0} ;
          ByteSel <= #1 4'b1000 ;
        end
        default       : begin
          DataInVld <= #1 0 ;
          DataIn    <= #1 0 ;
          ByteSel   <= #1 0 ;
          if(OpCmd[7:3] == CMD_RTS) begin
            DataInVld <= #1 1'b1 ;
            DataIn    <= #1 {OpCmd, 24'd0};
            ByteSel   <= #1 4'b1000      ;
          end
        end
      endcase
    end
  end
end

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-11-3 15:11:21 | 显示全部楼层
延时 像 #1 是不能综合的,也就是在实际电路中是没用的,所以你这样是不能实现的

出0入0汤圆

 楼主| 发表于 2010-11-3 15:12:10 | 显示全部楼层
嗯,这个我知道,我想知道的是,注释部分的代码,合理吗?
由于FPGA的并行执行的,那么如果if(OpVld)条件满足了,那么DataInVld 究竟是0还是1啊?

出0入0汤圆

发表于 2010-11-3 15:19:02 | 显示全部楼层
这个我也不知道,没具体试过,感觉应该是1(应该跟c一样吧),前面的那句可能会被编译器优化掉,你可以仿真试试

出0入0汤圆

发表于 2010-11-3 15:23:28 | 显示全部楼层
回复【2楼】kj004
-----------------------------------------------------------------------

答案是这个DataInVld <= #1 1'b1

出0入0汤圆

发表于 2010-11-8 17:54:51 | 显示全部楼层
这种语句要尽量避免的,虽然仿真出来结果是对的,但是这样做不便系统布局布线,也不利于后期添加时序约束
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 15:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表