Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

signal depending on a generic

Status
Not open for further replies.

Binome

Full Member level 3
Joined
Nov 16, 2009
Messages
152
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Location
Lyon, France
Activity points
2,405
Hi,
what I want is an internal clock that could be configured at the synthesis time between 3 optional frequencies. I have a first original clock (say "clk") and then I want clk/10 or clk/20 or clk/50 to be the internal design clock depending on a user choice.
I use an Altera Cyclone IV FPGA.
What I thought to do was to use a PLL to create the 3 signals, a generic integer and a multiplexer choosing one of the 3 signals depending on the generic to assign it to the component clock.
I was always told not to use logic to drive clock so is the mux eliminated at the synthesis runtime to have only a simple clock signal? Or is there a better way to do it?
 

Why not simply make three clock enable signals if they are all related to the make clk? it is much simpler and easily implemented.
 

None of the answers seems to refer to the question "configured at the synthesis time between 3 optional frequencies". A generic won't generate actual logic or a multiplexer. The appropriate solution is to connect the clock inside a generate statement, or use different PLL parameter sets respectively alternative PLL instances.

Using a mux with constant selection will work similar to a generate statement, but cause a few connectivity warnings.
 

Using a mux with constant selection will work similar to a generate statement, but cause a few connectivity warnings.
That what I told him to do.
 

That what I told him to do.
Not exactly. There will be no actual multiplexer or clock control block. The compiler generates a single PLL output and removes the two unused ones depending on the generic. In a directly instantiated PLL, you would only change a divisor value.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top