L
lzh08
Guest
bibliotecă IEEE;
utilizarea ieee.std_logic_1164.all;
ENTITY MCU ESTE
PORT
(
nDataStrobe: IN Std_Logic;
nAddrStrobe: IN Std_Logic;
nWri: IN Std_Logic;
nReset: IN Std_Logic;
Date: Std_Logic_Vector INOUT (7 DOWNTO 0);
nWait: OUT Std_Logic;
Nack: OUT Std_Logic;
SysClk: în Std_Logic;
Resetare: în Std_Logic
);
END MCU;
Acţiunea MCU ESTE DE ARHITECTURA
TIP stat IS (Repaus, DataRead, DataWrite, AddrRead, AddrWrite,
DataReadEnd, DataWriteEnd, AddrReadEnd, AddrWriteEnd);
SIGNAL Cur_State, Next_State: de stat: = inactiv;
SIGNAL RegDataTemp: std_logic_vector (7 downto 0);
SIGNAL RegAddrTemp: std_logic_vector (7 downto 0);
BEGIN
PROCES (Cur_State, nDataStrobe, nWri, nAddrStrobe, RegDataTemp, RegAddrTemp, date)
începe
<NWait = '0 ';
este cazul Cur_State
atunci când Idle => <= nWait '0 ';
dacă ((nWri = '1 ') si (nDataStrobe = "0")), apoi
Next_State <= DataRead;
elsif ((nWri = "0") şi (nDataStrobe = "0")), apoi
Next_State <= DataWrite;
elsif ((nWri = '1 ') şi (nAddrStrobe = "0")), apoi
Next_State <= AddrRead;
elsif ((nWri = "0") şi (nAddrStrobe = "0")), apoi
Next_State <= AddrWrite;
altfel
Next_State <= inactiv;
final, dacă;
atunci când DataRead => de date <= RegDataTemp;
<NWait = '1 ';
Next_State <= DataReadEnd;
atunci când DataWrite => RegDataTemp <= date;
<NWait = '1 ';
Next_State <= DataWriteEnd;
când AddrRead => de date <= RegAddrTemp;
<NWait = '1 ';
Next_State <= AddrReadEnd;
atunci când AddrWrite => RegAddrTemp <= date;
<NWait = '1 ';
Next_State <= AddrWriteEnd;
atunci când DataReadEnd => dacă (nDataStrobe = '1 '), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= DataReadEnd;
final, dacă;
când AddrReadEnd => dacă (nAddrStrobe = '1 '), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= AddrReadEnd;
final, dacă;
atunci când DataWriteEnd => dacă ((nWri = '1 ') şi (nDataStrobe = '1')), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= DataWriteEnd;
final, dacă;
atunci când AddrWriteEnd => dacă ((nWri = '1 ') şi (nAddrStrobe = '1')), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= AddrWriteEnd;
final, dacă;
atunci când alţii => Next_State <= inactiv;
sfârşitul caz;
sfârşitul procesului;
proces (nu putea suporta, SysClk)
începe
în cazul în care nu putea suporta = '0 ', atunci
Cur_State <= inactiv;
elsif Rising_Edge (SysClk), apoi
Cur_State <= Next_State;
final, dacă;
sfârşitul procesului;
sfârşitul de acţiune;
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "date" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "date" are precedente valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "RegDataTemp" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "RegDataTemp" deţine anterioare valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "RegAddrTemp" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "RegAddrTemp" deţine anterioare valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: port de iesire "Nack" la MCU.VHD (13) nu are nici conducătorul auto
Atenţie: blocare de date [0] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [1] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [2] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt alimentate de acelaşi semnal Cur_State.addrread
Atenţie: de blocare a datelor [3] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [4] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [5] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [6] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [7] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe declicul sunt alimentate de acelaşi semnal Cur_State.addrread
Atenţie: TRI sau OPNDRN tampoane permanent activat
Atenţie: Nod "Datele [0] ~ 8"
Atenţie: nod "date [1] ~ 9"
Atenţie: Nod "date [2] ~ 10"
Atenţie: Nod "date [3] ~ 11"
Atenţie: Nod "date [4] ~ 12"
Atenţie: Nod "date [5] ~ 13"
Atenţie: Nod "date [6] ~ 14"
Atenţie: Nod "date [7] ~ 15"
Atenţie: pini de ieşire sunt blocate la VCC sau GND
Atenţie: Pin "Nack" stuck la GND
Atenţie: Design conţine 1 pini de intrare (e) care nu conduce logica
Atenţie: Nu ieşire dependente de aportul de pini "nReset"
Atenţie: următoarele 8 pini de ieşire nu au nici o permite sau o GND sau de ieşire VCC permite - modificări ulterioare la prezenta conectivitate pot modifica rezultatele de amenajare
Info: Pin de date [0] are un permis de ieşire permanent permite
Info: Pin de date [1] are un permis de ieşire permanent permite
Info: Pin de date [2] are un permis de ieşire permanent permite
Info: Pin de date [3] are un permis de ieşire permanent permite
Info: Pin de date [4] are un permis de ieşire permanent permite
Info: Pin de date [5] are un permis de ieşire permanent permite
Info: Pin de date [6] are un permis de ieşire permanent permite
Info: Pin de date [7] are un permis de ieşire permanent permite
Atenţie: după 1 ace nu au nimic, GND, VCC sau de conducere datain port - modificări la prezenta conectivitate pot modifica rezultatele de amenajare
Info: Nack PIN a GND de conducere datain portul
Atenţie: Analiza Calendarul găsit unul sau mai multe oarba puse în aplicare de bucle combinaţionale
Atenţie: Nod "RegDataTemp [0]" este o broască
Atenţie: Nod "RegAddrTemp [0]" este o broască
Atenţie: Nod "Datele [0] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [1]" este o broască
Atenţie: Nod "RegAddrTemp [1]" este o broască
Atenţie: Nod "date [1] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [2]" este o broască
Atenţie: Nod "RegAddrTemp [2]" este o broască
Atenţie: Nod "date [2] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [3]" este o broască
Atenţie: Nod "RegAddrTemp [3]" este o broască
Atenţie: Nod "date [3] $ declicul" este o broască
Atenţie: Nod "RegAddrTemp [4]" este o broască
Atenţie: Nod "RegDataTemp [4]" este o broască
Atenţie: Nod "date [4] $ declicul" este o broască cu declic
Atenţie: Nod "RegAddrTemp [5]" este o broască
Atenţie: Nod "RegDataTemp [5]" este o broască
Atenţie: Nod "date [5] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [6]" este o broască
Atenţie: Nod "RegAddrTemp [6]" este o broască
Atenţie: Nod "date [6] $ declicul" este o broască
Atenţie: Nod "RegAddrTemp [7]" este o broască
Atenţie: Nod "RegDataTemp [7]" este o broască
Atenţie: Nod "date [7] $ declicul" este o broască
Atenţie: ace Găsit funcţionează ca ceasuri nedefinit şi / sau de memorie permite
Info: nod Presupunând că "SysClk" este un ceas nedefinitCod:
utilizarea ieee.std_logic_1164.all;
ENTITY MCU ESTE
PORT
(
nDataStrobe: IN Std_Logic;
nAddrStrobe: IN Std_Logic;
nWri: IN Std_Logic;
nReset: IN Std_Logic;
Date: Std_Logic_Vector INOUT (7 DOWNTO 0);
nWait: OUT Std_Logic;
Nack: OUT Std_Logic;
SysClk: în Std_Logic;
Resetare: în Std_Logic
);
END MCU;
Acţiunea MCU ESTE DE ARHITECTURA
TIP stat IS (Repaus, DataRead, DataWrite, AddrRead, AddrWrite,
DataReadEnd, DataWriteEnd, AddrReadEnd, AddrWriteEnd);
SIGNAL Cur_State, Next_State: de stat: = inactiv;
SIGNAL RegDataTemp: std_logic_vector (7 downto 0);
SIGNAL RegAddrTemp: std_logic_vector (7 downto 0);
BEGIN
PROCES (Cur_State, nDataStrobe, nWri, nAddrStrobe, RegDataTemp, RegAddrTemp, date)
începe
<NWait = '0 ';
este cazul Cur_State
atunci când Idle => <= nWait '0 ';
dacă ((nWri = '1 ') si (nDataStrobe = "0")), apoi
Next_State <= DataRead;
elsif ((nWri = "0") şi (nDataStrobe = "0")), apoi
Next_State <= DataWrite;
elsif ((nWri = '1 ') şi (nAddrStrobe = "0")), apoi
Next_State <= AddrRead;
elsif ((nWri = "0") şi (nAddrStrobe = "0")), apoi
Next_State <= AddrWrite;
altfel
Next_State <= inactiv;
final, dacă;
atunci când DataRead => de date <= RegDataTemp;
<NWait = '1 ';
Next_State <= DataReadEnd;
atunci când DataWrite => RegDataTemp <= date;
<NWait = '1 ';
Next_State <= DataWriteEnd;
când AddrRead => de date <= RegAddrTemp;
<NWait = '1 ';
Next_State <= AddrReadEnd;
atunci când AddrWrite => RegAddrTemp <= date;
<NWait = '1 ';
Next_State <= AddrWriteEnd;
atunci când DataReadEnd => dacă (nDataStrobe = '1 '), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= DataReadEnd;
final, dacă;
când AddrReadEnd => dacă (nAddrStrobe = '1 '), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= AddrReadEnd;
final, dacă;
atunci când DataWriteEnd => dacă ((nWri = '1 ') şi (nDataStrobe = '1')), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= DataWriteEnd;
final, dacă;
atunci când AddrWriteEnd => dacă ((nWri = '1 ') şi (nAddrStrobe = '1')), apoi
<NWait = '0 ';
Next_State <= inactiv;
altfel
Next_State <= AddrWriteEnd;
final, dacă;
atunci când alţii => Next_State <= inactiv;
sfârşitul caz;
sfârşitul procesului;
proces (nu putea suporta, SysClk)
începe
în cazul în care nu putea suporta = '0 ', atunci
Cur_State <= inactiv;
elsif Rising_Edge (SysClk), apoi
Cur_State <= Next_State;
final, dacă;
sfârşitul procesului;
sfârşitul de acţiune;
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "date" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "date" are precedente valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "RegDataTemp" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "RegDataTemp" deţine anterioare valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: VHDL Procesul de avertizare Declaratie de la MCU.VHD (2
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Răcoros" border="0" />
: Semnal sau variabila "RegAddrTemp" nu poate fi atribuită o valoare nouă în fiecare cale posibilă prin Declaraţia de proces.Semnal sau variabila "RegAddrTemp" deţine anterioare valoarea sa în fiecare cale cu nici o misiune noua valoare, care poate crea o bucla combinaţionale în proiectul actual.
Atenţie: port de iesire "Nack" la MCU.VHD (13) nu are nici conducătorul auto
Atenţie: blocare de date [0] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [1] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [2] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt alimentate de acelaşi semnal Cur_State.addrread
Atenţie: de blocare a datelor [3] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [4] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [5] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [6] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe dispozitivul de blocare sunt hrănite de către acelaşi semnal Cur_State.addrread
Atenţie: blocare de date [7] $ dispozitivul de blocare a comportamentului nesigur
Atenţie: Porturi D şi ENA pe declicul sunt alimentate de acelaşi semnal Cur_State.addrread
Atenţie: TRI sau OPNDRN tampoane permanent activat
Atenţie: Nod "Datele [0] ~ 8"
Atenţie: nod "date [1] ~ 9"
Atenţie: Nod "date [2] ~ 10"
Atenţie: Nod "date [3] ~ 11"
Atenţie: Nod "date [4] ~ 12"
Atenţie: Nod "date [5] ~ 13"
Atenţie: Nod "date [6] ~ 14"
Atenţie: Nod "date [7] ~ 15"
Atenţie: pini de ieşire sunt blocate la VCC sau GND
Atenţie: Pin "Nack" stuck la GND
Atenţie: Design conţine 1 pini de intrare (e) care nu conduce logica
Atenţie: Nu ieşire dependente de aportul de pini "nReset"
Atenţie: următoarele 8 pini de ieşire nu au nici o permite sau o GND sau de ieşire VCC permite - modificări ulterioare la prezenta conectivitate pot modifica rezultatele de amenajare
Info: Pin de date [0] are un permis de ieşire permanent permite
Info: Pin de date [1] are un permis de ieşire permanent permite
Info: Pin de date [2] are un permis de ieşire permanent permite
Info: Pin de date [3] are un permis de ieşire permanent permite
Info: Pin de date [4] are un permis de ieşire permanent permite
Info: Pin de date [5] are un permis de ieşire permanent permite
Info: Pin de date [6] are un permis de ieşire permanent permite
Info: Pin de date [7] are un permis de ieşire permanent permite
Atenţie: după 1 ace nu au nimic, GND, VCC sau de conducere datain port - modificări la prezenta conectivitate pot modifica rezultatele de amenajare
Info: Nack PIN a GND de conducere datain portul
Atenţie: Analiza Calendarul găsit unul sau mai multe oarba puse în aplicare de bucle combinaţionale
Atenţie: Nod "RegDataTemp [0]" este o broască
Atenţie: Nod "RegAddrTemp [0]" este o broască
Atenţie: Nod "Datele [0] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [1]" este o broască
Atenţie: Nod "RegAddrTemp [1]" este o broască
Atenţie: Nod "date [1] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [2]" este o broască
Atenţie: Nod "RegAddrTemp [2]" este o broască
Atenţie: Nod "date [2] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [3]" este o broască
Atenţie: Nod "RegAddrTemp [3]" este o broască
Atenţie: Nod "date [3] $ declicul" este o broască
Atenţie: Nod "RegAddrTemp [4]" este o broască
Atenţie: Nod "RegDataTemp [4]" este o broască
Atenţie: Nod "date [4] $ declicul" este o broască cu declic
Atenţie: Nod "RegAddrTemp [5]" este o broască
Atenţie: Nod "RegDataTemp [5]" este o broască
Atenţie: Nod "date [5] $ declicul" este o broască
Atenţie: Nod "RegDataTemp [6]" este o broască
Atenţie: Nod "RegAddrTemp [6]" este o broască
Atenţie: Nod "date [6] $ declicul" este o broască
Atenţie: Nod "RegAddrTemp [7]" este o broască
Atenţie: Nod "RegDataTemp [7]" este o broască
Atenţie: Nod "date [7] $ declicul" este o broască
Atenţie: ace Găsit funcţionează ca ceasuri nedefinit şi / sau de memorie permite
Info: nod Presupunând că "SysClk" este un ceas nedefinitCod: