-
Notifications
You must be signed in to change notification settings - Fork 111
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
Files for FVF based OTA, Analog Vibes, Chipathon #359
base: main
Are you sure you want to change the base?
Conversation
1. drc and lvs reports are also attached 2. sample picture of gds is attached 3. README file and annotations in fvf.py are added
added FVF Pcell files, Analog Vibes, Chipathon 2024
… based OTA directory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can attach the reports and other extra files in the PR body or in a comment and remove them from here to keep the repo clean.
global_current_bias_params: tuple[float,float,float]=(8.3,1.42,2) | ||
) -> Component: | ||
""" | ||
creates a super class AB OTA using flipped voltage follower at biasing stage and local common mode feedback to give dynamic current and gain boost much less dependent on biasing current |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this docstring correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
umm what part are u referring to?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like it describes the OTA but it's for the nblock.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I overlooked this..correcting it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is a standard PDK file, it would be better to import it from the pdk or from /openfasoc/common
instead of creating a copy.
|
||
return component | ||
|
||
#OTA = super_class_AB_OTA(sky130_mapped_pdk) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove these lines if they are not used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one as well need not be copied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These results also can be attached in the PR body instead of committing.
@@ -0,0 +1,37 @@ | |||
## FLIPPED VOLTAGE FOLLOWER CELL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to include some more documentation such as a schematic, some code examples, or layout images.
sd_rmult: sd_rmult for both fets | ||
**kwargs: any kwarg that is supported by nmos and pmos | ||
|
||
Note- While using nmos, use with_dnwell=False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this critical? If yes, it would be better to set it in the function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pmos and nmos uses different parameter names for dnwell. This makes it hard to avoid code duplication. To set it in function, code duplication will happen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant that instead of relying on the user to set dnwell=False
, you can add an if statement that sets it to false if an nmos is used. Perhaps a warning can also be printed along with it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it
sourcing cryo models from the repo itself
sourcing magicrc file from the repo itself
…_based_ota/sky130A directory deleted sky130A directory
removed unnecessary comments
added drc report in readme file
…_based_ota/drc.rpt
added LVS report in README file
Added DRC report in README file
Added schematic
Python and spice codes for FVF based super class AB OTA layout generation , PEX and post-layout simulation. Also contains Pcells used to create the OTA -
Some fixes and modifications were done in these already available Pcells - current_mirror, c_route, four_transistor_interdigitized. PRs for them were also created before this .