Multisim and Ultiboard

cancel
Showing results for 
Search instead for 
Did you mean: 

Multisim: Importing netlist containing a B element (NONLINEAR_DEPENDENT_SOURCE)

I'm using Multisim 10 and having trouble opening netlists (.cir) containing B elements.

 

If I try opening/importing this netlist from a cir file:

 

* Dummy test file rob.cir
R2 23 0 2k
R3 24 0 3k
R4 25 0 4k
*Next line goes bang!
B1 24 25 I=1

 

ImportLog.dat says: Error: Failed to create NONLINEAR_DEPENDENT_SOURCE(I=1).


If I remove the offending B element from the cir file it loads fine and I can then add the B element as an ABM Current Source.

 

I often need to add netlists like this; it's a nuisance having to go round the houses every time.

 

Notes;

If I check the XSpice command line interface (help elements) there are no non linear dependent sources listed.

If I export the corrected schematic to a netlist, it lists the ABM Current Source as "BI1" not "B1". (But it won't subsequently import it correctly either.)

 

Any thoughts please?

 

Bob

0 Kudos
Message 1 of 5
(3,462 Views)

Hi Bob,

 

It is true that our SPICE import tool has difficulty importing complex components (especially dependant sources).

 

However, there is a much easier way to import the SPICE netlist into Multisim to perform the simulations that you require. Simply place an ARBITRARY_SPICE_BLOCK component. This component can be found in the Basic group and the BASIC_VIRTUAL family. You can paste any type of SPICE command in this component for simulation purposes. The only caveat is, dot commands (e.g. .plot and .tran) don't work. You need to click the appropriate menus in Multisim to get their equivalent commands. However, .subckt and .ends works fine.

 

Hope that helps.

----------
Yi
Software Developer
National Instruments - Electronics Workbench Group
0 Kudos
Message 2 of 5
(3,453 Views)

Hi Yi,

 

Thanks for that information. It works - with a bit of fiddling. Here's my arbitrary spice block netlist:

 

 

XU200 A K TEST1 TEST2  ROB
*ROB
*Test B sources
* in1 in2 out1 out2
.SUBCKT ROB 1 2 3 4
.param Itrig=3m
*Correction: next line added for B1 source to use. It's a 0 volt voltage source.
Vint 1 6 dc 0
R1 6 2 1k
*Correction: B needs a source not an R for I()
*B1 3 4 I=-500*I(R1)
B1 3 4 I=-1*I(Vint)*3m/Itrig
R2 3 4 1
.ENDS

 (I added XU200 just so I could connect to the device in the main schematic.)

My problem now is that, using this method, the actual netlist I want to use simulates OK but doesn't give the correct behaviour. (It does work in other simulators though). Obviously there is no schematic representation of my arbitrary code to work with so it's heavy going!

 

Bob

 

 

0 Kudos
Message 3 of 5
(3,440 Views)

Hi Bob,

 

What type of analysis are you running and what are the analysis parameters? What results are you expecting?

 

----------
Yi
Software Developer
National Instruments - Electronics Workbench Group
0 Kudos
Message 4 of 5
(3,439 Views)

Hi Yi,

 

Thanks for your support.  I think I may have found the answer. I found a messy way of importing the netlist as a schematic so I could probe the circuit and immediately discovered a 1uF capacitor had changed into a 1F due to a corruption in the netlist file itself (nothing to do with Multisim).

 

I'll work it through tomorrow and come back if that wasn't the problem.

 

Regards,

 

Bob

0 Kudos
Message 5 of 5
(3,431 Views)