• 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. Mixed-Signal Design
  3. Implementing m. code in Virtuoso

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 65
  • Views 6228
  • 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

Implementing m. code in Virtuoso

Bobby Obvious
Bobby Obvious over 1 year ago

Hi there!

I am currently working on mathematical model of a thin-film AMR sensor. I have already created the model in MATLAB, as well as in Simulink (shown in the image below). Basically, you can think of it as a black box with several floating-point inputs (representing various properties of the system) and one floating-point output (the resulting sensor signal). I was also given the task of somehow integrating this mathematical object in cadence as a circuit element, and I am really struggling with this.

Does anybody know if it is possible to somehow import my model into Virtuoso/Pspice? Another option would be to write it from scratch, using available tools. I have been told that converting the model to Verilog might work, but I have basically no knowledge that language, so any tips are really appreciated!

Thanks!

Bobby

P.S. I have tried generating Verilog code of the model via the HDL coder simulink addon, but I don't really know what to do with it, so I am really looking for an alternative solution

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    Bobby,

    I believe you can generate a Verilog-A model from MATLAB/Simulink - it would be best to ask The MathWorks about this though as they will have the familiarity with their tool better than us.

    You're asking about Virtuoso/Pspice - these are two different tool flows. If you're going to simulate with Virtuoso you'd be using Spectre - but if using the PCB tools (Allegro, Concept etc), you'd use Pspice. Both can use Verilog-A models of a device. In Virtuoso you can easily create a Verilog-A view of a component and then that can be used in the Analog Design Environment to simulate the behaviour of that component.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • tpylant
    tpylant over 1 year ago

    You can export a C model and link it to Xcelium via DPI calls.

    Tim

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Bobby Obvious
    Bobby Obvious over 1 year ago in reply to Andrew Beckett

    Thanks for the advice, Andrew! I would very much rather try to avoid going the way of conversion to Verilog-A, but I haven't found any other way, so I guess I might not have a choice. I'll try and ask the MathWorks team for any workarounds, maybe they can give me some tips

    Bobby

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Bobby Obvious
    Bobby Obvious over 1 year ago in reply to tpylant

    I'll have to look into this! Thank you, Tim.

    Bobby

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

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