S
Sobakava
Guest
Jeg gjennomførte et mønster generator bruker Verilog og XC9500 CPLD.
Mønster generert med en klokke inngang.
Det er en motsigelse, det regner og det er en sak / / endcase blokk som prosessen counter verdi og genererer pulser ...
Når telleren kommer til 21048, jeg satt den til 0 og neste ramme starter ...
Mens du kjører mitt mønster generator fritt, det er ikke noe problem ...
Men nå har jeg behov for å kontrollere generator med en ekstern utløser ...
Hvis en negativ eller positiv kanten oppdaget fra start pin, det
generator bør kjøre for en gangs skyld ...Bare en tur bør gjøres,
så når det kommer til 21.048, bør stoppe før neste START utløse ...
skriving main_clock;
reg counter [14:0];
reg can_read = 0;
alltid @ (posedge main_clock)
begynne
if (teller == 21048)
begynne
counter = 0;
can_read = 0;
slutt
if (can_read)
begynne / / begynne kan lese den
teller = teller 1;
case (Counter)
1: begynne ...slutt
2: begynne ...slutt
endcase
slutt
sluttJeg la til en reg kalt som CAN_READ til design ...
skriving readit;
alltid @ (posedge readit)
begynne
can_read = 1;
sluttSom jeg nevnte, da en positiv kanten oppdages på pin READIT, can_read biten satt og main_clk vil generere mønsteret til can_read fortsatt stille.Når telleren kommer til 21048, can_read vil bli resetted og mønster generator vil stoppe ...
Xilinx Ise kan implementere denne designen og jeg legger det til chip, men det virker det ikke fungerer ...Generator alltid kjører og jeg kan ikke stoppe den ved hjelp READIT pin ....
Er det ikke mulig å sette / tilbakestille register (can_read) i to ulike alltid @ (posedge. ...) blokker?
Noen mening?
Mønster generert med en klokke inngang.
Det er en motsigelse, det regner og det er en sak / / endcase blokk som prosessen counter verdi og genererer pulser ...
Når telleren kommer til 21048, jeg satt den til 0 og neste ramme starter ...
Mens du kjører mitt mønster generator fritt, det er ikke noe problem ...
Men nå har jeg behov for å kontrollere generator med en ekstern utløser ...
Hvis en negativ eller positiv kanten oppdaget fra start pin, det
generator bør kjøre for en gangs skyld ...Bare en tur bør gjøres,
så når det kommer til 21.048, bør stoppe før neste START utløse ...
skriving main_clock;
reg counter [14:0];
reg can_read = 0;
alltid @ (posedge main_clock)
begynne
if (teller == 21048)
begynne
counter = 0;
can_read = 0;
slutt
if (can_read)
begynne / / begynne kan lese den
teller = teller 1;
case (Counter)
1: begynne ...slutt
2: begynne ...slutt
endcase
slutt
sluttJeg la til en reg kalt som CAN_READ til design ...
skriving readit;
alltid @ (posedge readit)
begynne
can_read = 1;
sluttSom jeg nevnte, da en positiv kanten oppdages på pin READIT, can_read biten satt og main_clk vil generere mønsteret til can_read fortsatt stille.Når telleren kommer til 21048, can_read vil bli resetted og mønster generator vil stoppe ...
Xilinx Ise kan implementere denne designen og jeg legger det til chip, men det virker det ikke fungerer ...Generator alltid kjører og jeg kan ikke stoppe den ved hjelp READIT pin ....
Er det ikke mulig å sette / tilbakestille register (can_read) i to ulike alltid @ (posedge. ...) blokker?
Noen mening?