-
Notifications
You must be signed in to change notification settings - Fork 245
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
Gowin. Add DHCEN primitive. #1349
Conversation
This primitive allows you to dynamically turn off and turn on the networks of high-speed clocks. This is done tracking the routes to the sinks and if the route passes through a special HCLK MUX (this may be the input MUX or the output MUX, as well as the interbank MUX), then the control signal of this MUX is used. Signed-off-by: YRabbit <[email protected]>
I am not enthusiastic about this function - this is a terrible look in the implementation and I would very much like such a function to be part of the API. And I must notice that Xilinx is also spying :) nextpnr/himbaechel/uarch/xilinx/xilinx.cc Line 326 in 0d5d329
|
I don't think this is a massive problem myself, in general if you're normalising wires in the first place then you are also not really dealing with canonical WireIds (there's a general avoidance of using WireIds for non-canonical identifiers). However, could |
Of course, I can think about making these wires as DHCEN pins, only now it is not attached to them - it only “permits/prohibits” the passage of the signal through them. Does non -existent networks make sense? Hm... Or I can turn the names of the wires from the very beginning into nomalized right in gowin_arch_gen.py. There is probably a normalization function there, I need to look it up, I don’t remember so offhand. |
Use the entire PIP instead of a wire - avoids normalisation and may also be useful in the future when calculating clock stuff. Signed-off-by: YRabbit <[email protected]>
Signed-off-by: YRabbit <[email protected]>
This primitive allows you to dynamically turn off and turn on the networks of high-speed clocks.
This is done tracking the routes to the sinks and if the route passes through a special HCLK MUX (this may be the input MUX or the output MUX, as well as the interbank MUX), then the control signal of this MUX is used.