• 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. VHDL-AMS library issue?

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 125
  • Views 14376
  • 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

VHDL-AMS library issue?

srana01
srana01 over 8 years ago
I'm trying to simulate a simple resistor implementation using VHDL-AMS in cadence. The VHDL-AMS code is as follows:

library ieee, std;
use ieee.std_logic_1164.all;
use ieee.electrical_systems.all;
use ieee.mechanical_systems.all;
use std.textio.all;
use ieee.math_real.all;

entity resistor is
port (terminal p1, p2: electrical);
end entity resistor;

architecture ideal of resistor is
constant R : real := 10.0e3;
quantity v across i through p1 to p2;

begin
i == v/R;
end architecture ideal;



The extraction step was initially not working (problems with finding libraries). After I added the following path to the cds.lib file the extraction started working without any errors and warnings.

INCLUDE /usr/local/cadence/2014-15/INCISIV141/tools.lnx86/inca/files/IEEE_vhdlams/cds.lib.

However, when I create a simple testbench and try to simulate the resistor, I get the following error:

Fatal error found by spectre in `testSim__TB_res__schematic__0x10000001',
        during circuit read-in.
    FATAL (SFE-82):
        "/home/eexsr/linux/testCadence/Sim/TB_res/ams/config/netlist/ihnl/testSim/TB_res/schematic/verilog.vams"
        16: `I0': An instance of `resistor', port name `p1' not found.
    FATAL (SFE-82):
        "/home/eexsr/linux/testCadence/Sim/TB_res/ams/config/netlist/ihnl/testSim/TB_res/schematic/verilog.vams"
        16: `I0': An instance of `resistor', port name `p2' not found.

I feel the problem is still with finding the libraries as the nature of the ports is electrical, which should be defined in the IEEE library.

Could you please point me in the right direction?

Many thanks!
  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    The problem is that your entity is called resistor which is a built-in primitive in the analog solver, and because of that the terminal names don't match. 

    I believe you're using the older "Cell-Based Netlisting" flow (I get the same errors if you use CBN). The newer "AMS Unified netlister with irun" flow diagnoses this a bit more clearly:

    ncelab: *F,OSSPBT: 'testres.I0' of cell 'resistor' is a SPICE built-in primitive. It cannot be configured to another view like 'External HDL' via Cadence Hierarchy Editor.

    If you change the entity name to something else (e.g resideal or myres), it works fine, even with Cell-Based Netlisting.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 8 years ago

    The problem is that your entity is called resistor which is a built-in primitive in the analog solver, and because of that the terminal names don't match. 

    I believe you're using the older "Cell-Based Netlisting" flow (I get the same errors if you use CBN). The newer "AMS Unified netlister with irun" flow diagnoses this a bit more clearly:

    ncelab: *F,OSSPBT: 'testres.I0' of cell 'resistor' is a SPICE built-in primitive. It cannot be configured to another view like 'External HDL' via Cadence Hierarchy Editor.

    If you change the entity name to something else (e.g resideal or myres), it works fine, even with Cell-Based Netlisting.

    Regards,

    Andrew.

    • 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