Gast
#1590814
Ich möchte einen Block RAM verwenden um Daten zwischenzuspeichern. Ich habe mir mal das Datenblatt von einem BlockRam durchgelesen hierzu habe ich einige Fragen: Ich habe einen Takt, den gebe ich auf den Block RAM. Mit jeder ansteigenden CLK-Flanke (wenn RAM_EN = 1 und WE = 1) werden die Daten in die dazugehörige Adresse des Block RAMs geschrieben. Die Adresse erhöhe ich auch immer um 1 mit der ansteigenden Clock-Flanke. Auch die neuen Daten kommen mit der ansteigenden Clock-Flanke an. Nun zu meiner Frage: Wie stelle ich sicher das die Setup and Hold-Time für den Block RAM eingehalten wird? Wenn z.B. der Adresszähler mit der ansteigenden Flanke erhöht wird, dann dauert es ja einen kleinen Moment bis der Ausgang den neuen Zustand besitzt. Außerdem hat die Leitung vom Adresszähler bis zum Block RAM ja noch eine gewisse Verzögerung. Jedoch übernimmt ja auch der Block RAM mit der ansteigenden CLK-Flanke den Wert des Adresszähler. Dieser muß jedoch auch noch eine bestimmte Zeit nach der anstiegenden Clock-Flanke stabil anliegen, dies ist jedoch nicht gewährleistet da der Adresszähler auch erhöht wird. Wie macht man dies am besten ?