Skip to content

Farhana ic contributions - #604

Merged
Shanthipriya20 merged 8 commits into
FOSSEE:masterfrom
Farhana-Farhana:farhana-ic-contributions
Jul 27, 2026
Merged

Farhana ic contributions#604
Shanthipriya20 merged 8 commits into
FOSSEE:masterfrom
Farhana-Farhana:farhana-ic-contributions

Conversation

@Farhana-Farhana

@Farhana-Farhana Farhana-Farhana commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Related Issues

Integrated Circuits are fundamental components in analog and mixed-signal electronic systems. Providing accurate and verified IC models in the eSim Subcircuit Library enhances circuit simulation, supports practical design applications, and expands the collection of reusable components available to the eSim community.

Purpose

This pull request contributes the following CA-series analog IC models to the eSim Subcircuit Library:

  • CA3005
  • CA3018
  • CA3019
  • CA3022
  • CA3028
  • CA3036
  • CA3054

The objective is to provide validated, ready-to-use subcircuit models that can be directly used for simulation and circuit analysis within eSim.

Approach

For each IC, the schematic was developed in eSim using KiCad, followed by an Electrical Rule Check to identify and correct any design issues. After successful verification, the netlist was generated and the corresponding SPICE subcircuit model was integrated into eSim. The IC was then simulated using ngspice, and the obtained results were verified to ensure the expected functionality. Finally, the validated IC models were organized under the library/SubcircuitLibrary directory according to the repository guidelines, and unnecessary generated and cache files were removed to maintain a clean and consistent project structure.

@dharunashokkumar

Copy link
Copy Markdown

Hey...
I have few suggestions on this pr to make this easier to review

The ic folders are currently at the repo root right.. per the convention used in merged pr #595 and pr #583, subcirc should go under libarary/subcircuitlibrary/'ic-name'/ , I think otherwise esim won't pick them as lib

most of the +253k lines is generated content that probably shouldn't be committed....... two fp-info-cache files are approx-87,500 lines each (about 69% of the PR by themselves), several folders contain a full copy of the entire esim_subckt symbol library (6,500 lines in CA3019_TEST1 it's even present twice, as CA3019.kicad_sym and esm_subckt.kicad_sym, which are identical files), plus .raw simulation dumps, _autosave..* files, and .kicad_prl files. removing these would be good and there will few hundred of lines as real ..

Minor: folder naming is inconsistent (CA3018_TEST1, ca3005_test, ca3028a_test2)

@dharunashokkumar

Copy link
Copy Markdown

Happy to help...

@Shanthipriya20
Shanthipriya20 merged commit 60c231e into FOSSEE:master Jul 27, 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.

3 participants