Verilog: LCD inicializace

L

laserbeak43

Guest
Dobrý den,
Snažím se kontrolovat LCD na mém Spartan3E Starter Kit bez použití picoblaze.Napsal jsem nějaký kód inicializovat podle HD44780U init sekvence list je na straně 46 (4-bity), ale nejsem si dostat nic.Na konci této sekvence, snažím se dostat blikající kurzor.Kód syntetizuje v pořádku, ale nic na mé desce.

Napadlo mě, jestli tady někdo může pomoci?

kód je připojen, myslím, že bych se příliš dlouho post zde.Jen v případě, že jste přemýšlel, SF_CEO se koná vysoké vypnout rady StrataFlash a RST je přepínač na mé desce.Jsem součástí. UCF souboru, pokud máte zájem o pohledu na omezení.
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
s přítelem na pomoc, se mi podařilo napsat nové, čistší hledá verzi kódu.Jsem připojen, že na tuto zprávu.To syntetizuje, ale i získat tyto warnigns:
Citace:

UPOZORNĚNÍ: Par: 288 - signál clki_IBUF nemá žádné zatížení.
PAR nebude pokoušet trasu tohoto signálu.

UPOZORNĚNÍ: Par: 288 - signál rst_IBUF nemá žádné zatížení.
PAR nebude pokoušet trasu tohoto signálu.

UPOZORNĚNÍ: Par: 283 - K dispozici jsou 2 loadless signály v tomto zařízení.
Tento design způsobí Bitgen vydat DRC varování.

UPOZORNĚNÍ: PhysDesignRules: 367 - signál <clki_IBUF> je neúplná.
Signál

UPOZORNĚNÍ: PhysDesignRules: 367 - signál <rst_IBUF> je neúplná.
Signál

 
UPOZORNĚNÍ vidíte nejsou WRT kód, není definován správně vaše omezení, zatímco syntéza vašeho návrhu.Prosím zkontrolujte, pokud máte omezení na hodiny a reset kolíky

 
Dobrý den,
Díky za odpověď."WRT" kód?Nejsem si jistý, co to je, ale já jsem vzal vaše rady a srovnal mé omezení soubor s mým průvodcem seznam uživatelů.
Musím vám říct, že jsem zmatený kolem se soubor trochu včera v noci a zbavili varování, jakmile jsem si pohrávala s pár věcí, například jsem se RST tlačítko místo přepínače, a také dát LED naznačuje, že to bylo reset.Možná bych měl také světlo LED reprezentovat na scéně Státní sekvence stejně.Vydrž .... hmmm a omezení se zdají být stále, ale státy nejsou pohybující se v souladu s LED
Bylo mi řečeno, že jsem musel udělat parametry, které jsem pomocí 44-bitů na zápas hodiny.Nejsem si jistý, jestli hodnoty jsou od 0 založeny na stejným způsobem, vektory jsou tak i přepínat meziKód:

parametr myparam = 43'hxx
 
Citace:

Bylo mi řečeno, že jsem musel udělat parametry, které jsem pomocí 44-bitů na zápas hodiny.
 
Fvm napsal:Citace:

Bylo mi řečeno, že jsem musel udělat parametry, které jsem pomocí 44-bitů na zápas hodiny.
 
Lepší, ale stále nesprávný.

Vaše přiřazení 6 bitů na sedm bitů registru LEDl [06:00], bohužel všechny ostatní pole vlevo jsou posunuty o jeden bit, takže stát
Stroj je stále Non-funkční.To je cena, kterou zaplatíte za pomocí této vysoce elegantní zřetězení postavit za svůj stav stroje:
Jeden bit špatně a vše smísí.

Níže parametr je rovněž počítá špatně, já nevím, proč používáte hexadecimální soustavě místo čitelných desetinná?
parametr us2 = 25'h100000; / / 2ms

 
Fvm napsal:

Lepší, ale stále nesprávný.Vaše přiřazení 6 bitů na sedm bitů registru LEDl [06:00], bohužel všechny ostatní pole vlevo jsou posunuty o jeden bit, takže stát

Stroj je stále Non-funkční.
To je cena, kterou zaplatíte za pomocí této vysoce elegantní zřetězení postavit za svůj stav stroje:

Jeden bit špatně a vše smísí.Níže parametr je rovněž počítá špatně, já nevím, proč používáte hexadecimální soustavě místo čitelných desetinná?

parametr us2 = 25'h100000; / / 2ms
 
Moje nejnovější verzi kódu vysvětluje, proč je stát nefunguje, to říká je to konstantní hodnotu 0.Já prostě nemůže postava, proč to dělá, že ...

Citace:

================================================== =======================

* HDL syntéza *

================================================== =======================Provedení obousměrný port rozlišení ...

INFO: Xst: 2679 - Registrace <state> v jednotce <LCDInit> má konstantní hodnotu 000000 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <6>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <5>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <4>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <3>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - Registrace <WE> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - Registrace <RS> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - Registrace <RDB> v jednotce <LCDInit> má konstantní hodnotu 0000 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <2>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <1>> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - rejstřík <LEDl <0>> v jednotce <LCDInit> má konstantní hodnotu 1 v obvodu provozu.
Registrovat se nahrazuje tímto logiky.

INFO: Xst: 2679 - Registrace <CE> v jednotce <LCDInit> má konstantní hodnotu 0 během okruhu operace.
Registrovat se nahrazuje tímto logiky.Syntetizovat jednotka <LCDInit>.

Související zdrojový soubor je "init.v".

Nalezeno 4-bit tristate buffer pro signál <dbo>.

Nalezeno 25-bit se čítač pro signál <cnt>.

Nalezeno 1-bit registru pro signál <LEDl <7>>.

Shrnutí:

dovodit, 1 Počítadlo (y).

dovodit, 1 D-typu flip-flop (s).

dovodit, 4 Tristate (y).

Jednotka <LCDInit> syntetizován.

 
Kód:

První věc, kterou ... "LEDl [7] <= RST," je špatné kódování stylVáš kód vypadá takto:if (RST) begin (CNT, státní) <= 0; LEDl [7] <= RST; konec

jiný

if (| CNT) CNT <= CNT - 1;

jiný

začítur případě výrokové logikykonecOpravdu didnt pochopit, proč se u tuto logiku "if (| CNT) CNT <= CNT - 1;"Myslím, že u mohl vidět přechod ze stavu 6'h0 do 6'h1 a chcete v tomto stavu až na věky.
Nyní budete mít CNT = halfSec, které budou mít nějaké definované hodnoty a toto prohlášení bude vždy se stává pravdou "if (| CNT) CNT <= CNT - 1;", protože u které atealst one-bit aktivní v tomto CNT signál, bude trvat dlouho jít až na nulu.
Jakmile se to stane na nulu, u viz jiného členského státu přechodné období.Je to to, co u chtějí nebo jsem miss jakémkoli místě?
 
můj nový kód cykly přes všechny států, ale to nic, co by mé LCD.

Citace:

Opravdu didnt pochopit, proč se u tuto logiku "if (| CNT) CNT <= CNT - 1;"

...

Je to to, co u chtějí nebo jsem miss jakémkoli místě?
 
ok, takže zatím budu používatKód:

přiřadit dbo = RDB;
 
Citace:

protože kód pro testbench je obvykle 4x delší než skutečný design
 
Fvm napsal:Citace:

protože kód pro testbench je obvykle 4x delší než skutečný design
 

Welcome to EDABoard.com

Sponsor

Back
Top