I see. So in theory I should be able to use Xyce t...
# ihp-sg13g2
c
I see. So in theory I should be able to use Xyce to run my multi port sp simulations (but just not be able to use the nice QUCS-S interface for it). (I will test all of these theories and write my experience here, still doing some reading before getting started). Is there a tutorial or document to follow to set up all the PDK and EDA tools nicely? Or are all of them setup individually and manually?
k
@Caglar Ozdag first of all thanks for your interest in our OpenSourcePDK. It is great to hear that you are working on a "non trivial" RF project using open source approach. Let me provide some more comments apart of those made by @tnt. 1. Although we have OpenEMS on the list of supported tools there was not much progress recently in this field. We have mainly focused on the models and non RF analog/mixed/digital flows. Nevertheless if you are interested in enabling this we can try to contact you with some people who are actually working on this. 2. As for schematic capture we support
xschem
and
Qucs-S
. Booth in fact are a graphical tools to generate the netlist which is then simulated by either
ngspice
or
Xyce
Since
Qucs-S
looks and feels like ADS it should be your natural selection. Please take a look at this discussion link and provide your feedback (requested features). It will help us to establish a specification and push for development. 3. As mentioned, we support
ngspice
and
Xyce
simulators. The main focus is on
ngspice
and
Xyce
is kind of complementary tool. Schematic capture tools and simulators are interfaced via netlist in ascii format. 4. As for N-Port S parameter simulations seems that boot simulators provide support to do so. If you are interested we could generate a basic testbench using some passives and check it out. I am happy to help you setting up the simulation using a netlist. The touchstone file is also supported (`ngspice`` supports only 2 port export) 5. Here I provide you a link to a stand alone tool called DeEmbed which can support 1 to 4 port data postprocessing using touchstone format. 6. Since IHP has its own pilot line we can manufacture the devices. We have also OpenMPW runs for open source. If you accept the conditions you can get access to free silicon. More information can be found here 7. Here you can find some more information about the PDK and tools installation and set up. It is WiP 8. The tutorials are on our TODO list. Right now we are happy to answer any related questions you have.
c
@Krzysztof Herman thanks for your detailed explanations. I really appreciate it. Since this is a very large task, I would like to take it step by step. Otherwise I will get lost 🙂 First step is to get OpenEMS working with IHP PDK. I believe I managed to get this step working. I want to experiment more with how openEMS works with IHP. I’m sure I will have many questions in the meantime. Then I will move on to schematics and simulations.
k
@Caglar Ozdag looking at the PDK and tools development priorities I would rather start with schematic and simulation heading towards RF design.
@Caglar Ozdag here you have an example of S-parameter multiport analysis
image.png
c
Hi Kryzsztof, thanks. I am looking for the ability so simulate a multi port sparameter file (i.e. not lumped elements as you shown above). The cell I am looking for is the analogLib/nport element in Cadence and S-Parameter Component in Keysight ADS
This task is actually somewhat unrelated if the simulator/schematic editor has IHP support or not. Since the sp file will be coming externally (which I generated using OpenEMS + IHP metal stack)
From reading documentation and forums online I am fairly sure Qucs-S has this support. I will try setting it up now.
k
@Caglar Ozdag it is great to hear that you were able to configure OpenEMS and generate S-parameter file using our BEOL. I think what you are lacking is a component which will instantiate your model in the simulation. This elements can be found in file components as shown on the following image:
it will instantiate a linear device in a netlist which can be simulated only with Xyce
Unfortunately Xyce does not support NF, NFmin and Rn simulation, while ngspice does. Let us figure out how we can deal with this issue. @Dietmar Warning
in Xyce reference guide 7.6 you can find this
Copy code
2.3.24.
Linear device
The linear (YLIN) device allows an S-, Y-, or Z-parameter model to be used to define an N-port device. It
is mostly commonly used as part of a Harmonic Balance (HB) analysis.
c
@Krzysztof Herman can you remind me if there was a problem with IHP & Qucs-S & NGspice support for eachother in the context of multi-port sp simulations? You mentioned above in one of your messages that ngspice only supports 2 ports, but I am not sure if this is right. Are you sure? I believe I set up Qucs-S successfully with ngspice, and selected it as its default simulator. I am now about to try 2 port sp simulation of an IHP transmission line simulated in OpenEMS. Next I will do 4 port. Stay tuned.
Two port simulation. Data is from OpenEMS simulation. Screenshot1: sp simulation made directly on Octave Screenshot2: exported 2port sp file simulated in Qucs-S with ngspice Matches!
k
@Caglar Ozdag could you please share the netlist ? I am wondering what type of device is generated out of this file device. Anyway it is a great news that ngspice supports this. The problem I saw with ngspice was that it was not capable to write a touchstone file out of multiport network although multiport analysis is supported. Anyway it should not be a blocker.
And as for tutorial it does not exist, we are trying to enable some flow as a pipe cleaner and the document it and this way we will have one. Your experiences and testcases are very useful to do so, so keep going.
c
I am also happy to help write the tutorial. I still have some issues to clear. I will share netlists of my testcases when I’m done, no problem.
3-port simulation did cause some issues, not sure what exactly.
I am getting a touchstone file parse error….
k
Tools->Show Last Netlist is sufficient
c
Any idea what could be the problem with the 3port simulation I mentioned above? Maybe you are right and N port simulation beyond 2 is problematic.
k
Ok, it is clear it uses XSPICE extension
xfer
function. Why it reports an issue I do not know, maybe it supports only two ports.
8.2.18 S-Domain Transfer Function
this is how it handles the block
@Holger Vogt @Dietmar Warning does
xfer
support multipart devices ?
c
@Krzysztof Herman I managed to (I think) successfully install Xyce and its dependencies and managed to integrate it into Qucs-S and ran a 2port simulation as before. I can see that the netlist is calling YLIN as you shared before from the Xyce manual.
Unfortunatelly the results are essentially “empty”. S11 is all 1's as you can see, etc.
Any ideas?
k
This is the moment we should ask Xyce developers.
c
Sounds good. thanks for all your help so far. Do you have any suggestion about who to contact specifically and how? email? on github?
k
Github issues and there is albo Xyce mailing list
Here on Slackware there is also xyce channel
Slack*
h
3port simulation: Each call to .subckt requires a subsequent call to .ends. Here there is a mismatch.
c
Hi @Holger Vogt which netlist are you referring to? I only shared the ngspice 2 port netlist above (qucs_s_2portspsim_netlist) which simulates fine. 3 port ngspice does not netlist it exits with an error before it has a chance to netlist incorrectly like missing an .ends etc.
h
I am referring to the error message. Without correcting the .subckt ... .ends error, which seems to be a wrong input to ngspice, we cannot check any other issue.
k
@Giovanni @Manuel could you please take a look?
@Caglar Ozdag have you tried this approach ?