VHDL kódu otázky týkajúce sa používania procesu, a ak je vyhlásenie

E

ethan

Guest
Ahoj všetkým, mám otázku ohľadom "proces" a "IF". Môžeme použiť tieto dva príkazy pre popis čisté conbinational logiku, povedzme, 2to1 MUX? Bude kód syntetizované ako logické obvody s posúvače (teda kombinačné)? Nasledujúci kód VHDL šiel si zostaviť bez problémov a získať vnútorný problém Quartus II, kedy simulované. Môže niekto vysvetliť, prečo? Mimochodom, je 2to1 MUX použitá len ako príklad, ja vlastne používať if pre oveľa zložitejšie prípad, ktorý je jednoduchšie pri používaní embedded if. Ďakujem. Knižnica IEEE; použitie ieee.std_logic_1164.all, osoba mux2to1 je port (A, B: v std_logic, SEL: v std_logic C: z std_logic), koniec mux2to1, architektúra správanie mux2to1 je začať Bev: proces (a, b, SEL) je začať ak sel = '0 ', potom C
 
Aký druh problémov počas simulácie myslíte? Tento projekt je zostavený bez akéhokoľvek varovania. RTL Zobraziť ukazujú, že žiadne závory boli vytvorené.
 
Vďaka za Vašu odpoveď. Keď som začal simulovať okruhu v Quartus II, tu je chybové hlásenie som: Vnútorná chyba: Sub-systém: SIM, Súbor: sim_preprocessor.cpp, Line: 2532 machine_iname = 0 Quartus II verzia 5.0 zostavení 148 04/26 / 2005 SJ plnú verziu som rovnakú chybu u môjho herného designu, ktorý využíva tento proces, a ak case veľa. Myslíte si, že je niečo s mojím Quartus II simulátore? Ale funguje to perfektne s mojím čisto kombinačných kód VHDL. Môžete sa pokúsiť simulovať môj kód v simulátore? Ďakujem.
 
No nie som si istý o chybe Quartus ste získali, ale ja sa odpovedať na niektoré z vašich questions.A "proces" s "if" vyhlásenie bude generovať combniational block.The syntézu nástroje zmenia Ak vyhlásenie na niektoré multiplexery v závislosti na tom, ako napísal code.Sequential proces bude generovaný v prípade, že je "CLK" v procese. Syntéza nástroje vloží zámky ak jeden z výstupu alebo vnútorné signály, nie je pridelené v každom odbore ", ak" statment.Thus najlepšej praxe je, aby sa "predvolené" pre všetky signál na začiatku procesu. S pozdravom, Kareem
 
Ja používam Quartus 6.0. A ani pri kompilácii, ani simulácia nie sú žiadne chyby alebo varovania. Váš projekt funguje správne. , ak operátor v VHDL je sekvenčná operátor, a preto je nutné používať iba vo vnútri proces operátora. Syntezátor založený na kóde vygeneruje niečo ako prioritu štruktúru (IF). Možno, že to bude užitočné urobiť niektoré zmeny v kóde na tejto ceste - ... Bev: proces (a, b, SEL) je začať prípad sel je, keď '0 '=> cc
 
Odstráňte je v procese, vedenie [size = 2] [color = # 999999] Pridaná po 51 sekundách: [/color] [/size] knižnica IEEE, použitie ieee.std_logic_1164.all, osoba mux2to1 je port (A, B : v std_logic, SEL: v std_logic C: z std_logic), koniec mux2to1, architektúra správanie mux2to1 je začať - BEV: proces (a, b, SEL) sa ------------- ----------######## je problém Bev: proces (a, b, SEL) začať ak SEL = '0 ', potom C
 
[Quote = babaship] odstrániť, je v procese, vedenie [/quote] To nie je nezvratné nehody, len syntaktické chyby =) je, že som napísal tento kód: Rýchla odpoveď okna. Navyše to bolo v skorých ranných hodín ...
 

Welcome to EDABoard.com

Sponsor

Back
Top