Verilog Nováček - jednoduchou otázku

D

davidgrm

Guest
Ahoj

Já jsem při čtení dat z 32 bit rom a snažím se rozdělit do 4 byty.Nejsem dostat výsledky, které očekávám a chci potvrdit, že tento fragment kódu je správný:

případě (ByteCount)
2'b00:
začít
ENC_DATA <= RomDataOut [31:24];
ByteCount <= 2'b01;
konec
2'b01:
začít
ENC_DATA <= RomDataOut [23:16];
ByteCount <= 2'b10;
konec
2'b10:
začít
ENC_DATA <= RomDataOut [15:8];
ByteCount <= 2'b11;
konec
2'b11:
začít
ENC_DATA <= RomDataOut [07:00];
ByteCount <= 2'b00;
konec
endcase

 
Líbilo se vám dát tyto výkazy v taktovaný procesu, nebo ne?"ByteCount" by měly být aktualizovány pouze po každém hodinovém cyklu, pokud jsem pochopil správně.

pokud u havae již dal tuto část fthe kódu taktovaný procesu, to místo, které části kódu stejně.

 
Jo - jsem to posedge, a pak se rozhodli vyzkoušet neg okraji

Vždy @ (negedge ENC_CLOCK_2)
začít
případě (ByteCount)
2'b00:
začít
ENC_DATA <= RomDataOut [31:24];
ByteCount <= 2'b01;
BlockDone <= 0;
konec
2'b01:
začít
ENC_DATA <= RomDataOut [23:16];
ByteCount <= 2'b10;
konec
2'b10:
začít
ENC_DATA <= RomDataOut [15:8];
ByteCount <= 2'b11;
konec
2'b11: / / Všechny byty udělal konec bloku dosáhla
začít
ENC_DATA <= RomDataOut [07:00];
ByteCount <= 2'b00;
BlockDone <= 1;
konec
endcase
konec

PaterrnRom PaterrnRom_inst (
. Adresu (RomAddr),
. Hodiny (ENC_CLOCK_2),
. Q (RomDataOut)
);

 
můžete zpracovat svůj problém tak, že dostane jasné?

Jak se o ur RomAddr, to změna často nebo by to být stabilní aspoň 4 hodiny cykly ... protože u stejné hodiny pro dělení tha data, jakož i sběr dat z ROM

 
No na začátku chci jen potvrdit, pokud předložený kód mi umožní získat 1 byte v době od 32 bit rom?V současné době pro testování mám nastavit adresu 0.Použil jsem negativní okraje, protože qu (at) RTU naznačuje, že ROM budou hodiny data ven na pozitivní okraj, tak jsem myslel, že to nemusí být stabilní, aby okraj.Problém je v tom I dont Zdá se, že dostat data na to, že jsem dal do

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Smutný" border="0" />

To je jen fragment kódu.Snažím se psát test video vzoru na video enkodér.Bohužel zkušební obrazec má spoustu 4 bajtové bloky, které je potřeba opakovat různé několikrát.To je důvod, proč jsem se rozhodl vytvořit 32 bit ROM místo 8 bitů ROM.To je základní rom, který je k dispozici jako megafunction v qu (at) RTU.Jsem za předpokladu, že to zvládne rychlosti 27MHz??

 
V podstatě je to spíše otázka design RTL než Verilog konkrétní věci, myslím.
Citace:

Použil jsem negativní okraje, protože qu (at) RTU naznačuje, že ROM budou hodiny data ven na pozitivní hrana
 
Existují nějaké možné důvody, proč bych měl dostat nesprávné údaje pocházející z Cyclone Rom?tj. veškeré potřebné nastavení?I am using qu (at) RTU paměti editor pro vytvoření 32bit hex soubor

 
Já bych nečekal žádné, a to zejména bez časového střetu nalézt v načasování analýzy.

 

Welcome to EDABoard.com

Sponsor

Back
Top