Skip to content

Subcircuit files for ICs by Yogeswaran I - #609

Merged
Shanthipriya20 merged 9 commits into
FOSSEE:masterfrom
yogesh09070:add-subcircuit-components-v2
Jul 16, 2026
Merged

Subcircuit files for ICs by Yogeswaran I#609
Shanthipriya20 merged 9 commits into
FOSSEE:masterfrom
yogesh09070:add-subcircuit-components-v2

Conversation

@yogesh09070

@yogesh09070yogesh09070 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Related Issues

Integrated Circuits (ICs) are essential building blocks in electronic circuit design. Adding this subcircuit to eSim expands the available component library, enabling users to accurately simulate and analyze circuits using this IC.

Purpose

This PR adds 8 new subcircuit components to library/SubcircuitLibrary/, each in a separate commit:

ICDescription
74HCT5948-bit serial-in, serial or parallel-out shift register
74LS112Dual JK negative-edge-triggered flip-flop with preset and clear
74LS15016-to-1 data selector/multiplexer
74LS298Quad 2-input multiplexer with storage
74LS379Quad D flip-flop with complementary outputs
74LS399Quad 2-port register
74hc5898-bit parallel-in/serial-out shift register
CD4095BMSCMOS gated J-K master-slave flip-flop

Files included per component

  • .cir - SPICE netlist
  • .sub - Subcircuit definition
  • .kicad_sch - KiCad schematic
  • .cir.out - Simulation output
  • _Previous_Values.xml - eSim project metadata

Approach

For each IC, the schematic was designed in eSim using KiCad. ERC was performed to check for errors. The netlist was generated and converted from KiCad to NgSpice format with the required component values assigned. The input/output waveforms were then verified against the corresponding datasheet and functional behavior to ensure correct operation.
Each component folder contains the corresponding .cir, .sub, .kicad_sch, .cir.out, and _Previous_Values.xml files.

@yogesh09070yogesh09070 changed the title Add new subcircuit components: 74HCT594, 74LS112, 74LS150, 74LS298, 74LS379, 74LS399, 74hc589, CD4095BMSSubcircuit files for ICs by Yogeswaran IJul 16, 2026
@Shanthipriya20
Shanthipriya20 merged commit a22a4fb into FOSSEE:masterJul 16, 2026
Mausam5055 added a commit to Mausam5055/eSim that referenced this pull request Jul 27, 2026
…2026
Last README update: 2026-06-09 (commit d3eec61)
This update: 2026-07-27
Branch: docs (tracking origin/docs-readme-updates)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SUMMARY OF REPO CHANGES DOCUMENTED IN THIS README UPDATE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total commits since last README: ~150 commits (2026-06-10 to 2026-07-27)
Files changed (repo-wide): 2800+ files across 20+ PRs
SubcircuitLibrary total: 741+ verified IC subcircuits (was ~630)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. IHP PDK INTEGRATION ENHANCEMENTS (2026-06-28)
Commits: cbd0d91, 87aa826, 885ddc7, 1d0f266
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
New files in ihp/:
+ ihp/install-ngspice-latest.sh
Script to build latest ngspice from source with OSDI support.
Requires eSim/NGHDL pre-installed. Backs up existing ngspice35,
then builds with --enable-predictor --enable-osdi from SourceForge.
+ ihp/.spiceinit
Pre-configured Ngspice initialization file for IHP-Open-PDK.
Now correctly placed in user home directory (not project root)
after running the IHP configuration step.
+ ihp/example.cir
NMOS DC test circuit demonstrating a real IHP SG13G2 PDK
SPICE simulation workflow from scratch.
Modified:
~ ihp/ihp-install-script.sh
Updated to move .spiceinit to C:\Users\rikik during configuration
instead of leaving it in the repo working directory.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
2. SUBCIRCUIT LIBRARY EXPANSION (2026-06-10 to 2026-07-27)
PRs: FOSSEE#569, FOSSEE#574, FOSSEE#593, FOSSEE#594, FOSSEE#595, FOSSEE#596, FOSSEE#604, FOSSEE#605,
FOSSEE#606, FOSSEE#609, FOSSEE#610
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
110+ new subcircuits added to library/SubcircuitLibrary/.
Each subcircuit includes: .sub (SPICE), .kicad_sch, .cir test circuit.
CA-Series ICs (commit: ec9b77f, 78c2411–70af4f61):
+ CA3005 — Differential amplifier array
+ CA3018 — General-purpose transistor array
+ CA3019 — Diode / transistor array
+ CA3022 — RF/IF amplifier
+ CA3028A — RF/IF differential amplifier
+ CA3036 — NPN transistor array
+ CA3054 — Dual differential amplifier
MC-Series Analog ICs (commits: 84bcd9f–5869f6aa, 2026-07-11):
+ MC1306_Sub — Audio power amplifier IC
+ MC1510_sub — Wideband video/RF amplifier IC
+ MC1545_Sub — Wideband video amplifier IC
+ MC1550_Sub — RF/IF amplifier IC
+ MC1554_Sub — Audio power amplifier IC
+ MC1569_Sub — Positive voltage regulator IC
+ MC1595_Sub — Four-quadrant multiplier IC
+ MC1596_Sub — Balanced modulator/demodulator IC
Analog / Mixed-Signal ICs — PR FOSSEE#604 (commits: 0e7618c–fd9d77ea, 2026-07-17):
+ LT1010 — Power buffer amplifier
+ vca821 — Variable gain amplifier (10 MHz, -40dB to +40dB)
+ ths4541 — Fully differential amplifier
+ ths4303 — High-speed current-feedback op-amp
+ opa656 — Wideband unity-gain stable FET-input op-amp
+ lmh6702 — Ultra-low distortion wideband op-amp
+ cppll — Charge-pump PLL
+ ad834 — 500 MHz four-quadrant multiplier
+ ad8307 — Low-power logarithmic amplifier (500 MHz)
+ 3bit_flash_adc — 3-bit flash analog-to-digital converter
Power Management / Motor Driver ICs (commits: 4641b86–eff8bec2, 2026-07-13):
+ IR2130 — Gate driver (3-phase bridge)
+ IR2110 — High- and low-side gate driver
+ IP5328P — Power bank management IC
+ LM1815 — Adaptive peak detector
+ L298N — Dual full-bridge motor driver
+ LP2950 — Micro-power voltage regulator
+ MCP73831 — Single-cell Li-Ion / Li-Po charge controller
+ TL494 — Pulse-width-modulation control circuit
+ TP4056 — Li-Ion battery charger IC
+ _TL783 — Adjustable high-voltage regulator (125V)
Voltage Regulators (commits: 0ae0a7f–41c3cc89, 2026-07-14):
+ LM2917 — Frequency-to-voltage converter / tachometer
+ LM2941 — Low-dropout regulator (1A, adjustable)
+ LM7806 — Fixed 6V positive voltage regulator
+ LP2951 — Micro-power adjustable voltage regulator
+ MCP1700 — Ultra-low quiescent current LDO regulator
+ TCA965 — Precision window discriminator
Op-Amps & Comparators (commits: 9d810b4–3d0584ed, 2026-07-13):
+ LM2902 — Quad op-amp (wide voltage range, low power)
+ LM2904 — Dual op-amp (wide voltage range, low supply)
SN74-Series Digital ICs — PR FOSSEE#593 (commits: 225fb80–ea2d0acb, 2026-07-09):
+ SN74AS303 — 8-input NAND gate
+ SN74AS304 — 8-input NOR gate
+ SN74AS305 — 8-input NOR gate with open-collector
+ SN74LS247 — BCD-to-seven-segment decoder/driver
+ SN74LS295B — 4-bit right-shift register
+ SN74LS353 — Dual 4-input multiplexer (3-state)
+ SN74LS451 — Dual 4-line-to-16-line decoder
+ SN74LS461 — Octal counter
+ SN74LS498 — 8-bit shift register
+ SN74S268 — Dual 4-bit latch
+ SN74S532 — Magnitude comparator
+ SN74S536 — Dual J-K flip-flop
+ SN74278 — 4-bit cascadable priority register
CD/CMOS Series (commits: 87fd998–6bf9c228, 2026-07-12):
+ CD4016 — Quad bilateral switch
+ CD4026B — Decade counter/divider with 7-segment display
+ CD4029B — Presettable binary/decade up/down counter
+ CD4089B — Binary rate multiplier
+ CD4099B — 8-bit addressable latch
TTL/CMOS Logic — PR FOSSEE#594 (commits: 6d94315–7afbc57a, 2026-07-13):
+ 74HCT594 — 8-bit serial-in, serial/parallel-out shift register
+ 74LS112 — Dual JK negative-edge-triggered FF with preset & clear
+ 74LS150 — 16-to-1 data selector/multiplexer
+ 74LS298 — Quad 2-input multiplexer with storage
+ 74LS379 — Quad D flip-flop with complementary outputs
+ 74LS399 — Quad 2-port register
+ 74hc589 — 8-bit parallel-in/serial-out shift register
+ CD4095BMS — CMOS gated J-K master-slave flip-flop
Additional Digital ICs (commits: 2026-07-10–2026-07-12):
+ SN54170 — 4x4 register file (open-collector)
+ MM74C923 — 20-key encoder
+ LM3914 — Dot/bar display driver
+ 74ls93 — 4-bit binary ripple counter
+ 74ls175 — Quad D flip-flop
+ 74ls181 — 4-bit arithmetic logic unit
+ 74ls374 — Octal D flip-flop (3-state)
+ 74ls670 — 4x4 register file (3-state)
+ 74lv157 — Quad 2-input multiplexer
+ DM74ls173 — 4-bit D-type register
+ sn74ls244 — Octal buffer/line driver (3-state)
+ sn5470 — Dual 4-input expandable NAND gate
+ 4024bc — 7-stage binary ripple counter
Further ICs from PR FOSSEE#574 & others (commits: 6cc764d–277e618d, 2026-06-13):
+ SNx4HC03 — Quad 2-input NAND gate (open-drain)
+ SNx5452B — AND-OR-INVERT gate
+ SN74LS156 — Dual 2-to-4 decoder/demultiplexer
+ SN74HC623 — Voltage-controlled oscillator
+ LM760 — Operational amplifier
+ CD74HCT241 — Octal buffer and line driver
+ CD74HC563 — Octal D-type transparent latch
+ CD4585 — 4-bit magnitude comparator
+ CD4073B — Triple 3-input AND gate
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3. LIBRARY REORGANIZATION / CLEANUP (2026-07-08 & 2026-06-26)
PRs: FOSSEE#591
Commits: 1e086d2, 54d711d, 2911491
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Moved misplaced subcircuits from a duplicate/incorrect path into the
canonical library/SubcircuitLibrary/ directory:
+ CA3020 — Wideband power amplifier
+ LM108 — Precision op-amp
+ LM3080 — Programmable op-amp
+ MC1496 — Balanced modulator/demodulator
+ NE556 — Dual 555 timer
+ TL03xA — Low-power op-amp (TI TL03x family)
+ UA702M — Operational amplifier
Also: subcircuit files from SUBCKT/ moved to library/SubcircuitLibrary/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
4. NGHDL — MICROWATT CO-SIMULATION EXAMPLE (2026-06-11)
PR: FOSSEE#569 | Commit: 6773fe1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ nghdl/Example/microwatt/
Full Microwatt NGHDL co-simulation example demonstrating
mixed-signal simulation with the open-source Microwatt
POWER ISA soft-core processor interfaced with Ngspice via GHDL.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
5. DOCKER BUILD FIX (2026-06-26)
Commit: d418b30
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ docker-launcher/Dockerfile
Added 'libreadline-dev' to the apt-get install list.
Fixes a build failure on newer Ubuntu base images where
readline is no longer included by default.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6. BUG FIX — WORKSPACE NEWLINE HANDLING (2026-06-14)
PR: FOSSEE#469 | Commit: 323e7b7
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+ src/projManagement/newProject.py (or equivalent)
Fixed trailing newline/whitespace issue in workspace path
handling that could cause path resolution failures on
certain Linux configurations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
README CHANGES IN THIS COMMIT (102 insertions, 6 deletions)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
UPDATED sections:
~ Features table: Subcircuits row now shows '741+ ICs in SubcircuitLibrary'
~ Tech Stack table: Added IHP SG13G2 badge alongside SKY130 PDK
~ ihp/ directory description: Expanded to list all 4 files with purpose
~ SubcircuitLibrary description: Updated count to '741+' with section link
~ NGHDL Example/: Noted Microwatt co-simulation example
NEW sections added:
+ '### IHP PDK Integration (ihp/)' table in Project Structure
+ '## 📦 Subcircuit Library' section with categorized IC families
Categories: Logic Gates, Flip-Flops, Shift Registers, MUX/DEMUX,
Counters, Encoders, Op-Amps, Regulators, Audio Amps, RF/IF Amps,
Multipliers, Motor Drivers, CA-series, SN74-series, MC-series,
CD/CMOS, ADC/DAC, Timers, and Miscellaneous
+ '## 📝 Recent Changes' section documenting all 6 change categories
with dates, PR numbers, commit hashes, and per-item descriptions
+ '## 📄 License' section (was missing from footer area)
+ Docker install note about libreadline-dev fix
+ IHP install-ngspice-latest.sh usage snippet in Installation section
Refs: FOSSEE#469FOSSEE#569FOSSEE#574FOSSEE#591FOSSEE#593FOSSEE#594FOSSEE#595FOSSEE#596FOSSEE#604FOSSEE#605FOSSEE#606FOSSEE#609FOSSEE#610
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@yogesh09070@Shanthipriya20