• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Create ideal buffer with verilogA

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 19811
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Create ideal buffer with verilogA

BaaB
BaaB over 9 years ago

Hi,

With the help of Andrew last time relating to dependent sources, yesterday I tried a similar approach to create an ideal buffer.

I tried it and tested. Everything is OK. However, I have some questions relating to the code. Could you help me clarify it?

Here is the code I used to create an ideal buffer:

subckt ibuff (in out gnd)
V1 (out gnd) bsource v=v(in,gnd)
ends ibuff


It works as expected. But how input impedance of infinity and zero output impedance is realized from the code?

I see that the ideal buffer has infinite input impedance and zero output impedance too

  • Cancel
Parents
  • BaaB
    BaaB over 9 years ago

    Thanks for the help. I was not sure how the input voltage is measured in simulator. But from what you said, it draws no current when measuring so it has infinite input impedance then.

    I also thought about vcvs but I haven't tried that.

    For the code, could you tell me how to include that code to make it work?

    I tried the way as you said last time for dependent source but I got the following errors:

    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file:  /home/huannguyen/simulation/ibuff_tb/spectre/schematic/netlist/input.scs
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file:  /home/huannguyen/TSMC65/models/spectre/crn65gplus_2d5_lk_v1d0.scs
    Reading file:  /home/huannguyen/TSMC65/models/spectre/mosCAPrf_ahdl.va
    Reading link:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/constants.vams
    Reading link:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading file:  /home/huannguyen/TSMC65/models/spectre/mosCap_ahdl.va
    Reading file:  /home/huannguyen/ibuff.scs

    Error found by spectre during circuit read-in.
        ERROR (SFE-841): "/home/huannguyen/ibuff.scs" 1: Unexpected character ``' in netlist.
        ERROR (SFE-868): "/home/huannguyen/ibuff.scs" 1: Can not open input file `disciplines.vams'. No such file or directory. Ensure that the file exists and the path to the file is correct. Otherwise, use the -I<path> command-line option to specify the path to the file.
    Warning from spectre during circuit read-in.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 2: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 2: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 3: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 3: Use of the comma character in node lists is not supported.
    Error found by spectre during circuit read-in.
        ERROR (SFE-678): "/home/huannguyen/ibuff.scs" 8: Statement is not in Spectre format. Use `simulator lang=spice' to introduce spice language sections.
        ERROR (SFE-678): "/home/huannguyen/ibuff.scs" 11: Statement is not in Spectre format. Use `simulator lang=spice' to introduce spice language sections.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • BaaB
    BaaB over 9 years ago

    Thanks for the help. I was not sure how the input voltage is measured in simulator. But from what you said, it draws no current when measuring so it has infinite input impedance then.

    I also thought about vcvs but I haven't tried that.

    For the code, could you tell me how to include that code to make it work?

    I tried the way as you said last time for dependent source but I got the following errors:

    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libinfineon_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_o_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libphilips_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libsparam_sh.so ...
    Loading /usr/cadence/MMSIM151/tools.lnx86/cmi/lib/64bit/5.0/libstmodels_sh.so ...
    Reading file:  /home/huannguyen/simulation/ibuff_tb/spectre/schematic/netlist/input.scs
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/configs/spectre.cfg
    Reading file:  /home/huannguyen/TSMC65/models/spectre/crn65gplus_2d5_lk_v1d0.scs
    Reading file:  /home/huannguyen/TSMC65/models/spectre/mosCAPrf_ahdl.va
    Reading link:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/constants.h
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/constants.vams
    Reading link:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/discipline.h
    Reading file:  /usr/cadence/MMSIM151/tools.lnx86/spectre/etc/ahdl/disciplines.vams
    Reading file:  /home/huannguyen/TSMC65/models/spectre/mosCap_ahdl.va
    Reading file:  /home/huannguyen/ibuff.scs

    Error found by spectre during circuit read-in.
        ERROR (SFE-841): "/home/huannguyen/ibuff.scs" 1: Unexpected character ``' in netlist.
        ERROR (SFE-868): "/home/huannguyen/ibuff.scs" 1: Can not open input file `disciplines.vams'. No such file or directory. Ensure that the file exists and the path to the file is correct. Otherwise, use the -I<path> command-line option to specify the path to the file.
    Warning from spectre during circuit read-in.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 2: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 2: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 3: Use of the comma character in node lists is not supported.
        WARNING (SFE-702): "/home/huannguyen/ibuff.scs" 3: Use of the comma character in node lists is not supported.
    Error found by spectre during circuit read-in.
        ERROR (SFE-678): "/home/huannguyen/ibuff.scs" 8: Statement is not in Spectre format. Use `simulator lang=spice' to introduce spice language sections.
        ERROR (SFE-678): "/home/huannguyen/ibuff.scs" 11: Statement is not in Spectre format. Use `simulator lang=spice' to introduce spice language sections.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information