微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > verilog a 求助,谢谢急,判断第一个点的电压,请一顿饭

verilog a 求助,谢谢急,判断第一个点的电压,请一顿饭

时间:12-12 整理:3721RD 点击:
新手入门,想设计一个输入电压判断模块,输入是vpulse,周期性的,比如周期为1
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)里就可以了

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

网站地图

Top