diff --git a/README.md b/README.md
index 2a1ee4c82..fb42bffe3 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
eSim — Electronic Circuit Simulation
- An Open-Source EDA Tool for Circuit Design, Simulation, Analysis & PCB Design
+ An Open-Source EDA Tool for Circuit Design, Simulation, Analysis & PCB Design
Developed by FOSSEE Team at IIT Bombay
@@ -61,7 +61,7 @@ eSim is designed for electronics engineers, students, educators, and hobbyists w
| • **Simulation** | Ngspice Engine | Run DC, AC, Transient, and other SPICE analyses with real-time interactive plots |
| • **Analysis** | Waveform Plotting | Visualize simulation results with matplotlib-based Python plots and Ngspice native plots |
| • **Model Editor** | Device Models | Create and edit SPICE device models (Diodes, BJTs, MOSFETs, JFETs, IGBTs, etc.) |
-| • **Subcircuits** | Subcircuit Builder | Build, manage, and upload reusable subcircuit blocks |
+| • **Subcircuits** | Subcircuit Builder | Build, manage, and upload reusable subcircuit blocks — **741+ ICs** in `SubcircuitLibrary` |
| • **Mixed-Signal** | NGHDL Integration | Interface VHDL digital models (via GHDL) with analog Ngspice simulations |
| • **Verilog** | Makerchip + NgVeri | Use Makerchip IDE for Verilog/TL-Verilog design and convert to Ngspice models |
| • **PCB** | Layout Design | Design PCB layouts using KiCad's PCB editor with eSim's footprint libraries |
@@ -165,7 +165,7 @@ graph TB
| `appimage/` | 📁 Directory | **AppImage packaging** — build scripts for portable Linux AppImage bundles |
| `docker-launcher/` | 📁 Directory | **Docker support** — Dockerfile, launcher script, and CI workflows for containerized builds |
| `snap/` | 📁 Directory | **Snap packaging** — `snapcraft.yaml` for building Snap packages |
-| `ihp/` | 📁 Directory | **IHP PDK integration** — install script for IHP SG13G2 open-source SiGe BiCMOS PDK |
+| `ihp/` | 📁 Directory | **IHP PDK integration** — install script, `.spiceinit` config, NMOS example, and ngspice latest installer for IHP SG13G2 SiGe BiCMOS PDK |
| `patches/` | 📁 Directory | **Source patches** — patch files for modifying Ngspice/GHDL behavior in sandboxed environments |
| `.github/` | 📁 Directory | **GitHub config** — issue templates, PR templates, and CI/CD workflow definitions |
| `setup.py` | 📄 File | Python package configuration for pip installation |
@@ -257,7 +257,7 @@ src/
|:-----|:------------|
| `deviceModelLibrary/` | SPICE device models organized by type: Diode, BJT (Transistor), MOSFET (MOS), JFET, IGBT, LEDs, Switches, Transmission Lines, and user libraries |
| `kicadLibrary/` | KiCad schematic symbols (`eSim-symbols/`), footprint libraries (`kicad_eSim-Library/`), and project templates |
-| `SubcircuitLibrary/` | Reusable subcircuit definitions for common circuit blocks |
+| `SubcircuitLibrary/` | **741+ reusable subcircuit ICs** — logic gates, flip-flops, op-amps, regulators, timers, multiplexers, shift registers, comparators, multipliers, PDK-specific IPs, and more (see [Subcircuit Library](#-subcircuit-library) section) |
| `modelParamXML/` | XML parameter definitions for device model editor forms |
| `ngspicetoModelica/` | Mapping files for Ngspice-to-Modelica component translation |
| `browser/` | HTML/resource files for the built-in help browser |
@@ -272,7 +272,16 @@ src/
| `src/createKicadLibrary.py` | Auto-generates KiCad symbols from VHDL entity definitions |
| `src/ghdlserver/` | GHDL foreign interface server for inter-process communication with Ngspice |
| `install-nghdl.sh` | Automated installer for NGHDL dependencies (GHDL, Verilator, Ngspice) |
-| `Example/` | Example VHDL models and mixed-signal simulation projects |
+| `Example/` | Example VHDL models and mixed-signal simulation projects (including **Microwatt NGHDL co-simulation**) |
+
+### IHP PDK Integration (`ihp/`) — SiGe BiCMOS Open PDK
+
+| Path | Description |
+|:-----|:------------|
+| `ihp-install-script.sh` | Automated installer for IHP SG13G2 open-source SiGe BiCMOS PDK |
+| `install-ngspice-latest.sh` | Script to build and install the **latest ngspice** from source (with OSDI support) — requires eSim/NGHDL to be installed first |
+| `.spiceinit` | Pre-configured `.spiceinit` file for IHP-Open-PDK; automatically placed in the home directory after configuration |
+| `example.cir` | NMOS DC test circuit demonstrating IHP PDK SPICE simulation |
---
@@ -290,7 +299,7 @@ src/
| **Verilog** |  | Verilog HDL simulation and model generation |
| **HDL Cloud IDE** |  | Online Verilog/TL-Verilog IDE integration |
| **Modelica** |  | Multi-domain modeling and simulation |
-| **PDK** |  | SkyWater 130nm open-source process design kit |
+| **PDK** |   | SkyWater 130nm & IHP SiGe BiCMOS open-source PDKs |
| **Packaging** |   | Cross-distribution Linux packaging & containers |
| **Documentation** |   | Auto-generated developer documentation |
| **CI/CD** |  | Automated builds, Docker images, and releases |
@@ -370,6 +379,8 @@ esim
Refer to the [Docker Launcher README](docker-launcher/README.md) for instructions on running eSim in a containerized environment.
+> **Note:** The Docker image now includes `libreadline-dev` to fix a build issue on recent Ubuntu base images.
+
### 📦 Build from Source (Flatpak)
```bash
@@ -379,6 +390,16 @@ flatpak-builder build flatpak/org.fossee.eSim.yml --install --user
> 📖 For comprehensive installation instructions, see the [INSTALL](INSTALL) file.
+### ⚗️ IHP PDK — Latest Ngspice from Source
+
+If you need the latest Ngspice with OSDI support for IHP PDK simulations:
+
+```bash
+# Requires eSim/NGHDL to be installed first
+chmod +x ihp/install-ngspice-latest.sh
+./ihp/install-ngspice-latest.sh
+```
+
---
## 🔄 CI/CD & Packaging
@@ -454,6 +475,41 @@ eSim ships with **42 ready-to-simulate example projects** in the `Examples/` dir
---
+## 📦 Subcircuit Library
+
+The `library/SubcircuitLibrary/` directory contains **741+ verified subcircuit models** contributed by the community. These can be directly used in eSim simulations as subcircuit blocks.
+
+
+📂 Click to expand subcircuit categories
+
+| Category | Examples |
+|:---------|:---------|
+| **Logic Gates & Buffers** | 74HC08, 74HC32, 74HC86, SN74LS00, IC74HC00, INVCMOS, CMOS_NAND, SNx4HC03 |
+| **Flip-Flops & Latches** | 74LS379, CD4095BMS, JK flip-flops (74LS112, IC74HC107), D flip-flops, SR latches |
+| **Shift Registers** | 74hc589, 74HCT594, 74LS298, 74LS399, SN74LS295B, SN74LS194 |
+| **Multiplexers / Demultiplexers** | 74LS150 (16:1 MUX), 74HC157, CD4051_sub, SN74LS451, 74ls670 |
+| **Counters & Dividers** | CD4017B, CD4026B, CD4029B, 74ls93, 74ls181, SN74LS461, DM74ls173 |
+| **Encoders / Decoders** | SN74LS247, SN74LS353, MM74C923, CD4099B, CD4089B, LM3914 |
+| **Op-Amps & Comparators** | LM358_Sub, LM741, LM311, LM393, LT1010, lmh6702, opa656, ths4303, ths4541 |
+| **Voltage Regulators** | LM7806, LM7812, LP2950, LP2951, LM317_sub, MCP1700, TCA965, MC1569_Sub |
+| **Audio Amplifiers** | MC1306_Sub, MC1554_Sub, LM386, LM833, TDA2003A_sub |
+| **RF / IF Amplifiers** | MC1510_sub, MC1545_Sub, MC1550_Sub, vca821 |
+| **Multipliers & Modulators** | ad834, ad8307, MC1595_Sub, MC1596_Sub, cppll |
+| **Motor Drivers & Power ICs** | L298N, IR2110, IR2130, IP5328P, TP4056, MCP73831, TL494 |
+| **CA-Series ICs** | CA3005, CA3018, CA3019, CA3022, CA3028A, CA3036, CA3054, CA3080, CA3094 |
+| **SN74-Series ICs** | SN74AS303, SN74AS304, SN74AS305, SN74LS247, SN74LS451, SN74S268, SN74S532, SN74S536, SN74278 |
+| **MC-Series ICs** | MC1306_Sub, MC1510_sub, MC1545_Sub, MC1550_Sub, MC1554_Sub, MC1569_Sub, MC1595_Sub, MC1596_Sub |
+| **CD/CMOS Series** | CD4016, CD4026B, CD4029B, CD4089B, CD4095BMS, CD4099B, CD74HC563, CD74HCT241 |
+| **ADC / DAC** | 3bit_flash_adc, DAC0800, 10bitDAC |
+| **Timers** | NE556 (dual 555), lm555n, MC1455B_IC |
+| **Miscellaneous** | SN54170, LM2902, LM2904, LM2917, LM2941, TL783, _TL783 |
+
+
+
+> 💡 **Contributing a Subcircuit?** Follow the guidelines in [CONTRIBUTING.md](CONTRIBUTING.md). Each subcircuit should include a `.sub` SPICE file, a KiCad schematic (`.kicad_sch`), and a test circuit (`.cir`).
+
+---
+
## 🤝 Contributing
We welcome contributions from the community! Whether it's bug fixes, new features, documentation improvements, or example circuits — every contribution matters.
@@ -556,6 +612,46 @@ A huge thank you to all **149+ amazing people** who have contributed to eSim!
---
+## 📝 Recent Changes
+
+A summary of notable changes since the last README update (June 2026):
+
+### 🔧 IHP PDK Enhancements (June 2026)
+- Added `ihp/install-ngspice-latest.sh` — a script to build the latest Ngspice from source with OSDI support for IHP PDK users
+- Added `ihp/.spiceinit` — pre-configured Ngspice initialization file for IHP-Open-PDK; the install script now correctly places it in the user's home directory
+- Added `ihp/example.cir` — an NMOS DC test circuit demonstrating IHP PDK simulation
+
+### 🧩 Subcircuit Library Expansion (June–July 2026)
+Over **100 new subcircuit ICs** were contributed and verified, bringing the total to **741+** entries in `library/SubcircuitLibrary/`. Highlights include:
+- **CA-series ICs**: CA3005, CA3018, CA3019, CA3022, CA3028A, CA3036, CA3054 (and moved CA3020, CA3021, etc. from misplaced locations)
+- **MC-series analog ICs**: MC1306_Sub (audio amp), MC1510_sub (RF/IF amp), MC1545_Sub (video amp), MC1550_Sub (RF/IF amp), MC1554_Sub (audio amp), MC1569_Sub (voltage regulator), MC1595_Sub (4-quadrant multiplier), MC1596_Sub (balanced modulator/demodulator)
+- **Analog ICs from PR #604 (Farhana)**: LT1010, vca821, ths4541, ths4303, opa656, lmh6702, cppll, ad834, ad8307, 3bit_flash_adc
+- **Power/control ICs**: L298N (motor driver), IR2110, IR2130 (gate drivers), IP5328P (power bank IC), TP4056 (Li-ion charger), MCP73831 (Li-Po charger), TL494 (PWM controller), TL783, LP2950, LP2951
+- **Voltage regulators**: LM2941, LM7806, MCP1700, TCA965
+- **Op-amps / comparators**: LM2902, LM2904, LM2917, LM1815
+- **SN74-series digital ICs**: SN74AS303/304/305, SN74LS247, SN74LS295B, SN74LS353, SN74LS451, SN74LS461, SN74LS498, SN74S268, SN74S532, SN74S536, SN74278
+- **TTL/CMOS logic**: 74LS112, 74LS150, 74LS298, 74LS379, 74LS399, 74hc589, 74HCT594, CD4095BMS, CD4016, CD4026B, CD4029B, CD4089B, CD4099B, SN54170, MM74C923, LM3914
+- **Additional digital ICs**: 74ls93, 74ls175, 74ls181, 74ls374, 74ls670, 74lv157, DM74ls173, sn74ls244, sn5470, 4024bc
+
+### 🔀 Library Reorganization (July 2026)
+- **PR #591**: Cleaned up misplaced subcircuits — moved `CA3020`, `LM108`, `LM3080`, `MC1496`, `NE556`, `TL03xA`, `UA702M` from a duplicate location into the canonical `library/SubcircuitLibrary/` path
+- **Subcircuit files** from `SUBCKT/` directory moved to `library/SubcircuitLibrary/` (June 2026)
+
+### 🔬 NGHDL — New Microwatt Example (June 2026)
+- Added a **Microwatt NGHDL co-simulation example** in `nghdl/Example/` demonstrating mixed-signal simulation with the open-source Microwatt POWER ISA soft-core processor (via PR #569)
+
+### 🐋 Docker — Build Fix (June 2026)
+- Added `libreadline-dev` to the Dockerfile to resolve a build failure on newer Ubuntu base images
+
+### 🛠️ Bug Fix — Workspace Newline (June 2026)
+- Fixed workspace newline handling issue (PR #469)
+
+---
+
+## 📄 License
+
+eSim is licensed under the **GNU General Public License v3.0**. See [LICENSE](LICENSE) for details.
+