Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Device Width and Fingers in mos generator seems incorrect. #464

Open
christoph-weiser opened this issue Nov 8, 2024 · 4 comments
Open

Comments

@christoph-weiser
Copy link

Problem

The way magic generates mos devices is not respecting the Fingers field. It should divide the total Width by Fingers to give the correct width of each individual finger.
The total width of the device should still be what was typed in the Width field.

Implications

The problem is that this bug renders magics SPICE import function unusable without modifying the netlist manually before importing.

Example

The input to the generator:
image

This is the layout generated:
image

@RTimothyEdwards
Copy link
Owner

Within the dialog window, "Width" means "width per finger" (although it would probably be useful to add a message indicating it as such, or a checkbox to toggle behavior between total width and width per finger, or a separate message widget to display the total width).

"SPICE import" is independent of the dialog window. SPICE import will correctly interpret W in a SPICE netlist as total width.

@RTimothyEdwards
Copy link
Owner

I'm sure I implemented a "total width" message display some time ago, but it probably was not for the sky130 process. It's not difficult to implement.

@christoph-weiser
Copy link
Author

Ahh ok, i assumed the SPICE netlist would be directly plugged into the device generator without any preprocessing.

That makes sense then, but I think it would be good to indicate the Width means width per finger to avoid confusion, as it differs from what one would typically write in the schematic.

@RTimothyEdwards
Copy link
Owner

Agreed. Feel free to leave the issue open until I get around to implementing it.

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

No branches or pull requests

2 participants