verilog a 求助,谢谢急,判断第一个点的电压,请一顿饭
时间:12-12
整理:3721RD
点击:
新手入门,想设计一个输入电压判断模块,输入是vpulse,周期性的,比如周期为1
ns
检测的是输入一开始的电压,就是V(t=0)的电压,如果为1,那么输出就一直是输入的
反向,若V(t=0)为0,那么输出就是输入,保持不变,
如果输入是0到1,输
出电压保持不变
怎么用verilog a 实现,
谢谢各位
ns
检测的是输入一开始的电压,就是V(t=0)的电压,如果为1,那么输出就一直是输入的
反向,若V(t=0)为0,那么输出就是输入,保持不变,
如果输入是0到1,输
出电压保持不变
怎么用verilog a 实现,
谢谢各位
你把行为描述清楚,如果输入是1-0,这个model马上可以把输入电压方向反向为0-1。
如果再次输入1-0, 你要求这个model 怎么动作?
`include "constants.vams"
`include "disciplines.vams"
module test2 (in, out);
input in; electrical in;
output out; electrical out;
real tlast;
real out_reg;
integer dir;
analog begin
tlast=$abstime;
if (tlast == 0) begin
dir = (V(in) > 0.5);
end
out_reg = (V(in) > 0.5) ;
V(out) <+ transition (dir ? 1-out_reg : out_reg, 10p, 10p);
end
endmodule
这个代码有hidden state, pss仿真不能通过,急求解决方法,谢谢
去掉tlast的定义
直接把dir的定义放在@(initial_step)里就可以了