Gast
#3969171
Hallo zusammen, ich habe einen Dual-Port-RAM. Jeweils ein Port des RAM wird von zwei an sich getrennten Modulen bedient. Jedes Modul hat seinen eigenen Takt. Leider gehen von einem Modul zum anderen Modul ein paar Steuer- und Datenleitungen, die ich nun entsprechend behandeln muss. Alle Kombinationen sind zulässig, also 10MHz/10MHz, 10MHz/5MHz, 5MHz/10MHz und 5MHz/5MHz. Beide Takte CLK1 und CLK2 sind an sich synchron, nur eben auch mal doppelt so hoch. Modul 1 taktet also z.B. mit 10MHz und bekommt von Modul 2 mit 5MHz die Daten- und Steuersignale. __________ __________ | | | | | Modul 2 |----Steuersignal--->| Modul 1 | | CLK=5MHz | | CLK=10MHz| |__________| |__________| Hier habe ich mir ein CLK-enable in Modul 1 gebaut
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Die von Modul 2 mit 5MHz kommenden Steuersignale verknüpfe ich AND mit diesem Signal und so taste ich auch bei 10MHz die eigentlich doppelt so langen Steuersignale nur einmal ab. Nun habe ich aber ein Problem mit der anderen Richtung, also wenn Modul 2 10MHz hat und Modul 1 diese mit 5MHz abtasten soll. Hier habe ich immer dann ein Problem, wenn das abzutastende Signal nicht zufällig auf die steigende Flanke von Modul-Takt 1 kommt. __________ __________ | | | | | Modul 2 |----Steuersignal--->| Modul 1 | | CLK=10MHz| | CLK=5MHz | |__________| |__________| Gibt es dort irgendwelche Methoden, wie man das sauber lösen kann, ohne dass ich auch den 10MHz Takt aus Modul 2 an Modul 1 reichen muss? __________ __________ | | | | | Modul 2 |----Steuersignal--->| Modul 1 | | CLK=10MHz|----Takt 10MHz----->| CLK=5MHz | |__________| |__________| Aber selbst dann muss ich an irgendeiner Stelle die Steuersignale an Modul 1 übergeben, spätestens dann habe ich wieder das gleiche Problem, dass ich immer doppelt so viele Informationen bekomme, wie ich verarbeiten kann. Vielen herzlichen Dank!