Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 ディスカッション

Using ALTCLKCTRL as clock mux with enable

Altera_Forum
名誉コントリビューター II
4,005件の閲覧回数

I am using a Stratix III and have 4 clocks being output from a single PLL. What I would like to do is to generate two output clocks by multiplexing clk[0] and clk[2] together for the first output clock and clk[1] and clk[3] for the second. 

 

I have generated two clkctrl blocks with two clock inputs each and a single selection bit (where a '0' selects clk[2] or clk [3] and a '1' selects clk[0] or clk[1])). This seems to work fine, but I am getting a design assistant critical warning (Rule C101) about implementing gated clocks according to the Altera standard scheme. I have looked through the help files and megafunction user-guide, but I can't find anything along the lines of what I am trying to accomplish. 

 

Ideally I would want to disable the output clocks based on three other input signals, so I have added in an enable signal in the mega-wizard and generated a combinatorial input for my enable based on these 3 signals. Unfortunately I still get the same warning about gated clocks, except the signals in the warning list are now the output of the clkctrl block instead of signals in my design.  

 

Looking at the help message for this warning:  

quartushelp.altera.com/9.1/mergedProjects/verify/da/comp_file_rules_clock.htm 

it talks about using 2-input and-gates and registering the non-clock input signal when doing clock gating, but I am not trying to do clock-gating in the FPGA fabric, and I don't see anywhere a description of how to correctly accomplish this using the CLKCTRL block without getting warnings. 

 

If anyone has done this before or could shed any light it would be greatly appreciated. 

 

Cheers, 

 

Scott
0 件の賞賛
6 返答(返信)
Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

have you looked at the Clock Control Block? 

 

http://www.altera.com/literature/ug/ug_altclock.pdf
Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

Yes, that is the megafunction block that I am using, but I can't find anything in there that would explain the warnings I am seeing. 

 

I have downloaded the "global clock buffer" design example mentioned in the user guide and run through Quartus 10.1. While I don't get any design assistant warnings if I target the design to the default Stratix II device, if I change it to a Stratix III I get the same "Gated clock should be implemented according to the Altera standard scheme" critical violation.
Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

my mistake, i only just saw the title 

 

let me read more properly
Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

No problem, thanks for the quick reply. It did make me think to double-check Altera's design example on a Stratix III device. 

 

If their own design example shows violations, I suppose it may be worth contacing them directly unless anyone else has run into this issue before?
Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

sounds reasonable to file a service request

Altera_Forum
名誉コントリビューター II
2,490件の閲覧回数

Well, after further investigation this seems to be showing up as a known issue in Quartus 9.1sp2, although there has been no mention of it in the subsequent release notes.  

altera.com/literature/rn/rn_qts_91sp2.pdf?GSA_pos=1&WT.oss_r=1&WT.oss=Rule%20C101&SRNo=10847143
返信