Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PSpice Digital Logic Library and Qucs-S components #1160

Closed
tomhajjar opened this issue Dec 29, 2024 · 13 comments · Fixed by #1182 or #1187
Closed

PSpice Digital Logic Library and Qucs-S components #1160

tomhajjar opened this issue Dec 29, 2024 · 13 comments · Fixed by #1182 or #1187
Labels
Milestone

Comments

@tomhajjar
Copy link

tomhajjar commented Dec 29, 2024

Updated 1/08/25

Major update. The new capabilities of the "SPICE netlist" device which now allows the "Create Library..." Utility to create Libraries with Parameter Passing. All subcircuits have been converted from Spice Library to Spice netlist.

I am slowly adding more "PSpice" digital components as well as clock sources, Bridges, pull-up/down's, resistor termination packs..etc. PSpice digital libraries are based on XPSICE so every device in the various XSPICE projects posted in the Discussions are also applicable for use with the PSpice libraries.

Families included 74LV, 74HC and CD4000. PSpice libraries have large gaps in what's available and some families are spread over multiple files. You have to "Grep" the folder holding the libraries to hopefully find what you need. Some devices can be converted to a different family by changing response times.

PSpice digital components require .Param vcc=xx and set ngbehavior psa. All nodes are "digital" unless a DAC bridge is used or a connection is made to a "analog" device or resistor which initiates an "Auto-Bridge". I made 1/4/8 ADC-DAC Bridges and resistor packs to speed making schematics and add "digital" and "analog" interfaces between component types. There is also "Digital" to "Real" and "Real" to "Analog" Bridges.

Plotting of voltages at "Digital" nodes requires using the "Plot Vs." option. Both "Digital "and "Analog" data can be plotted on the same Graph.

Simulations are faster if minimal Auto-Bridges are initiated but for typical circuits speed isn't an issue. No provision has been made to pass parameters to the PSpice devices. I haven't tried making subcircuits to implement the "LTspice" method of plotting digital timing diagrams. Just using equations as shown in the examples.

2024-12-28_224101
2024-12-28_224156
2024-12-29_233034
2025-01-02_001629
2025-01-02_001600
2025-01-02_213757
2025-01-07_192636

Digital_device_projects.zip

@ra3xdh ra3xdh added the library label Dec 29, 2024
@ra3xdh ra3xdh added this to the 25.1.0 milestone Dec 29, 2024
@tomhajjar
Copy link
Author

tomhajjar commented Dec 31, 2024

null

@ra3xdh ra3xdh modified the milestones: 25.1.0, 25.2.0 Jan 1, 2025
@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

Thanks! I will upload the three libraries (CD4000, 74HC, 74LV) as is. The ICs presented in libraries are the most used in analog circuits design.

@tomhajjar
Copy link
Author

I only made partial libraries. There are more device subcircuits I made recently that can be added to them.

The subcircuits can used as-is for now.

@ra3xdh ra3xdh modified the milestones: 25.2.0, 25.1.0 Jan 4, 2025
@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

The partial digital IC libraries will be better than nothing. I am planning to prepare the release in February. I will upload the existing libraries now. But if you will prepare the extended libraries before the release, I will replace the files.

@tomhajjar
Copy link
Author

What do you want to call each Library?

Initially I used Digital_HC.lib, Digital_LV.lib...etc.

Is that acceptable?

@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

Yes, the library names are acceptable.

@ra3xdh ra3xdh linked a pull request Jan 4, 2025 that will close this issue
@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

Libraries uploaded by #1182

@tomhajjar
Copy link
Author

tomhajjar commented Jan 4, 2025

Lastly.

Since all these "Digital" Libraries are based on XSPICE, there needs to be either a "Shared" Library containing the Sources, I/O, pull-up/dn..etc OR each Library needs them added.

I could make a new XSPICE "Components" Library containing them.

Holger keeps chastising me I keep conflating my "digital" with my "analog".... ;-)

@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

The better solution will be to add a separate library (For example Digital_AUX or another name ) with pullup/down logic high/low etc. This library will be common for all three libraries.

@tomhajjar
Copy link
Author

tomhajjar commented Jan 4, 2025 via email

@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

All the XSPICE devices I made require parameter passing

This feature is planned as the part of #944 But it will be implemented later this year. Definitely not in this release cycle.

@ra3xdh
Copy link
Owner

ra3xdh commented Jan 4, 2025

The #1182 merged and this issue is closed. The #1034 remains open.

@tomhajjar
Copy link
Author

tomhajjar commented Jan 5, 2025

null

@ra3xdh ra3xdh linked a pull request Jan 5, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants