You need to log in to create posts and topics.

Parasitic oscillations in the IC 4099

Parasitic oscillations at the 4099 outputs due to internal flip-flops. The oscillations continue despite the change to High of one of the gates of each FF. It is only solved by adding a 300nF capacitor to GND in the outputs, but this is a "chapucera" solution. In real life this scheme works fine.

Tell me please

.

Uploaded files:

There are multiple solutions for this:

One solution is using "Initial High State" for some gates.
But you need to determine which initial states lead to a stable configuration, it could be one gate or maybe more.
In this case there is a solution using 2 gates in each Flip-flop (CD4099.sim1 in the folder attached):

 

Another solution could be to use a simpler circuit (CD4099new.sim1 in the folder attached):

 

A third solution could be to use a single Script component and program exactly what you want it to do.
And there other posible solutions using combinations of these 3 and maybe more that don't come to my mind.

Each solution has it's advantages and disadvantages:
- The first one implemented with gates is a more accurate representation of the real device, but the simulation is slow.
- The second one is much faster and stable, but you will not have the same transient states and propagation delays than the real device.
- The third one could be faster than the first and slower than the second, but you can control exactly what it will do.

And this is related with the discussion about including components in simulide:
Which one should include simulide?
Is not better that the user choose which one to use depending on the case?
In some cases I might need speed and in some other cases I might need to simulate those transient states as accurate as possible.

Uploaded files:
KerimF has reacted to this post.
KerimF

Thank you for your response and your suggestions. The one I like the most is the one that most imitates reality, which is the gates with the Initial High State  ... And "De color bien, pero no flota" as Gila would say. I attach the example.

Uploaded files:

You are using the CD4099 you have installed.
Adding the new one to a data folder does not override the on eyou have installed.

 

The one I like the most is the one that most imitates reality

Until you need to simulate a complex circuit at fast frequencies, then you will like the simple one.

You are using the CD4099 you have installed.
Adding the new one to a data folder does not override the on eyou have installed.

Or not...
Seems that with your circuit it will oscillate also with the initial states thingy.

Then some other solution is needed.

 

I attach my chapucera solution...

(Also note that the rotation of the button letters is not resolved yet.).

Regarding the doubt you have had with the CD4099 that I have included in my "data"... So that this does not happen (modified component with the same name as in simulide data), simulide should first load the components of the "data" of user. Now it is the opposite.

Uploaded files:

I attach my chapucera solution...

That is one posible solution, not the one I would use, but if it is good for you then ok.

 

(Also note that the rotation of the button letters is not resolved yet.).

Those are buttons inside subcircuits.

 

Regarding the doubt you have had with the CD4099 that I have included in my "data"... So that this does not happen (modified component with the same name as in simulide data), simulide should first load the components of the "data" of user. Now it is the opposite.

 

... and button rotation (not subcircuit.)

Regarding the doubt you have had with the CD4099 that I have included in my "data"... So that this does not happen (modified component with the same name as in simulide data), simulide should first load the components of the "data" of user. Now it is the opposite.

Yes, that makes sense.

 

... and button rotation (not subcircuit.)

It works like any other component (I think we have discussed this already):
- FLip: "corrects" the text.
- Rotation: does not "correct" the text