- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have a input clock 128*Fs(Sampling Frequency). I need derived clocks of Fs, 2Fs, 4Fs, 8Fs, 16Fs ... 64Fs.
However, there are 2 ways in my mind to implement it. 1st: 1 module only and multiple output use modulus 128-counter: - if (count == 2, 4, 6, 8, ...) a = 1;//64*Fs - else if (count== 4, 8, 12,...) b =1; //32*Fs .... 2nd: Multiple Module and 1 output each module - modulus 2 counter - modulus 4 counter etc Which method is better? Besides, how to check the value is multiple of 4, 8 and 16? ThanksLink Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Neither.
Either use: 1. use Phase lock loops instead. Logic generated clocks will give you large skew and you'll have all sorts of failures. 2. Instead of using your outputs from your counters as clocks, use them as enables on registers running at sampling frequency.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. My input clock rate can't fullfill the requirement of pll.
2. Yes, i am using this method. However, the structure can be different as i mentioned.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
1) It doesn't work as expected : - if (count == 2, 4, 6, 8, ...) a = 1;//64*Fs - else if (count == 4, 8, 12,...) b =1; //32*Fs // count == 4,8 already done in the above condition. 2)too numerous counters I give a 3rd solution : one counter (range 5 downto 0 for example) and take each bit that switches on divided frequence : count(0) for signal f/2,count(1) for f/4,
count(2) for f/8
.... May it help you ! EDIT : I see you need F/6 for example : take a counter modulo 6 F/12 take (F/6)/2 : be aware about their "phase".

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page