The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl Design Languages >> Verilog-AMS >> Modeling high-z output in verilog-A https://designers-guide.org/forum/YaBB.pl?num=1142691571 Message started by steve_mac on Mar 18th, 2006, 6:19am |
Title: Modeling high-z output in verilog-A Post by steve_mac on Mar 18th, 2006, 6:19am Hi, How do i model high-z output in verilog-A ? Currently I'm modeling it to output = 0, but it is causing conflict when i cascode them at top level (error = output connected to another output). Currently the method i'm using is : : vout = 0; : : V(OUT) <+ vout ; ...... With what value should i replace the '0' with in order to get a high-z output? Thanks a million for ur help !!!!! |
Title: Re: Modeling high-z output in verilog-A Post by Marq on Mar 20th, 2006, 12:51am Hi Steve, A different approach might be to use indirect branch assignment (see LRM 2.2 section 5.3.2). In your case the statement: V(OUT) <+ 0; should be translated to: V(IN): V(OUT) == 0; Assuming there is a V(IN) and that it is (through the external circuit) connected to V(OUT) such that the simulator can solve for V(OUT) == 0. If there is no such connection or no additional input (or inout) is available, you'll probably have to resort to either a very high output resistane (1TOhm) or connection through a controlled current source. |
Title: Re: Modeling high-z output in verilog-A Post by Eugene on Mar 20th, 2006, 7:50am For a high impedance output, are you sure you don't want to instead use I(out) <+ 0; ? |
Title: Re: Modeling high-z output in verilog-A Post by Marq Kole on Mar 20th, 2006, 8:09am To prevent the "error = output connected to another output" it should also suffice to change the mode of the port OUT from "output" to "inout". |
Title: Re: Modeling high-z output in verilog-A Post by jbdavid on Apr 1st, 2006, 10:03pm In the case of a VOLTAGE output which I want to have as a resistor, I usually, V(iOut) <+ vout; I(Out,iOut) <+ V(Out,iOut)*Rout.. - of course its even better to use a transition on Rout, and since its probably to transition the EXPONENT of R not R itself. Ron Vogelsong has written a number of modules like that .. if you have access to Cadence SW, look in bmslib for sw_no for a great example. Jbd |
Title: Re: Modeling high-z output in verilog-A Post by Ken Kundert on Apr 2nd, 2006, 12:09am It would be more efficient to avoid the use of the internal node iOut and just use Code:
-Ken |
Title: Re: Modeling high-z output in verilog-A Post by jbdavid on Apr 21st, 2006, 2:06am maybe.. But I like to make the full branch explicit when I declare currents.. Jonathan |
The Designer's Guide Community Forum » Powered by YaBB 2.2.2! YaBB © 2000-2008. All Rights Reserved. |