开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

The exported SPICE netlist file cannot be successfully simulated

 

When I simulate the circuit using KiCAD V7.99, it is successful. However, when I export the netlist file and simulate it using the ngspice, the simulation fails.
Steps for ngspice simulation:
1. source file
2. run
All the files used for reproduction are attached.
?Are there any special parameters set by KiCAD during simulation?In theory, the exported netlist file should also simulate successfully using ngspice, or is there an issue with the exported netlist?

Application: KiCad Schematic Editor x64 on x64
Version: 7.99.0-4204-g 120937b6, release build
Libraries: ? ?
? ? ?wxWidgets 3.2.4
? ? ?FreeType 2.12.1
? ? ?HarfBuzz 8.3.0
? ? ?FontConfig 2.14.2
? ? ?libcurl/8.4.0-DEV Schannel zlib/1.3
Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info: ?
? ? ?Date: Jan 8 2024 06:17:54
? ? ?wxWidgets: 3.2.4 (wchar_t,wx containers)
? ? ?Boost: 1.83.0
? ? ?OCC: 7.7.1
? ? ?Curl: 8.4.0-DEV
? ? ?ngspice: 42
? ? ?Compiler: Visual C++ 1936 without C++ ABI
Build settings:


The exported SPICE netlist file cannot be successfully simulated

 

When I simulate the circuit using KiCAD V7.99, it is successful. However, when I export the netlist file and simulate it using the ngspice, the simulation fails.
Steps for ngspice simulation:
1. source file
2. run
All the files used for reproduction are attached.
?Are there any special parameters set by KiCAD during simulation?In theory, the exported netlist file should also simulate successfully using ngspice, or is there an issue with the exported netlist?

Application: KiCad Schematic Editor x64 on x64
Version: 7.99.0-4204-g 120937b6, release build
Libraries: ? ?
? ? ?wxWidgets 3.2.4
? ? ?FreeType 2.12.1
? ? ?HarfBuzz 8.3.0
? ? ?FontConfig 2.14.2
? ? ?libcurl/8.4.0-DEV Schannel zlib/1.3
Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info: ?
? ? ?Date: Jan 8 2024 06:17:54
? ? ?wxWidgets: 3.2.4 (wchar_t,wx containers)
? ? ?Boost: 1.83.0
? ? ?OCC: 7.7.1
? ? ?Curl: 8.4.0-DEV
? ? ?ngspice: 42
? ? ?Compiler: Visual C++ 1936 without C++ ABI
Build settings:


[Help fix error when build]

 


Locked Reverification

 

I just received an email from groups.io to say that, because one of their servers had been labelled as a spam sender by anti-spam service spamhaus, some members of the group will have to reverify their email address. I have no control over this and I presume it happens automatically. So if you get an email asking you to reverify please do so. It appears the vast majority of members will not be asked to do this but if you are asked please do it quickly otherwise you will be disabled on 28th Jan - yes I know it's short notice but I only heard myself less than an hour ago.

Cheers

Ian (Group Owner)


Re: All components in schematic becomes slightly displaced

 

Le 25.01.24 à 15:22, Steven A. Falco a écrit?:
Please check your grid settings (View menu -> Grid Properties).? I recommend using 0.05 inches (1.27 mm) because the components in the libraries are all aligned on that grid.? If you have it set very fine, you can easily have problems.? And if it is set too coarse, then you won't be able to connect some pins.
And also use this 50 mil grid when building new components, otherwise, the same "error" will occur.


Re: All components in schematic becomes slightly displaced

 

Thank you Steve!
After finding this alignment tool I updated my grid settings to 0.05" and realigned everything. It was set one step smaller.
I don't seem to have lost any connections when doing this so all is good.

Bj?rn


Re: All components in schematic becomes slightly displaced

 

Please check your grid settings (View menu -> Grid Properties). I recommend using 0.05 inches (1.27 mm) because the components in the libraries are all aligned on that grid. If you have it set very fine, you can easily have problems. And if it is set too coarse, then you won't be able to connect some pins.

Steve

On 1/25/24 01:40 AM, Bj?rn wrote:
I have a reoccurring problem.
From time to time all components and wires are slightly displaced on the grid making attaching new wires to the pins impossible without realigning everything one component and one wire at a time.
Is this a bug or something I do wrong?
Is there a way to automatically align all elements in a schematic to the grid?
I'm running kiCad 7.0.6. Perhaps this is fixed in some later version but I still need a way to realign everything to not have to spend a few days doing it manually...


Re: All components in schematic becomes slightly displaced

 

Thank you Tony (and the others of course!)
How could I miss that option? I really looked for something similar...

Anyway, now I'm back on track again :o)


Re: All components in schematic becomes slightly displaced

 

On 25/01/2024 07:40, Bj?rn wrote:
I have a reoccurring problem.
From time to time all components and wires are slightly displaced on the grid making attaching new wires to the pins impossible without realigning everything one component and one wire at a time.
Is this a bug or something I do wrong?
Is there a way to automatically align all elements in a schematic to the grid?

I'm running kiCad 7.0.6. Perhaps this is fixed in some later version but I still need a way to realign everything to not have to spend a few days doing it manually...
Select everything on the schematic. Place cursor over an object, Right-click > Align elements to grid.

--
Regards,
Tony


Re: All components in schematic becomes slightly displaced

 

When I used to use Cadence Capture two things could cause this...
  • The first was if you changed snap to grid to free form...?
  • The other was if you used a very small grid and switched from mils to mm and back a few times...
Dallas


Re: All components in schematic becomes slightly displaced

 

开云体育

Never noticed that behaviour. Maybe have a look at the source file to see if the coordinates of all components are off grid? Or maybe there is a (accidental) keyboard shortcut to set the grid to a specific location?

Op 25-1-2024 om 07:40 schreef Bj?rn:

I have a reoccurring problem.
From time to time all components and wires are slightly displaced on the grid making attaching new wires to the pins impossible without realigning everything one component and one wire at a time.
Is this a bug or something I do wrong?
Is there a way to automatically align all elements in a schematic to the grid?

I'm running kiCad 7.0.6. Perhaps this is fixed in some later version but I still need a way to realign everything to not have to spend a few days doing it manually...


All components in schematic becomes slightly displaced

 

I have a reoccurring problem.
From time to time all components and wires are slightly displaced on the grid making attaching new wires to the pins impossible without realigning everything one component and one wire at a time.
Is this a bug or something I do wrong?
Is there a way to automatically align all elements in a schematic to the grid?

I'm running kiCad 7.0.6. Perhaps this is fixed in some later version but I still need a way to realign everything to not have to spend a few days doing it manually...


Re: Minimum Track Width for Very Long Tracks

 

On 1/12/24 11:31, steves via groups.io wrote:
If you are trying to drive I2C over long distances, consider using a PCA9600 on each end of the run.? It is a lot harder to blow up than some other buffer chips (e.g. PCA9617).? You can also use higher signal voltage levels (e.g. 12V), but it is tolerant to those higher voltages even when using low-voltage signaling.
Interesting Steve, although it is now way past being even historical, but when did this higher voltage version become available? My unpleasant run-in with it was in the latter half of the 90's and was my first and last, as I forbid the purchase of anything using it. The first USB had much the same problems, with a 5' limit to the length of cable. That quickly led to the use of hub chips in both ends of the cable. Cheap, had enough power to drive terminations if the cabling was good enough. Attention to the terminations soon made 10 meter cables possible, just bring the shekels for quality cabling.

It seems every new class of interface designers have to learn about the real world limits their prof didn't teach them about, often at the expense of their parent companies commercial failure. Some learned, and some are flipping burgers at in&out today.

Its amazing what can be done with a properly terminated transmission line. I was a bench tech at Oceanographic Engineering in 1959 and suddenly found myself in the middle of a project to put TV cameras on the Trieste in prep for its one and only dive into the Marianas trench northwest of the philipines. We were building what was then the smallest TV camera, to be towed thru sewers to inspect for storm water ingress. that was before the first video tape recorder so due to the size of to gondola on the Trieste we were limited to bringing in the video, and displaying it on 5" b&w monitors which were recorded ether with a Leica camera, but 35mm film spools were bulky so most of the pix you saw later were shot with a minox camera. But the Trieste gondola only had 6, 16 gauge std Packard automotive wires thru its wall, so we had to get video for 2 cameras, and lights, and 2 pan & tilt things. Thru those 6 wires. So the first thing we did was get a 1000 gallon stock watering tank, threw in 300 lbs of salt and pumped it full of mission bays brackish water since we had a fishing dock in the back yard to simulate the pacific ocean. Then went to NAPA and bought a 100' roll of that wire and unrolled it in the tank. Setup sweepers to scan that wire to 10 MHz. As long as the test gear was grounded to the tank it looked usable. we redesigned the video for a 40 ohm cable and it worked. The rest is old old history now. As a bench tech, I was a fly on the wall but I was there. The external pressure against the wall of that gondola with Lt. Walsh and Jacques Cousteau in it at the bottom of the trench? 18,000 psi. Those guys in the carbon fiber tube diving on the Titanic, signed their own death warrant, they never felt a thing because the collapse only took a millisecond.

Solve problems is what real engineers do and I was blessed by having the opportunity to learn from them.
Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis


Re: Minimum Track Width for Very Long Tracks

 

If you are trying to drive I2C over long distances, consider using a PCA9600 on each end of the run.? It is a lot harder to blow up than some other buffer chips (e.g. PCA9617).? You can also use higher signal voltage levels (e.g. 12V), but it is tolerant to those higher voltages even when using low-voltage signaling.


Re: Minimum Track Width for Very Long Tracks

 

Unless you're getting your board made in Joe's workshop under the railway arches, you shouldn't need to worry about the manufacturability of boards with 0.2mm tracks. They're routinely used in PC motherboards, for example.

Consider for a moment tracks the on a flexi-PCB. They never break with casual flexing. Copper is very malleable, not brittle. Neglecting undercutting due to over-etching, there is no reason width would have much influence on whether the trace would be likely to break when the board was bent. The force per unit width will be the same. Of course, absolute amount of undercutting is a function of the trace thickness. So a 2oz Cu weight trace might arguably be more liable to breakage than for 0.5oz. The presumption, above, doesn't take that into account.

Track breakages are most likely where they meet the pad, because you have stress points. For thin tracks meeting big pads, consider adding teardrops. I can't remember when KiCad got them, but the feature is in version 7. For the same reason, you might avoid 90° corners.

--
Regards,
Tony

On 12/01/2024 14:11, Robert via groups.io wrote:
The narrower I can make the track, the higher the characteristic
impedance, and therefore the easier it will be to drive (perhaps
allowing a line driver to be avoided).?? But that's no good if it can't
be reliably manufactured.?? Failing authoritative information, I would
probably go with 0.4 mm, similar to what Alan suggested, and a prayer to
the PCB goddess.?? I would prefer not to have to rely on divine
intervention, so I can blame something more substantive if it doesn't
work, but all I've found so far relates to current capacity, not
manufacturability.


Re: Minimum Track Width for Very Long Tracks

 

On 1/12/24 07:00, Alan Pearce via groups.io wrote:
Yeah, but if you have a 'transmission line' you would avoid needing to
vary the track width or doing other things to create impedance bumps.
And using I2C to go 40-50 feet is taking it way beyond what it was
designed for. Going those sort of distances one uses other techniques,
or runs the I2C much slower.
Tell that to a now defunct maker of a quite expensive device used to synchronize a satellite signal which may have doppler effects from the satellite drifting around in its orbital "box" that takes the incoming signal well outside the then current NTSC standards. Well over 15G$ in it, had a remote control so we could rack mount the main unit. The remote came with an admonition that it could only use 40 feet of cable, and would not connect at 41 measured feet. I had to string a 36 foot cable up out of the operator console, hang it in the air near the ceiling to make it work. Squawks to the maker did no good. It wasn't running that fast but I made line interfaces that converted it to low voltage balanced lines. Running that cable nearly 60 feet in the cable trays it never made a mistake. Now I can buy that interface for $3 on ebay, and I use it in my cnc machinery in the garage. Now I'm 22 years retired, that whole control room has been torn out for an all digital system that handles 8 hidef channels in and 8 channels out 24/7. And I'm glad I retired when I did.

On Fri, 12 Jan 2024 at 00:12, Gene Heskett <gheskett@...> wrote:

On 1/11/24 13:52, Alan Pearce via groups.io wrote:
I wouldn't have thought you would need to treat I2C lines as
transmission lines, the data rate is quite slow (even at high speed
I2C you are still only at 4MHz). It is not as though you are laying
out a memory array where a heap of parallel address and data lines
need to be synchronised to a double data rate clock, and so edge
timings are highly critical. The I2C transfer clocking is designed to
deal with a small amount of ringing on the clock and data lines.
Considering it was originally designed to be run in a wire harness in
a TV set, it should be quite robust.

But as to track width on a PCB, as you are not constrained by
requiring impedance controlled tracks, make them wide enough that they
will be robust in manufacturing of the PCB (i.e. don't create
under-etching problems, corner peel problems, etc) so that the PCB
house minimises rejection rates, and then during assembly &
integration the tracks are robust enough to withstand knocks and rough
handling without causing micro-cracks in the tracks. Personally I
would go for something like 0.5mm, only thinning when needed to
squeeze through gaps between pins and pads.
But you are ten ignoring the laws of physics, the time sensitivity, and E=MC2 actually start from zero speed. I am constantly amazed at the intelligent people who think that time dialation vs speed has a floor below which it does not apply. If you had a sensitive enough clock, which a cesium beam is, you can measure the time difference of one clock is stationary and another is traveling down the interstate at 70 mph. One of the experiments to check Einsteins theory, we put a cesium beam clock in a 747 and flew it around the world. On taking it back and setting it down beside the stationary version and the moving clock had lost, to quite a few decimal places of what Einsteins theory said it would. That's good enough for me. Use a balanced line, properly terminated.
And every time you do that, there's a huge bump in the impedance at that
point. If you don't have a T.D.R., make it or get one. I've made one a
few times, and made it work well enough to tell a tower crew looking for
a burnout in a transmission line which joint to take apart to find the
top or bottom of a line fire. Saves at least a day getting the fire
damage repaired and the tv station back on the air.

I2c is the most ticklish transmission they ever threw at us, designed to
work at ttl voltage levels, the drivers have so little surplus power
that it can't be properly terminated to make it a real transmission
line. That limits it to under 40 feet. src terminated, maybe 50 feet.
With more modern fasrer circuitry.

On Thu, 11 Jan 2024 at 16:39, John Woodgate <jmw@...> wrote:

0.2 mm sounds OK, but it's only eight thousandths of an inch. Any defect, even a change of hardness/annealing, in the copper creates a stress-concentration joint, leading to a crack. I think you should make the tracks as wide as possible, for good reliability.

On 2024-01-11 16:01, Robert via groups.io wrote:

The lines concerned are I2C clock and data, and yes, I will be
considering them as transmission lines. However, there's no point
laying something down that is electrically just fine if the board cannot
be manufactured reliably or the tracks break during assembly (it will
get bolted down, but before that happens someone will have to pick it up
and move it into position).

Chinese PCB houses can routinely achieve 0.15 mm on normal sized boards.
So am I worrying about nothing, because they will in fact have no
trouble with a track (say) 0.2 mm wide and 500 mm long, if that's what I
would choose from an electrical viewpoint?

Regards,

Robert.

* Plain text email - safe, readable, inclusive. *









.
Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis





.
Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis


Re: Minimum Track Width for Very Long Tracks

 

This is all going very off-topic, but I understand the main problem is
ending up with edges on the I2C bus that have an RC time constant that
is too slow, so one needs to drop the pull-up resistance, and eventually
it wont be possible to drive the bus without some sort of line driver.

NXP have published an application note on how to run I2C along a (long)
transmission line, such as CAT5 cable, using a line driver:



The narrower I can make the track, the higher the characteristic
impedance, and therefore the easier it will be to drive (perhaps
allowing a line driver to be avoided). But that's no good if it can't
be reliably manufactured. Failing authoritative information, I would
probably go with 0.4 mm, similar to what Alan suggested, and a prayer to
the PCB goddess. I would prefer not to have to rely on divine
intervention, so I can blame something more substantive if it doesn't
work, but all I've found so far relates to current capacity, not
manufacturability.

Regards,

Robert

* Plain text email - safe, readable, inclusive. *


Re: Minimum Track Width for Very Long Tracks

 

Yeah, but if you have a 'transmission line' you would avoid needing to
vary the track width or doing other things to create impedance bumps.

And using I2C to go 40-50 feet is taking it way beyond what it was
designed for. Going those sort of distances one uses other techniques,
or runs the I2C much slower.

On Fri, 12 Jan 2024 at 00:12, Gene Heskett <gheskett@...> wrote:

On 1/11/24 13:52, Alan Pearce via groups.io wrote:
I wouldn't have thought you would need to treat I2C lines as
transmission lines, the data rate is quite slow (even at high speed
I2C you are still only at 4MHz). It is not as though you are laying
out a memory array where a heap of parallel address and data lines
need to be synchronised to a double data rate clock, and so edge
timings are highly critical. The I2C transfer clocking is designed to
deal with a small amount of ringing on the clock and data lines.
Considering it was originally designed to be run in a wire harness in
a TV set, it should be quite robust.

But as to track width on a PCB, as you are not constrained by
requiring impedance controlled tracks, make them wide enough that they
will be robust in manufacturing of the PCB (i.e. don't create
under-etching problems, corner peel problems, etc) so that the PCB
house minimises rejection rates, and then during assembly &
integration the tracks are robust enough to withstand knocks and rough
handling without causing micro-cracks in the tracks. Personally I
would go for something like 0.5mm, only thinning when needed to
squeeze through gaps between pins and pads.
And every time you do that, there's a huge bump in the impedance at that
point. If you don't have a T.D.R., make it or get one. I've made one a
few times, and made it work well enough to tell a tower crew looking for
a burnout in a transmission line which joint to take apart to find the
top or bottom of a line fire. Saves at least a day getting the fire
damage repaired and the tv station back on the air.

I2c is the most ticklish transmission they ever threw at us, designed to
work at ttl voltage levels, the drivers have so little surplus power
that it can't be properly terminated to make it a real transmission
line. That limits it to under 40 feet. src terminated, maybe 50 feet.
With more modern fasrer circuitry.

On Thu, 11 Jan 2024 at 16:39, John Woodgate <jmw@...> wrote:

0.2 mm sounds OK, but it's only eight thousandths of an inch. Any defect, even a change of hardness/annealing, in the copper creates a stress-concentration joint, leading to a crack. I think you should make the tracks as wide as possible, for good reliability.

On 2024-01-11 16:01, Robert via groups.io wrote:

The lines concerned are I2C clock and data, and yes, I will be
considering them as transmission lines. However, there's no point
laying something down that is electrically just fine if the board cannot
be manufactured reliably or the tracks break during assembly (it will
get bolted down, but before that happens someone will have to pick it up
and move it into position).

Chinese PCB houses can routinely achieve 0.15 mm on normal sized boards.
So am I worrying about nothing, because they will in fact have no
trouble with a track (say) 0.2 mm wide and 500 mm long, if that's what I
would choose from an electrical viewpoint?

Regards,

Robert.

* Plain text email - safe, readable, inclusive. *









.
Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis






Re: Minimum Track Width for Very Long Tracks

 

On 1/11/24 13:52, Alan Pearce via groups.io wrote:
I wouldn't have thought you would need to treat I2C lines as
transmission lines, the data rate is quite slow (even at high speed
I2C you are still only at 4MHz). It is not as though you are laying
out a memory array where a heap of parallel address and data lines
need to be synchronised to a double data rate clock, and so edge
timings are highly critical. The I2C transfer clocking is designed to
deal with a small amount of ringing on the clock and data lines.
Considering it was originally designed to be run in a wire harness in
a TV set, it should be quite robust.
But as to track width on a PCB, as you are not constrained by
requiring impedance controlled tracks, make them wide enough that they
will be robust in manufacturing of the PCB (i.e. don't create
under-etching problems, corner peel problems, etc) so that the PCB
house minimises rejection rates, and then during assembly &
integration the tracks are robust enough to withstand knocks and rough
handling without causing micro-cracks in the tracks. Personally I
would go for something like 0.5mm, only thinning when needed to
squeeze through gaps between pins and pads.
And every time you do that, there's a huge bump in the impedance at that point. If you don't have a T.D.R., make it or get one. I've made one a few times, and made it work well enough to tell a tower crew looking for a burnout in a transmission line which joint to take apart to find the top or bottom of a line fire. Saves at least a day getting the fire damage repaired and the tv station back on the air.

I2c is the most ticklish transmission they ever threw at us, designed to work at ttl voltage levels, the drivers have so little surplus power that it can't be properly terminated to make it a real transmission line. That limits it to under 40 feet. src terminated, maybe 50 feet. With more modern fasrer circuitry.
On Thu, 11 Jan 2024 at 16:39, John Woodgate <jmw@...> wrote:

0.2 mm sounds OK, but it's only eight thousandths of an inch. Any defect, even a change of hardness/annealing, in the copper creates a stress-concentration joint, leading to a crack. I think you should make the tracks as wide as possible, for good reliability.

On 2024-01-11 16:01, Robert via groups.io wrote:

The lines concerned are I2C clock and data, and yes, I will be
considering them as transmission lines. However, there's no point
laying something down that is electrically just fine if the board cannot
be manufactured reliably or the tracks break during assembly (it will
get bolted down, but before that happens someone will have to pick it up
and move it into position).

Chinese PCB houses can routinely achieve 0.15 mm on normal sized boards.
So am I worrying about nothing, because they will in fact have no
trouble with a track (say) 0.2 mm wide and 500 mm long, if that's what I
would choose from an electrical viewpoint?

Regards,

Robert.

* Plain text email - safe, readable, inclusive. *





.
Cheers, Gene Heskett.
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis


Re: Anyone made a symbol/footprint for Sparkfun Micromod carriers?

 

Sorry Gene, I was attempting to start a new discussion.
Is there more context required? I'll expand a bit more in case that's helpful.

If you are not familiar with the "MicroMod" system it combines a board edge-connector/socket with one or two female-threaded stand-offs. The footprint would contain the socket, the stand-off(s) in the correct place and an outline to designate the size of the board that's installed. Ideally the BOM would know that this footprint contains more than one part.

rgds,
Doug

On 1/11/2024 11:37 AM, Gene Heskett wrote:
On 1/11/24 10:46, Doug McKnight wrote:
Please Doug, furnish some context so we know who you are replying to.
Hello,

I'm designing a board for a remote data logging application and I'd like to use the Sparkfun LTE GNSS board that hosts the uBlox SARA-R5 module.

Does anyone have a symbol and footprint that for the connector on the carrier board that this module would plug into?? I'm finding some apparent discrepancies between the connector they call out on their website and what seems to be actually used.

Thanks
Doug






.
Cheers, Gene Heskett.