Anding Klok met Data

N

nag123

Guest
Hoi,

als ik Anding de klok met de gegevens, heeft het geen problemen te creëren?

Bijvoorbeeld: clk1 = 60 Mhz en clk2 <= 120 mhzindien rising_edge (clk2)
data_out <= clk1 en Din;
end if;

Is het bovenstaande een is een goede manier van coderen stijl?

Zo niet, kan je voorstellen de plaatsvervanger een?

 
beter tot 60 Mhz Clk gebruiken als een staat ..

indien Clk120'event en Clk120 = '1 'dan
indien Clk60 = '1 'dan
dataout <= DataIn;
end if;
end if;

In dit geval A D-ff met mogelijk zal worden synthsized.

 
Wat probeer je te doen?
Wat is de faseverschuiving tussen deze twee klokken?
Geef meer details

 
faseverschuiving is nul als 6o MHz klok is afkomstig van 120 MHz klok.

 
Hoi,
sinds clk2 = 2 * clk1 met nul faseverschil is er geen probleem in uw code.Probleem iMerge wanneer er vertragingen / scheef.

 
Mijn twijfel is, gebruik ik klok als mogelijk signaal.

clock gating genereert spikes,

Ik gebruik gebruik klok als mogelijk signaal, heeft het genereert geen spikes?

 
Natuurlijk zijn er pieken wanneer er gebruik wordt ge-AND klok met mogelijk signaal.In feite is deze technieken is het ergste venstertijd technieken die ik ken.
Probeer het gebruik van een andere klok in verband low power technieken.Als je blijft gebruiken klok venstertijd gebruik maken van de Synopsys Design Compiler die kan de taak die je doet omdat het is begiftigd met deze featrure.

 
als je twee klokken zijn synchroon, ik denk dat de beste manier voor gating is het schrijven van uw code in data flow-formaat (Anding hen samen)

 
nog steeds geen zin als er nul vertraging tussen deze twee klokken waarom heb je nodig om iets te schrijven, omdat de uitgang van de gegevens 60MHZ klok zal volgen

 
Ik heb 2 controle-signalen van de klok, een in fase naar de klok en de andere is een aanvulling van de eerste.

Ik gebruik deze 2 controle-signalen in datapad logica voor multiplexing de inkomende gegevens.

zal ik de klok als stuursignaal voor mux.

CLK
____|------|____|------|____|------|__

ctrl1 ____|------|____|------|____|------|__

ctrl2 ------|____|------|____|------|____|---

 
als het stuursignaal Ik zou iets doen als dit

proces (clk, reset)
indien reset = '1 'dan
centre <= '0 ';
elsif (clk = '1 'en clk'event) dan
centre <= niet (centre);
end if;
einde proces

in dit geval bent u niet bezetten extra klok lijn, en uw timing tool zal dat goed analyseren

 
Het is afhankelijk van de wat is het gegevenstype van de DIN
indien din is beetje type dan
if (Clk1'event en Clk1 = '1 ') then
DOUT <= DIN en clk2
zijn werk
en als de din integer is of enig ander type gegevens vervolgens u kunt gebruiken als een CLK CLK-signaal en een andere wordt gebruikt als een mogelijk

proces (clk1, clk2, DIN)
if (Clk1'event en Clk1 = '1 ') then
indien clk2 = '1 'dan
DOUT <= din;
end if;
end if;
einde proces

 

Welcome to EDABoard.com

Sponsor

Back
Top