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

标题: VerilogA代码error求助 [打印本页]

作者: Ichika丶    时间: 2023-12-15 18:00
标题: VerilogA代码error求助
楼主是在学习模拟,现在需要搭建一个PFD(鉴频鉴相器)来进行行为级仿真验证
在网上抄了一段VerilogA代码
但是最后报syntax error
关于这方面我确实从来没接触过....希望有前辈能指点下如何修改


(, 下载次数: 7 )

作者: 420洛洛    时间: 2023-12-15 18:00
cross语句里面不能用<+

作者: 420洛洛    时间: 2023-12-15 18:44


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


你得加点begin end
作者: 420洛洛    时间: 2023-12-15 18:48
                @(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
作者: 420洛洛    时间: 2023-12-15 18:49


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


类似这样的

作者: zt_ic222    时间: 2023-12-15 20:50
楼上说的都对,自己下点语法资料看看,查查cross和“<+"的用法




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.4