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!
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
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.
You can export a C model and link it to Xcelium via DPI calls.
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
I'll have to look into this! Thank you, Tim.