Fix FET netlist multiplier calculation bug#49
Merged
msaligane merged 1 commit intoReaLLMASIC:mainfrom Sep 9, 2025
Merged
Conversation
- Remove incorrect division by 2 in fet_netlist function - mult parameter now correctly represents fingers * multipliers - Fixes LVS verification failures for single finger transistors - Resolves automated netlist generation issues in upper-level designs Fixes issue where width=3,fingers=1 would generate mult=0.5 instead of mult=1
Member
|
@Subhampal9 @Landflier, can you please review? |
LuighiV
reviewed
Sep 7, 2025
Contributor
There was a problem hiding this comment.
This file is not needed as part of the PR. Description in the github site for the PR is enough.
The only change required is in the actual source code file.
LuighiV
reviewed
Sep 7, 2025
Contributor
There was a problem hiding this comment.
I've checked that this is an actual mistake. Thanks for noticing and submitting a PR.
msaligane
approved these changes
Sep 9, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The fet_netlist function in src/glayout/primitives/fet.py contains an incorrect calculation for the transistor multiplier parameter that causes LVS verification failures and incorrect SPICE netlist generation.
Root Cause
Line 109 in fet_netlist function incorrectly divides the multiplier by 2:
Where
mtop = fingers * multipliersImpact
Solution
Remove the erroneous division by 2:
Verification
Test cases demonstrate the fix:
Files Modified
src/glayout/primitives/fet.py: Core multiplier calculation fixFET_MULTIPLIER_FIX.md: Technical documentation of the issue and resolutionThis change ensures correct SPICE netlist generation and resolves LVS verification failures in automated design flows.