-
Notifications
You must be signed in to change notification settings - Fork 1
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
Pragma #48
Conversation
aolofsson
commented
May 6, 2024
•
edited
Loading
edited
- Adding sync clear bit to fifo to enable graceful recovery
- Standardize around ifdef "SIM" for simulation only constructs
- Easier to remember for quick integration
- Different path from hardware reset - Enables graceful restart without having to hardware reset.
- Clear enough, shorter is better
parameter PROP = "DEFAULT" | ||
) | ||
module la_dsync #(parameter PROP = "DEFAULT", | ||
parameter STAGES = 2, // synchronizer depth |
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.
how will this work with the pre-compiled technology libraries?
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.
Target libraries can have generate statements to select between different gate level netlists.
@@ -1,16 +1,16 @@ | |||
# Lambdalib Introduction | |||
|
|||
Lambdalib is a modular hardware abstraction layer that helps decouple hardware design from manufacturing technology and proprietary IP. Lambdalib defines a set of technology independent generic functions that can be directly instantiated within the design. Technology specific implementations can be linked in at compile time. | |||
Lambdalib is a modular hardware abstraction library decouples design from the uderlying manufacturing target. Lambdalib defines a set of generic functions that get resolved during the target technology mapping stage. |
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.
typos: that decouples, the underlying
@@ -24,8 +24,8 @@ module la_spram #( | |||
parameter DW = 32, // Memory width | |||
parameter AW = 10, // Address width (derived) | |||
parameter TYPE = "DEFAULT", // Pass through variable for hard macro | |||
parameter CTRLW = 128, // Width of asic ctrl interface | |||
parameter TESTW = 128 // Width of asic test interface | |||
parameter CTRLW = 1, // Width of asic ctrl interface |
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 think this change will need to be synced with process-specific implementations of la_spram
so that they can be interchanged
(// basic interface | ||
input clk, | ||
input nreset,//async reset | ||
input clear, //clear fifo statemachine (sync) |
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 think this interface change is pretty low-impact. But it still might be good to have some sort of announcement of interface and parameter default changes to the lambdalib users so that they know to update their RTL code.