F
Fred Bartoli
- Jan 1, 1970
- 0
Hello,
I've a CPLD that is across 2 asynchronous clock domains and it becomes,
ahem, somewhat full. Unfortunately I can't upgrade for the next CPLD size
because of package size :-(
So I've thought to eliminate the synchronization FFs.
To do so, I have to make the 2 clock domains synchronous.
The first domain is the system reference clock and is a precise 1.6MHz. It
has to stay as is.
The second domain is an onboard uc (AT90S2313 then ATtiny2313) clock at 8MHz
or maybe 12/16MHz when switching to the ATtiny. (the uc reads an external
serial command bus and translate high level commands to low levels commands
for the CPLD)
I have, for a bunch of reasons, to sync the clocks on board and I've no
place to do it. So I've thought of injection locking the uc clock oscillator
with something like that :
.---------------------.
| AT90S2313/ATtiny2313|
| |
| |
| |
'---------------------'
| |
| _ |
| | | | 8/12 or 16 MHz
+---|| ||---+ crystal
1.6MHz | |_| |
ref clk --- ---
| --- ---
| | |
+----- Z --------+ |
| |
| |
--- |
--- |
| |
| |
=== ===
GND GND
created by Andy´s ASCII-Circuit v1.22.310103 Beta www.tech-chat.de
Did someone tried this ? Is it workable ?
Which side injection point is best ? Amplitude ?
Do I have to expect some startup or other weird problem ?
Thanks,
Fred.
I've a CPLD that is across 2 asynchronous clock domains and it becomes,
ahem, somewhat full. Unfortunately I can't upgrade for the next CPLD size
because of package size :-(
So I've thought to eliminate the synchronization FFs.
To do so, I have to make the 2 clock domains synchronous.
The first domain is the system reference clock and is a precise 1.6MHz. It
has to stay as is.
The second domain is an onboard uc (AT90S2313 then ATtiny2313) clock at 8MHz
or maybe 12/16MHz when switching to the ATtiny. (the uc reads an external
serial command bus and translate high level commands to low levels commands
for the CPLD)
I have, for a bunch of reasons, to sync the clocks on board and I've no
place to do it. So I've thought of injection locking the uc clock oscillator
with something like that :
.---------------------.
| AT90S2313/ATtiny2313|
| |
| |
| |
'---------------------'
| |
| _ |
| | | | 8/12 or 16 MHz
+---|| ||---+ crystal
1.6MHz | |_| |
ref clk --- ---
| --- ---
| | |
+----- Z --------+ |
| |
| |
--- |
--- |
| |
| |
=== ===
GND GND
created by Andy´s ASCII-Circuit v1.22.310103 Beta www.tech-chat.de
Did someone tried this ? Is it workable ?
Which side injection point is best ? Amplitude ?
Do I have to expect some startup or other weird problem ?
Thanks,
Fred.