微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > RFIC设计学习交流 > 求教一个理想adc veriloga模型问题

求教一个理想adc veriloga模型问题

时间:10-02 整理:3721RD 点击:
仿真有很多数字控制位,需要用理想adc控制方便仿真有个adc veriloga模型, 是需要clock的

module adc (out, in, clk);
parameter integer bits = 8 from [1:24];
// resolution (bits)
parameter real vmin = 0.0;
// minimum input voltage (V)
parameter real vmax = 1.0 from (vmin:inf);
// maximum input voltage (V)
parameter real td = 0 from [0:inf);
// delay from clock edge to output (s)
parameter real tt = 0 from [0:inf);
// transition time of output (s)
parameter real vdd = 5;
// voltage level of logic 1 (V)
parameter real vss = 0;
// voltage level of logic 0 (V)
parameter real thresh = (vdd+vss)/2;
// logic threshold level (V)
parameter integer dir = +1 from [-1:1] exclude 0;

// 1 for trigger on rising edge
// -1 for falling
localparam integer levels = 1<<bits;
input in, clk;
output [bits-1:0] out;
voltage in, clk;
voltage [bits-1:0] out;
integer result;
genvar i;

analog begin
@(cross(V(clk)-thresh, dir) or initial_step) begin
result = levels*((V(in) - vmin))/(vmax - vmin);
if (result > levels-1)
result = levels-1;
else if (result < 0)
result = 0;
else
end

for (i=0; i<bits; i=i+1)
V(out) <+ transition(result & (1<<i) ? vdd : vss, td, tt);
end
endmodule

触发条件是 clk上升沿,这样电路里需要给adc一个clock,影响仿真速度。
还有问题就是,在dc仿真的时候因为也没有clock,输出不正确

对veriloga语法了解少,有没有dc下就工作的模型,或者不需要clock,输出根据输入电压实时变化

简单说,需要一个随输入实时变化的adc,不需要clock,DC仿真的时候也能工作

再顶一次,希望高手帮忙

同样的问题,怎样用veriloga的语句表示时钟上升沿啊,就像verilog中的always@(posedge clk),好像veriloga中没有posedge 这么一个词,报有语法错误!

用cross语句可以实现边沿检测。

请问找到解决办法了吗?我现在也遇到这个问题

找到解决办法了吗?遇到同样问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top