yaoKt_l 2025-12-04 12:05 采纳率: 0%
浏览 4

SAR ADC将VerilogA比较器换成自己搭的比较器后,CDAC输出跳变。请问这是什么原因?

img


双尾比较器

img


理想波形

img


换上比较器后的波形
应该是动态比较器的原因,因为是发生在clk信号跳变的时候。但是不知道怎么修改

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-12-04 12:24
    关注

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

    问题分析

    根据你的描述,问题是关于SAR ADC(Successive Approximation Register Analog-to-Digital Converter)硬件设计的。具体来说,你将VerilogA比较器换成了自己搭的比较器后,CDAC(Charge-Discharge Amplifier)输出跳变。

    可能原因

    1. 比较器的设计问题:可能是自己搭的比较器设计不正确,导致CDAC输出跳变。
    2. 比较器和CDAC的匹配问题:可能是比较器和CDAC的匹配不良,导致输出跳变。
    3. 时序问题:可能是时序问题,导致比较器和CDAC的输出跳变。

    解决方案

    1. 检查比较器的设计:检查自己搭的比较器的设计是否正确,是否符合SAR ADC的要求。
    2. 检查比较器和CDAC的匹配:检查比较器和CDAC的匹配是否良好,是否符合SAR ADC的要求。
    3. 检查时序问题:检查时序问题,是否存在时序冲突或时序不匹配的问题。

    核心代码

    module comparator(
        input logic clk,
        input logic reset,
        input logic [7:0] in1,
        input logic [7:0] in2,
        output logic out
    );
    
        always @(posedge clk) begin
            if (reset) begin
                out <= 0;
            end else begin
                if (in1 > in2) begin
                    out <= 1;
                end else begin
                    out <= 0;
                end
            end
        end
    
    endmodule
    

    注意

    上述代码仅供参考,具体的设计和实现需要根据实际情况进行调整和优化。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月4日