作者profyang (prof)
看板Electronics
标题[问题] hspice时域波形写法请教
时间Sat Jan 5 18:42:47 2019
现在我有两种时域波形A和B
时间都是从0~1ns 我有的就是这段时间它们的波形值(例如有100个数据点)
我希望用2个波形的数据写出一个subckt
让它input是从0V变成1V的时候(我的input是数位讯号很单纯 只会有0V或1V)
output就是从我数据中的0ns开始送A波形送到1ns
(但这时transient模拟的时间应该不会就是0ns 可能已经跑到例如3ns了)
数据中送到超过1ns以後就维持1ns的值
input从1V变成0V就去使用B波形 也是从数据中的0ns开始送起 送到1ns之後维持
我想过可以用PWL把我的时域波形数据各弄成一个电压源
但是它会是从transient一开始就从0ns开始送我给的数据
例如当我input从0V变成1V 这时真的要output波形A的时候
它transient模拟早就不知道跑到几ns去了
但我这时希望A波形从数据中的0ns送起
所以不知道有没有办法把这时那个电压源的时间减回去之类的?先谢谢各位大大了!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.162.243
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1546684975.A.6CD.html
※ 编辑: profyang (114.37.162.243), 01/05/2019 18:46:08
※ profyang:转录至看板 comm_and_RF 01/05 18:47
1F:推 mmonkeyboyy: VerilogA 写一个就好了 01/05 18:59
2F:→ profyang: 感谢 没什麽用过Verilog 来看看能不能做到 01/05 19:50
3F:推 hsucheng: pwl不是可以指定开始时间吗 01/05 21:50
开始时间不用是0ns
但是input信号有可能有好多个0V-1V或1V-0V的变动
要看使用这subckt的使用者怎麽定这bit pattern
我难道有办法设定pwl开始时间是个变数
然後每次使用者input 0V-1V或1V-0V变动的时候我这subckt就可以侦测出来
然後实时去改动我voltage source中pwl开始时间吗?
就算可以那我下一次0V-1V的时候呢?要新弄一个voltage source出来?总共要几个?
那使用者还没给input我也不会先知道他有几次0V-1V或1V-0V的变动呀!
4F:推 mmonkeyboyy: 是VerilogA or VerilogAMS 不是Verilog XD 01/05 22:50
https://zh.wikipedia.org/wiki/Verilog-A 这个吗?
正在看 但之前完全没接触过很不熟
能不能麻烦m大简单稍微提一些关键字?
例如我可能需要使用他的array功能输入波形资料之类的
然後可能会需要if else判断式之类的?谢谢了!
※ 编辑: profyang (36.226.157.138), 01/06/2019 14:40:29
5F:→ mmonkeyboyy: 你就要先建个模型 在 spice中叫进这个模型 里面就 01/06 15:03
6F:→ mmonkeyboyy: 写程式而已 就现代模拟来说 这个技能算重要 01/06 15:04
8F:→ mmonkeyboyy: 请不要用迷版SPICE...不一定支援啊~ 01/06 15:06
OK 谢谢m大
※ 编辑: profyang (36.226.157.138), 01/06/2019 19:02:10