From 211ab0b3963b32926d4c0a5c84395823643138ff Mon Sep 17 00:00:00 2001 From: Nihal Rajpal Date: Sat, 26 Jul 2025 17:07:14 +0530 Subject: [PATCH] add documentation for bit extender component --- docs/chapter4/8misc.md | 54 +++++++++++++++++++++++++++++++ static/img/img_chapter4/4.25.png | Bin 0 -> 40103 bytes 2 files changed, 54 insertions(+) create mode 100644 static/img/img_chapter4/4.25.png diff --git a/docs/chapter4/8misc.md b/docs/chapter4/8misc.md index ee8f0d614..721ab87aa 100644 --- a/docs/chapter4/8misc.md +++ b/docs/chapter4/8misc.md @@ -16,6 +16,7 @@ description: "Misc page in Chapter4 of CircuitVerse documentation." 8. [Unequal Split](#unequal-split) 9. [Flag](#flag) 10. [Two's Complement](#twos-complement) +11. [Bit Extender](#bit-extender) ## ALU @@ -519,3 +520,56 @@ You can verify the behavior of the **Two’s Complement** circuit element in the mozAllowFullScreen allowFullScreen > + +## Bit Extender + +The **Bit Extender** is a combinational digital circuit component that extends an input binary value to a specified larger bit width. It supports multiple extension strategies such as **zero-extension**, **sign-extension**, **one-extension**, and **custom input extension**. + +This is useful in arithmetic operations and situations where bit width alignment is required between components. + +> Properties that can be customized in the **PROPERTIES** panel include: `Bit Width In`, `Bit Width Out`, `Extension Type`, `Direction` + +--- + +### Bit Extender Ports + +| **Name** | **Description** | +|-------------------|-----------------| +| `Bit Width In` | Input value to be extended | +| `Bit Width Out` | Output after extension | +| `input` (optional) | Used only when `Extension Type = Input`; specifies the extension bit | + +--- + +![Bit Extender Circuit](/img/img_chapter4/4.25.png) +*Figure 4.25: Relevant attributes for the Bit Extender circuit element* + +--- + +### Behavior + +If the **input width** (`Bit Width In`) is less than the **output width** (`Bit Width Out`), the remaining bits are filled based on the selected extension strategy: + +| **Extension Type** | **Filler Bits** | +|--------------------|---------------------------------------------------------------| +| `Zero` | All extra bits are set to `0` | +| `One` | All extra bits are set to `1` | +| `Sign` | Fills with the **most significant bit** of the input (sign bit)| +| `Input` | Fills with the value of an external **input node** | + +If the input bit width is **greater than** the output, the input is **truncated from the MSB side**. + +--- + +### Example + +- `Bit Width In = 4`, `Bit Width Out = 8` +- Input: `1011` +- Extension Type: `Sign` + +The MSB is `1`, so the output becomes: `11111011` + +### Embedded Circuit + + + diff --git a/static/img/img_chapter4/4.25.png b/static/img/img_chapter4/4.25.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5068e2f382419caf31f16fc176c98c2e1ee936 GIT binary patch literal 40103 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 aHK%tpL*->H<{KK@9MU