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

@yogesh09070 yogesh09070 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:

IC Description
74HCT594 8-bit serial-in, serial or parallel-out shift register
74LS112 Dual JK negative-edge-triggered flip-flop with preset and 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

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.

@yogesh09070 yogesh09070 changed the title Add new subcircuit components: 74HCT594, 74LS112, 74LS150, 74LS298, 74LS379, 74LS399, 74hc589, CD4095BMS Subcircuit files for ICs by Yogeswaran I Jul 16, 2026
@Shanthipriya20
Shanthipriya20 merged commit a22a4fb into FOSSEE:master Jul 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#469 FOSSEE#569 FOSSEE#574 FOSSEE#591 FOSSEE#593 FOSSEE#594 FOSSEE#595 FOSSEE#596 FOSSEE#604 FOSSEE#605 FOSSEE#606 FOSSEE#609 FOSSEE#610
Sign up for free to 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