VHDL ModelSim Ajutor

A

adamsogood

Guest
Salut,

Am probleme de când sunt difuzate VHDL simulare pe ModelSim.Problema este că unele nu sunt semnale de iniţializată corect (pentru că este o mare de design, deci nu va pot atribui valori iniţiale pentru fiecare semnale).Semnale de uninitialized poate atribui "X" şi "U" valori şi cauza unele rezultate neaşteptate simulare.Am încercat să afle care uninitialized semnal este troublemaker.Dar ModelSim să nu fi dat de mult run-time Sugestii.

vreo idee?
Mulţumesc,

Adam

 
E treaba ta ca designer de HDL pentru a iniţializa corect semnalele necesare.Dimensiunea a proiectului nu trebuie să vă afecteze capacitatea de a iniţializa necesare semnale.În funcţie de design şi obiectivele
dvs. de simulare, unele pot avea nevoie de semnale pentru a fi iniţializată, şi alţii deliberat uninitialized.De la simulator punctul de vedere, iniţializată semnale şi uninitialized semnalele sunt ambele acceptabil, astfel încât să nu poată ajuta cu adevărat de depanare.

 
Sunt de acord cu precedent post.It e practica standard de urmat.
dar poti sa stii de driver-ele de un anumit semnal în val fereastra prin clic dreapta pe wave.Once sa stii de toate driver-ele de semnal în analiza puteţi iniţializa ei, după cum este necesar.şi simularea de design din nou, pentru a aştepta buna results.But aceasta nu este o bună practică.

cu respect
Kishor.

 
va trebui să le fie iniţializa în proiectare sau în formă de val fereastră în sine sau în testbench ...

 
dumneavoastră de proiectare ar trebui să aibă unele componente şi de a le utiliza în modul de top.
Mai întâi, trebuie să fie sigur că aceste componente sunt scrise corect.defini noile proiecte în modelsim şi scrie testbenches pentru a se asigura.Cred că s-ar putea face unele greşeli în aceste componente.

 
ModelSim de fapt necesită initializare a oricărui semnal de interne, care nu depind de resetare sau de un alt semnal.E. g.Dacă aveţi un simplu frecvenţă împărţirea contra, în majoritatea cazurilor, aceasta nu ar fi nevoie de o initializare într-un real de design hardware.S-ar putea începe cu o valoare arbitrar,
în plus, ar fi de fapt un bine definite de putere, pe de resetare de stat în cele mai multe familii FPGA.ModelSim Dar nu stiu despre implicit puterea de-pe-membre, seturi de semnal de la "X" şi contra nu va da nici o ieşire cu excepţia cazului în care aţi stabilit-o la o valoare definită.

.

În cazul în care o asincrone de resetare nu este destinat pentru un anumit semnal, oferind o primă în valoare de semnal definiţie ar fi de ajuns,
de exemplu, un semnal Count: nesemnate (3 downto 0): = (altele =>'0 ');.
 
Salut, oameni buni,

Mulţumesc pentru toate răspunsurile.De fapt, problema rezultatele de la "X" / "U" semnal de sarcini, dar de "X" / "U" nu sunt cauzate de improprie initializare.este vorba de bi-direcţională semnale.

Sunt proiectare a unui controller de memorie DDR2.În foarte sus design, acolo este un semnal de port numit DDR2_DQSp.Este un semnal de strobe bidirecţional de date folosite de către ambele citeşte şi scrie.

Acest port este semnal declarat, după cum urmează:
DDR2_DQSp: inout std_logic_vector ((DQS_WIDTH-1) downto 0);

În testbench, acest port de semnal este cuplat la Micron Verilog Simulation Model.In interiorul design, a fost condusă de semnale, după cum urmează:
DDR2_DQSp <= ddr2_dqs_int;

semnalul ddr2_dqs_int este condus de un port bidirecţional semnal de la o sub-componente (un nivel mai jos în ierarhie foarte sus design).După vizionarea de undă, am aflat că DDR2_DQSp devine "x'.....

Apoi, am cuplat DDR2_DQSp bidirecţional direct la portul semnal în sub-componente, problema este plecat.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Zâmbi" border="0" />
În rezumat, în port bidirecţional semnale trebuie să fie tratate în mod corespunzător; altfel, modelsim va conduce la "X"Mulţumesc

 
or it's verilog equivalent for bidirectional ports of submodules.

Este posibil să fie necesar să se adauge un supliment de initializare la: = (altele => 'Z')
sau este verilog echivalente pentru bidirecţional porturile de submodules.În VHDL, el poate fi inclus în portul definiţie.Nu este necesar pentru sinteza, dar pentru ModelSim.

 

Welcome to EDABoard.com

Sponsor

Back
Top