轻舟定过万重山 2025-05-15 18:27 采纳率: 0%
浏览 6

cordic向量模式问题,针对z的

在cordic算法中(verilog前提下)就是 我的 z,是不是要在x,y输入有效后cnt才开始计数,z这是才应该动??,而不是我xy没有输入进去呢,cnt就开始计算,然后z就开始动了,这样是不是z百分百值不对,还有一个问题就是 z的值是不是在16次迭代中是16个数值啊,然后再下一次的过程中又是一模一样的16个值,这样周而复始的循环呢?、

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-05-15 18:27
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    Cordic向量模式问题,针对z的

    你的问题是关于Cordic算法在Verilog实现中的向量模式问题,特别是关于z的处理。

    根据Cordic算法的原理,x和y的输入有效后,才开始计数,z的计算是基于x和y的计算结果的。因此,在x和y没有输入有效的情况下,cnt shouldn't start counting yet。

    在Verilog实现中,你可以使用if语句或case语句来控制z的计算,例如:

    always @(posedge clk) begin
        if (x_valid && y_valid) begin
            cnt <= cnt + 1;
            z <= z + (x * y);
        end
    end
    

    在上面的代码中,x_valid和y_valid是指示x和y输入有效的信号,cnt是计数器,z是计算结果。

    总之,z的计算应该在x和y输入有效后开始计算,而不是在x和y没有输入有效的情况下。

    如果你有任何其他问题或需要更多帮助,请随时问我。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月15日