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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1166|回复: 5

[求助] VerilogA代码error求助

[复制链接]
发表于 2023-12-15 18:00:19 | 显示全部楼层 |阅读模式
100资产
楼主是在学习模拟,现在需要搭建一个PFD(鉴频鉴相器)来进行行为级仿真验证
在网上抄了一段verilogA代码
但是最后报syntax error
关于这方面我确实从来没接触过....希望有前辈能指点下如何修改


代码

代码

最佳答案

查看完整内容

cross语句里面不能用
发表于 2023-12-15 18:00:20 | 显示全部楼层
cross语句里面不能用<+
发表于 2023-12-15 18:44:02 | 显示全部楼层


420洛洛 发表于 2023-12-15 18:42
cross语句里面不能用


你得加点begin end
发表于 2023-12-15 18:48:11 | 显示全部楼层
                @(cross ( V(clk)-vth,  -1  )) begin
                out_scaled = 0;
                out_scaled = out_scaled + ((V(vd9) > vtrans) ? 512 : 0);
                out_scaled = out_scaled + ((V(vd8) > vtrans) ? 256 : 0);
                out_scaled = out_scaled + ((V(vd7) > vtrans) ? 128 : 0);
                out_scaled = out_scaled + ((V(vd6) > vtrans) ? 64 : 0);
                out_scaled = out_scaled + ((V(vd5) > vtrans) ? 32 : 0);
                out_scaled = out_scaled + ((V(vd4) > vtrans) ? 16 : 0);
                out_scaled = out_scaled + ((V(vd3) > vtrans) ? 8 : 0);
                out_scaled = out_scaled + ((V(vd2) > vtrans) ? 4 : 0);
                out_scaled = out_scaled + ((V(vd1) > vtrans) ? 2 : 0);
                out_scaled = out_scaled + ((V(vd0) > vtrans) ? 1 : 0);
                if(i<N)begin
                sum = sum + (V(vpn)*(out_scaled-512));
                i = i + 1;
                end
                else begin
                average = sum/N;
                sum = 0;
                i = 0;
                end
                end
          V(vout9) <+ transition( vout[9], tdel, trise, tfall );
      V(vout8) <+ transition( vout[8], tdel, trise, tfall );
          V(vout7) <+ transition( vout[7], tdel, trise, tfall );
      V(vout6) <+ transition( vout[6], tdel, trise, tfall );
      V(vout5) <+ transition( vout[5], tdel, trise, tfall );
      V(vout4) <+ transition( vout[4], tdel, trise, tfall );
      V(vout3) <+ transition( vout[3], tdel, trise, tfall );
      V(vout2) <+ transition( vout[2], tdel, trise, tfall );
      V(vout1) <+ transition( vout[1], tdel, trise, tfall );
      V(vout0) <+ transition( vout[0], tdel, trise, tfall );
end
endmodule
发表于 2023-12-15 18:49:56 | 显示全部楼层


420洛洛 发表于 2023-12-15 18:48
@(cross ( V(clk)-vth,  -1  )) begin
                out_scaled = 0;
                out_scaled = out_scaled + ((V(vd9) > vtran ...


类似这样的
发表于 2023-12-15 20:50:43 | 显示全部楼层
楼上说的都对,自己下点语法资料看看,查查cross和“<+"的用法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-3 03:12 , Processed in 0.022607 second(s), 7 queries , Gzip On, Redis On.

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