Forum Discussion
Altera_Forum
Honored Contributor
11 years agoIt's best not to think of clocks as "block specific". For most designs you:
1) Put a create_clock assignment on the clocks coming into top-level I/O ports. 2) Call derive_pll_clocks, which constrains the PLL outputs and transceiver clocks. That's it. If you have ripple clocks(a register that drives the clock port of another register) then you can put a create_generated_clock assignment on that, and you can also put generated clocks on gated clocks(clocks going through combinatorial logic). But you need to be careful, as a these clocks are both considered bad design practice unless you absolutely know what you're doing. An LPM_COUNTER should not be driving the clock port of other logic. Instead that other logic should be driven by the main clock(same one that drives the counter) and the counter just provides synchronous input to this downstream logic. This is general practice and hence most blocks don't need to say explicitly what is in them so you can apply a clock. That being said, if you want to see the names inside, I would suggest the RTL Viewer and the View -> Utility Window -> Node Finder. Good luck.