pas de simulation pour l'encontre de ModelSim!!

T

the_phoenix

Guest
Bonjour ..
J'ai ce problème avec un code VHDL lorsque je tente de le simuler dans ModelSim.
Le code est pour un compteur simple ... lien vers elle ..
h ** p: / / toolbox.xilinx.com/docsan/xilinx8/books/data/docs/xst/xst0018_5.html

quand j'essaye de l'exécuter dans ModelSim et la force d'une valeur de "clear" i / p, je reçois un O / P de "XX" ... et donc pas de comptage est de sortie.
que, quand je fais clr une horloge, la séquence de comptage est initiée.

plz aider ... c'est urgent

 
Cette page web contient des liens vers de nombreux exemples.Lequel?

J'ai essayé counters_1.vhd (à l'intérieur examples_v7.zip), et il simule très bien.
Appliquer une brève impulsion de réinitialisation de haut sur CLR, puis les impulsions d'horloge sur C.

 
Le compteur fonctionne bien ..
après
VSIM counters_1
tapez les commandes suivantes et de nous le faire savoir!

Code:

Ajouter SIM vague: / counters_1 / c

Ajouter SIM vague: / counters_1/clr

Ajouter SIM vague: / counters_1 / q

sim-gel vigueur: / counters_1 / C 1 0, 0 () 50 ns-R 100

sim-gel vigueur: / 1 0-counters_1/clr annuler 10

parcourir 100

sim-gel vigueur: / counters_1/clr 0 0-10000 annuler

exécuter 10000

 
thx pour la réponse rapide ... J'ai essayé le pouls élevé sur CLR et ça marchait aimé u dit qu'il le ferait.

Toutefois, j'ai encore un problème parce que l'upcounter (2bit dans ce cas) est censé fonctionner en tant que contribution à un décodeur (2to4) pour générer une séquence T0 cycle d'allumage, T1, T2, T3.

Maintenant, le signal CLR est généré en interne par la logique de contrôle de mon projet et i cant le faire fonctionner comme une impulsion courte.
(Clr est généré lorsque l'opération est terminée et est donc conduit soit élevé ou faible, mais pas comme une impulsion)

J'apprécierais toute aide à cet égard toute façon ... thx

 
Êtes-vous l'application d'une impulsion de réinitialisation externe à votre FPGA / CPLD, ou préférez-vous réinitialiser tout interally?Normalement, je initialiser tous mes entrées dans les HDL, et de ne pas utiliser des impulsions de réinitialisation.

Si vous nous montrer la partie gênante de votre logique de contrôle, quelqu'un ici peut probablement vous aider à déboguer.

 
WEL ... le signal clair que j'utilise est généré par l'achèvement d'une instruction.
Le projet est un processeur simple, implémenté en utilisant l'idée de base présentés dans Morris mano "de conception numérique" ... où un décodeur calendrier est utilisé pour générer une séquence de cycles de temps pendant lequel un micro-instruction est terminée.

Maintenant, le clair est nécessaire de réinitialiser le compteur d'alimentation d'un décodeur à la fin de l'achèvement de l'instruction afin THT, la lutte contre la CUD puis démarrez une suivants pour un cycle de nouvelle instruction.

C'est ce qui ressort interne à mon bloc .... je veux dire ... le compteur est un sous-fichier dans mon projet principal d'un i cant semblent rendre le compteur sans transition des impulsions au clair.
Pour élaborer ... si je ensemble clair à 0 indique un Seq compter d'être initié, puis-je obtenir une sortie compter ZZZ.
Toutefois, si je fais le compte aller manuellement à partir de 1 à 0, le cycle de comptage est ouverte à reqd.
Mais depuis l'intérieur est clair à mon bloc, il est généré comme un simple signal et non pas une impulsion.
btw, je utiliser une horloge forcin dans mon banc d'essai, qui est externe.
Un gars m'a suggéré l'idée d'essayer de générer une horloge interne à l'essai becnhplz pense que ce ABT et m'aider dans tout ce qui peut de manière u ....

thx quand même

cheers ...

 
Voulez-vous post ur code ici?Alors que nous obtenons image claire de ce que u
envie de faire.

 
ouais .. droite .. Je crois que je shud ont fait la première fois lui-même ... haha

ok ... c'est le lien .. c'est un lien rapidshare / ..

http://rapidshare.com/files/1299703/mini.rar

C'est en fait une collection de tous mes fichiers de projet ....
proc est le principal fichier VHD --- mon processeur simple ...
i havent inclus test 'bancs parce que mon je ne pense pas qu'ils r droit de toute façon ...

Mon problème est .... je ne peux pas écrire un banc d'essai pour proc et aussi mon compteur ne marche pas sembler à travailler w / Changer le type d'impulsion OA.

thx quand même ..
cheers

 
Ici, j'ai modifié le code ur ...Le testbanch est là aussi ...Cela fonctionne très bien ...
Code:

IEEE bibliothèque;

ieee.std_logic_1164.all utilisation;

ieee.std_logic_signed.all utilisation;

work.all utilisation;proc ENTITY est

PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);

Reset, W: STD_LOGIC;

Horloge: IN STD_LOGIC;

F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);

Fait: STD_LOGIC tampon;

BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));

FIN proc;ARCHITECTURE DE comportement proc est

composante dec2to4

Port (W: STD_LOGIC_VECTOR (1 DOWNTO 0);

FR: En STD_LOGIC;

Y: STD_LOGIC_VECTOR OUT (0 à 3));

composante fin;regn composante

génériques (n: integer: = 8);

Port (R: dans std_logic_vector (N-1 downto 0);

Rin: en std_logic;

Horloge: en std_logic;

Q: std_logic_vector à (N-1 downto 0));

composante fin;Trin composante

génériques (n: integer: = 8);

Port (X: dans std_logic_vector (N-1 downto 0);

E: dans std_logic;

F: std_logic_vector à (N-1 downto 0));

composante fin;

Incrément composante

Port (clair, horloge: IN STD_LOGIC;

Q: STD_LOGIC_VECTOR tampon (1 DOWNTO 0));

composante fin;Rin SIGNAL, Rout: STD_LOGIC_VECTOR (0 à 3);

Signal clair, Haut, AddSub: STD_LOGIC;

Extern SIGNAL, Ain, Gin, la goutte, Frin: STD_LOGIC;

Signal de comptage: STD_LOGIC_VECTOR (1 DOWNTO 0);

Signal T, I, X, Y: STD_LOGIC_VECTOR (0 à 3);

SIGNAL R0, R1, R2, R3: STD_LOGIC_VECTOR (7 DOWNTO 0);

SIGNAL A, Somme, G: STD_LOGIC_VECTOR (7 DOWNTO 0);

Func SIGNAL, FuncReg: STD_LOGIC_VECTOR (1 à 6);BEGIN

Haut <= '1 ';

Clear <= Reset des actes accomplis ou (PAS W et T (0));

Contre: carte port Incrément (Clair, horloge, Count);

DECT: dec2to4 la carte du port (le comte, Haut, T);

Func <= F & Rx & Ry;

Frin <= W et T (0);

Functionreg: REGN GENERIC MAP (N => 6)

Plan du port (Func, Frin, horloge, FuncReg);

décision: dec2to4 PORT MAP (FuncReg (1 à 2), haut, I);

decX: dec2to4 PORT MAP (FuncReg (3 à 4), Haut, X);

decY: dec2to4 PORT MAP (FuncReg (5 à 6), Haut, Y);

Extern <= I (0) et T (1);

Fait <= ((I (0) ou I (1)) et T (1)) ou ((I (2) ou I (3)) ET T (3));

Ain <= (I (2) ou I (3)) et T (1);

Gin <= (I (2) ou I (3)) et T (2);

Gout <= (I (2) ou I (3)) et T (3);

AddSub <= i (3);RegCntl:

Pour k dans 0 à 3 GENERER

Rin (k) <= ((I (0) ou I (1)) et T (1) et X (k)) ou

((I (2) ou I (3)) et T (1) et X (k));

Rout (k) <= (I (1) et T (1) et Y (k)) ou

((I (2) ou I (3)) et ((T (1) et X (k)) ou (T (2) et Y )))); k (

FIN GENERATE RegCntl;

tri_extern: Trin PORT MAP (données, Extern, BusWires);reg0: REGN PORT MAP (BusWires, Rin (0), l'horloge, R0);

REG1: REGN PORT MAP (BusWires, Rin (1), l'horloge, R1);

REG2: REGN PORT MAP (BusWires, Rin (2), l'horloge, R2);

reg3: REGN PORT MAP (BusWires, Rin (3), l'horloge, R3);tri0: Trin PORT MAP (R0, Rout (0), BusWires);

TRI1: Trin PORT MAP (R1, Rout (1), BusWires);

tri2: Trin PORT MAP (R2, Rout (2), BusWires);

tri3: Trin PORT MAP (R3, Rout (3), BusWires);

Rega: REGN PORT MAP (BusWires, Ain, l'horloge, A);

alu:

AVEC AddSub SELECT

Somme <= A BusWires QUAND '0 ',

A - BusWires WHEN OTHERS;

regg: REGN PORT MAP (Somme, Gin, horloge, G);

TRIG: Trin PORT MAP (G, la goutte, BusWires);

Comportement END;

 
nand_gates hey .. Merci beaucoup de votre intérêt et m'a aidé avec mon projet.

Désolé pour cela, mais j'ai eu ce dernier problème, ... je ne sais trop verilog la façon dont je sais VHDL et donc j'ai vraiment tout à fait comprendre le dévers test_bench que U've fourni.
si u plz CUD propose aucun moyen de convertir ce code dans VHDL ou peut-être si u ne trouve lourde (U've trop vraiment m'a beaucoup aidé en tout cas) plz essayer de fournir le banc d'essai VHDL.

mais thx quand même, je pense comme U a déclaré le banc d'essai shud travail de toute façon dans la simulation, mais juste THT j'aimerais l'avoir en VHDL!

thx beaucoup de toute façon ..

cheers

 
Ici, j'ai converti en VHDL, mais pas testé il compile bien ..
LCode:

IEEE ibrary;

ieee.std_logic_1164.all utilisation;

work.all utilisation;

test entité esttest de fin;

l'architecture se comportent de test est

composante proc

PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);

Reset, W: STD_LOGIC;

Horloge: IN STD_LOGIC;

F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);

Fait: STD_LOGIC tampon;

BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));

composante fin;

signal de données: std_logic_vector (7 downto 0);

signal de réinitialisation, w: std_logic;

signal d'horloge: std_logic: = '0 ';

F signal, Rx, Ry: std_logic_vector (1 downto 0);

Fait signal: std_logic;

BusWires signal: std_logic_vector (7 downto 0);commencer - se comporter

Horloge <= pas de transport de l'horloge au bout de 5 ns;U1: carte port proc (données,

Reset, w,

Horloge,

F, Rx, Ry,

Fait,

BusWires);processus de banc d'essai:

commande la procédure (

DIN: en std_logic_vector (7 downto 0);

cmd: en std_logic_vector (5 downto 0)) est

commencer - commande

attendre Clock'event et Horloge = '1 ';

attendre Clock'event et Horloge = '0 ';

<= Données DIN;

<F = cmd (5 downto 4);

Rx <= cmd (3 downto 2);

Ry <= cmd (1 downto 0);

w <= '1 ';

attendre Clock'event et Horloge = '0 ';

w <= '0 ';

commande de fin;

commencer - banc d'essai processus

Données <= "10101010";

Reset <= '1 ';

w <= '0 ';

Horloge <= '0 ';

<F = "00";

Rx <= "00";

Ry <= "00";

d'attente de 33 ns;

Reset <= '0 ';

de commande ("00000000", "000000"); - LD R0, 00

attendre et Done'event Fait = '1 ';

de commande ("00000001", "000100"); - LD R1, 01

attendre et Done'event Fait = '1 ';

de commande ("00000010", "001000"); - ld r2, 02

attendre et Done'event Fait = '1 ';

de commande ("00000011", "001100"); - ld R3, 03

attendre et Done'event Fait = '1 ';

de commande ("00000100", "010100"); - mov r1, r0

attendre et Done'event Fait = '1 ';

de commande ("00000100", "100001"); - Ajouter R1, R0

attendre et Done'event Fait = '1 ';

de commande ("00000100", "100110"); - Ajouter R2, R1

attendre et Done'event Fait = '1 ';

de commande ("00000100", "101011"); - Ajouter R3, R2

attendre et Done'event Fait = '1 ';

de commande ("00000100", "101100"); - Ajouter r3, r0

attendre et Done'event Fait = '1 ';

d'attente;

banc d'essai des processus de bout;fin comportement;
 
Voici la traduction de travail banc d'essai!
OK testé!
Code:

IEEE bibliothèque;

ieee.std_logic_1164.all utilisation;

work.all utilisation;

test entité esttest de fin;

l'architecture se comportent de test est

composante proc

PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);

Reset, W: STD_LOGIC;

Horloge: IN STD_LOGIC;

F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);

Fait: STD_LOGIC tampon;

BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));

composante fin;

signal de données: std_logic_vector (7 downto 0);

signal de réinitialisation, w: std_logic;

signal d'horloge: std_logic: = '0 ';

F signal, Rx, Ry: std_logic_vector (1 downto 0);

Fait signal: std_logic;

BusWires signal: std_logic_vector (7 downto 0);commencer - se comportent

Horloge <= pas de transport de l'horloge au bout de 5 ns;U1: carte port proc (données,

Reset, w,

Horloge,

F, Rx, Ry,

Fait,

BusWires);processus de banc d'essai:

commande la procédure (

DIN: en std_logic_vector (7 downto 0);

cmd: en std_logic_vector (5 downto 0)) est

commencer - commande

attendre Clock'event et Horloge = '1 ';

attendre Clock'event et Horloge = '0 ';

<= Données DIN;

<F = cmd (5 downto 4);

Rx <= cmd (3 downto 2);

Ry <= cmd (1 downto 0);

w <= '1 ';

attendre Clock'event et Horloge = '0 ';

w <= '0 ';

commande de fin;

commencer - banc d'essai processus

Données <= "10101010";

Reset <= '1 ';

w <= '0 ';

<F = "00";

Rx <= "00";

Ry <= "00";

d'attente de 33 ns;

Reset <= '0 ';

de commande ("00000000", "000000"); - LD R0, 00

Fait attendre = '0 ';

de commande ("00000001", "000100"); - LD R1, 01

Fait attendre = '0 ';

de commande ("00000010", "001000"); - ld r2, 02

Fait attendre = '0 ';

de commande ("00000011", "001100"); - ld R3, 03

Fait attendre = '0 ';

de commande ("00000100", "010100"); - mov r1, r0

Fait attendre = '0 ';

de commande ("00000100", "100001"); - Ajouter R1, R0

Fait attendre = '0 ';

de commande ("00000100", "100110"); - Ajouter R2, R1

Fait attendre = '0 ';

de commande ("00000100", "101011"); - Ajouter R3, R2

Fait attendre = '0 ';

de commande ("00000100", "101100"); - Ajouter r3, r0

Fait attendre = '0 ';

d'attente;

banc d'essai des processus de bout;fin comportement;

 
Aide c'est urgent

thnx pour tous d aider nand_gates.

Je travaille sur le même projet avec the_phoenix.we essayé votre code, mais nous sommes encore geting une erreur avec exécuter sim modèle.
Je suis reposter l'ensemble du projet ainsi que la carte SIM modèle terme ci-dessous.S'il vous plaît voir s'il ya quelque chose u peut faire.

PROC
IEEE bibliothèque [;
ieee.std_logic_1164.all utilisation;
work.all utilisation;
test entité est

test de fin;
l'architecture se comportent de test est
composante proc
PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);
Reset, W: STD_LOGIC;
Horloge: IN STD_LOGIC;
F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);
Fait: STD_LOGIC tampon;
BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));
composante fin;
signal de données: std_logic_vector (7 downto 0);
signal de réinitialisation, w: std_logic;
signal d'horloge: std_logic: = '0 ';
F signal, Rx, Ry: std_logic_vector (1 downto 0);
Fait signal: std_logic;
BusWires signal: std_logic_vector (7 downto 0);commencer - se comporter
Horloge <= pas de transport de l'horloge au bout de 5 ns;

U1: carte port proc (données,
Reset, w,
Horloge,
F, Rx, Ry,
Fait,
BusWires);

: Processus de banc d'essai
commande la procédure (
DIN: en std_logic_vector (7 downto 0);
cmd: en std_logic_vector (5 downto 0)) est
commencer - commande
attendre Clock'event et Horloge = '1 ';
attendre Clock'event et Horloge = '0 ';
<= Données DIN;
<F = cmd (5 downto 4);
Rx <= cmd (3 downto 2);
Ry <= cmd (1 downto 0);
w <= '1 ';
attendre Clock'event et Horloge = '0 ';
w <= '0 ';
commande de fin;
commencer - banc d'essai processus
Données <= "10101010";
Reset <= '1 ';
w <= '0 ';
<F = "00";
Rx <= "00";
Ry <= "00";
d'attente de 33 ns;
Reset <= '0 ';
de commande ("00000000", "000000"); - LD R0, 00
Fait attendre = '0 ';
de commande ("00000001", "000100"); - LD R1, 01
Fait attendre = '0 ';
de commande ("00000010", "001000"); - ld r2, 02
Fait attendre = '0 ';
de commande ("00000011", "001100"); - ld R3, 03
Fait attendre = '0 ';
de commande ("00000100", "010100"); - mov r1, r0
Fait attendre = '0 ';
de commande ("00000100", "100001"); - Ajouter R1, R0
Fait attendre = '0 ';
de commande ("00000100", "100110"); - Ajouter R2, R1
Fait attendre = '0 ';
de commande ("00000100", "101011"); - Ajouter R3, R2
Fait attendre = '0 ';
de commande ("00000100", "101100"); - Ajouter r3, r0
Fait attendre = '0 ';
d'attente;
banc d'essai des processus de bout;fin comportement;

]

BANC D'ESSAI
[
IEEE bibliothèque;
ieee.std_logic_1164.all utilisation;
work.all utilisation;
test entité est

test de fin;
l'architecture se comportent de test est
composante proc
PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);
Reset, W: STD_LOGIC;
Horloge: IN STD_LOGIC;
F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);
Fait: STD_LOGIC tampon;
BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));
composante fin;
signal de données: std_logic_vector (7 downto 0);
signal de réinitialisation, w: std_logic;
signal d'horloge: std_logic: = '0 ';
F signal, Rx, Ry: std_logic_vector (1 downto 0);
Fait signal: std_logic;
BusWires signal: std_logic_vector (7 downto 0);commencer - se comporter
Horloge <= pas de transport de l'horloge au bout de 5 ns;

U1: carte port proc (données,
Reset, w,
Horloge,
F, Rx, Ry,
Fait,
BusWires);

: Processus de banc d'essai
commande la procédure (
DIN: en std_logic_vector (7 downto 0);
cmd: en std_logic_vector (5 downto 0)) est
commencer - commande
attendre Clock'event et Horloge = '1 ';
attendre Clock'event et Horloge = '0 ';
<= Données DIN;
<F = cmd (5 downto 4);
Rx <= cmd (3 downto 2);
Ry <= cmd (1 downto 0);
w <= '1 ';
attendre Clock'event et Horloge = '0 ';
w <= '0 ';
commande de fin;
commencer - banc d'essai processus
Données <= "10101010";
Reset <= '1 ';
w <= '0 ';
<F = "00";
Rx <= "00";
Ry <= "00";
d'attente de 33 ns;
Reset <= '0 ';
de commande ("00000000", "000000"); - LD R0, 00
Fait attendre = '0 ';
de commande ("00000001", "000100"); - LD R1, 01
Fait attendre = '0 ';
de commande ("00000010", "001000"); - ld r2, 02
Fait attendre = '0 ';
de commande ("00000011", "001100"); - ld R3, 03
Fait attendre = '0 ';
de commande ("00000100", "010100"); - mov r1, r0
Fait attendre = '0 ';
de commande ("00000100", "100001"); - Ajouter R1, R0
Fait attendre = '0 ';
de commande ("00000100", "100110"); - Ajouter R2, R1
Fait attendre = '0 ';
de commande ("00000100", "101011"); - Ajouter R3, R2
Fait attendre = '0 ';
de commande ("00000100", "101100"); - Ajouter r3, r0
Fait attendre = '0 ';
d'attente;
banc d'essai des processus de bout;fin comportement;

]

DECODEUR
IEEE bibliothèque [;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;

- Supprimez les lignes suivantes pour utiliser les déclarations qui sont
- Prévu à l'instanciation des composants Xilinx primitive.
Bibliothèque - UNISIM;
UNISIM.VComponents.all utilisation -;

entité est dec2to4
Port (W: STD_LOGIC_VECTOR (1 DOWNTO 0);
FR: En STD_LOGIC;
Y: STD_LOGIC_VECTOR OUT (0 à 3));
dec2to4 fin;

l'architecture du comportement des dec2to4 est
ENW SIGNAL: STD_LOGIC_VECTOR (2 DOWNTO 0);
commencer
<ENW = Fr & W;
AVEC ENW SELECT
y <= "1000" WHEN "100",
"0100" WHEN "101",
"0010" WHEN "110",
"0001" WHEN "111",
"0000" WHEN OTHERS;
fin comportement;
]

REGN
IEEE bibliothèque [;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;

- Supprimez les lignes suivantes pour utiliser les déclarations qui sont
- Prévu à l'instanciation des composants Xilinx primitive.
Bibliothèque - UNISIM;
UNISIM.VComponents.all utilisation -;

regn entité est
génériques (n: integer: =

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Frais" border="0" />

;
Port (R: dans std_logic_vector (N-1 downto 0);
Rin: en std_logic;
Horloge: en std_logic;
Q: std_logic_vector à (N-1 downto 0));
regn fin;

l'architecture du comportement des regn est

commencer
processus
commencer
attendre Clock'EVENT et Horloge = '1 ';
SI Rin = '1 'alors
Q <= R;
fin si;
processus de bout;

fin comportement;
]

TriState TAMPON
IEEE bibliothèque [;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_ARITH.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;

- Supprimez les lignes suivantes pour utiliser les déclarations qui sont
- Prévu à l'instanciation des composants Xilinx primitive.
Bibliothèque - UNISIM;
UNISIM.VComponents.all utilisation -;

Trin entité est
génériques (n: integer: =

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Frais" border="0" />

;
Port (X: dans std_logic_vector (N-1 downto 0);
E: dans std_logic;
F: std_logic_vector à (N-1 downto 0));
Trin fin;

l'architecture du comportement de Trin est

commencer
<F = (Autres => 'Z') Lorsque E = '0 'ELSE X;

fin comportement;
]

COUNTER
IEEE bibliothèque [;
IEEE.STD_LOGIC_1164.ALL utilisation;
IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;

- Supprimez les lignes suivantes pour utiliser les déclarations qui sont
- Prévu à l'instanciation des composants Xilinx primitive.
Bibliothèque - UNISIM;
UNISIM.VComponents.all utilisation -;

Incrément entité est
Port (clair, horloge: IN STD_LOGIC;
Q: STD_LOGIC_VECTOR tampon (1 DOWNTO 0));
Incrément fin;

l'architecture du comportement des Incrément est

commencer
processus (horloge)
commencer
IF (Clock'EVeNT et Horloge = '1 ') THEN
Si Clear = '1 'alors
Q <= "00";
ELSE
Q <= Q '1 ';
END IF;
END IF;
Terminer le processus;
comportement fin;
]Modèle va SIM

[# Lecture C: / Modeltech_5.7g/tcl/vsim/pref.tcl
# Ne test_proj.fdo
# ** Attention: (vlib-34) Bibliothèque existe déjà au «travail».
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Compilation subccts paquet
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Entité Compiler dec2to4
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Compilation architecture du comportement des dec2to4
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Chargement entité dec2to4
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Regn entité Compilation
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Compilation architecture du comportement des regn
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Regn entité Chargement
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Trin entité Compilation
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Compilation architecture du comportement de Trin
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Trin entité Chargement
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Incrément entité Compilation
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Compilation architecture du comportement des Incrément
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_unsigned
# - Incrément entité Chargement
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_signed
# - Proc entité Compilation
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Le comportement de l'architecture Compiler proc
# - Package Chargement std_logic_1164
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_signed
# - Proc entité Chargement
# - Package Chargement std_logic_unsigned
# - Incrément entité Chargement
# - Chargement entité dec2to4
# - Regn entité Chargement
# - Trin entité Chargement
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Package Chargement std_logic_1164
# - Test entité Compilation
# Modèle de la technologie ModelSim SE VCOM 5.7g compilateur 2003,10 10 octobre 2003
# - Paquet standard de chargement
# - Architecture Compiler comportement d'essai
# - Package Chargement std_logic_1164
# - Chargement d'essai entité
# - Std_logic_arith paquet de chargement
# - Package Chargement std_logic_signed
# - Proc entité Chargement
# VSIM-L xilinxcorelib-lib-t 1PS banc d'essai de travail
# Chargement de C: / Modeltech_5.7g/win32/../std.standard
# Chargement de C: / Modeltech_5.7g/win32/../ieee.std_logic_1164 (corps)
# Chargement de C: / Modeltech_5.7g/win32/../ieee.numeric_std (corps)
# Chargement de C: / Modeltech_5.7g/win32/../ieee.std_logic_arith (corps)
# Chargement de C: / Modeltech_5.7g/win32/../ieee.std_logic_unsigned (corps)
# Work.testbench chargement (comportement)
# ** Non: liaison par défaut des erreurs pour l'entité "Incrément" sur la déclaration composante de la ligne 38.Voir les messages du compilateur.
# Durée: 0 ps itération: 0 instance: / File banc d'essai: upcnt_tb.vhd
# Erreur fatale à la ligne 45 upcnt_tb.vhd
# Lors de l'élaboration région: / banc d'essai
# Erreur lors du chargement de conception
# Erreur: Erreur lors du chargement de conception
# Exécution de macro Pause
# MACRO. / PAUSE test_proj.fdo à la ligne 19
]Ajouté après 21 minutes:Je suis désolé je me suis planté que jusqu'à

Je suis l'ajout d'un fichier texte avec tous nos code s'il vous plaît voir ce que tu peux faire.

Code:
<<project.vhd>>IEEE bibliothèque;

ieee.std_logic_1164.all utilisation;

ieee.std_logic_signed.all utilisation;

work.all utilisation;proc ENTITY est

PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);

Reset, W: STD_LOGIC;

Horloge: IN STD_LOGIC;

F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);

Fait: STD_LOGIC tampon;

BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));

FIN proc;ARCHITECTURE DE comportement proc est

composante dec2to4

Port (W: STD_LOGIC_VECTOR (1 DOWNTO 0);

FR: En STD_LOGIC;

Y: STD_LOGIC_VECTOR OUT (0 à 3));

composante fin;regn composante

génériques (n: integer: = 8);

Port (R: dans std_logic_vector (N-1 downto 0);

Rin: en std_logic;

Horloge: en std_logic;

Q: std_logic_vector à (N-1 downto 0));

composante fin;Trin composante

génériques (n: integer: = 8);

Port (X: dans std_logic_vector (N-1 downto 0);

E: dans std_logic;

F: std_logic_vector à (N-1 downto 0));

composante fin;

Incrément composante

Port (clair, horloge: IN STD_LOGIC;

Q: STD_LOGIC_VECTOR tampon (1 DOWNTO 0));

composante fin;Rin SIGNAL, Rout: STD_LOGIC_VECTOR (0 à 3);

Signal clair, Haut, AddSub: STD_LOGIC;

Extern SIGNAL, Ain, Gin, la goutte, Frin: STD_LOGIC;

Signal de comptage: STD_LOGIC_VECTOR (1 DOWNTO 0);

Signal T, I, X, Y: STD_LOGIC_VECTOR (0 à 3);

SIGNAL R0, R1, R2, R3: STD_LOGIC_VECTOR (7 DOWNTO 0);

SIGNAL A, Somme, G: STD_LOGIC_VECTOR (7 DOWNTO 0);

Func SIGNAL, FuncReg: STD_LOGIC_VECTOR (1 à 6);BEGIN

Haut <= '1 ';

Clear <= Reset des actes accomplis ou (PAS W et T (0));

Contre: carte port Incrément (Clair, horloge, Count);

DECT: dec2to4 la carte du port (le comte, Haut, T);

Func <= F & Rx & Ry;

Frin <= W et T (0);

Functionreg: REGN GENERIC MAP (N => 6)

Plan du port (Func, Frin, horloge, FuncReg);

décision: dec2to4 PORT MAP (FuncReg (1 à 2), haut, I);

decX: dec2to4 PORT MAP (FuncReg (3 à 4), Haut, X);

decY: dec2to4 PORT MAP (FuncReg (5 à 6), Haut, Y);

Extern <= I (0) et T (1);

Fait <= ((I (0) ou I (1)) et T (1)) ou ((I (2) ou I (3)) ET T (3));

Ain <= (I (2) ou I (3)) et T (1);

Gin <= (I (2) ou I (3)) et T (2);

Gout <= (I (2) ou I (3)) et T (3);

AddSub <= i (3);RegCntl:

Pour k dans 0 à 3 GENERER

Rin (k) <= ((I (0) ou I (1)) et T (1) et X (k)) ou

((I (2) ou I (3)) et T (1) et X (k));

Rout (k) <= (I (1) et T (1) et Y (k)) ou

((I (2) ou I (3)) et ((T (1) et X (k)) ou (T (2) et Y )))); k (

FIN GENERATE RegCntl;

tri_extern: Trin PORT MAP (données, Extern, BusWires);reg0: REGN PORT MAP (BusWires, Rin (0), l'horloge, R0);

REG1: REGN PORT MAP (BusWires, Rin (1), l'horloge, R1);

REG2: REGN PORT MAP (BusWires, Rin (2), l'horloge, R2);

reg3: REGN PORT MAP (BusWires, Rin (3), l'horloge, R3);tri0: Trin PORT MAP (R0, Rout (0), BusWires);

TRI1: Trin PORT MAP (R1, Rout (1), BusWires);

tri2: Trin PORT MAP (R2, Rout (2), BusWires);

tri3: Trin PORT MAP (R3, Rout (3), BusWires);

Rega: REGN PORT MAP (BusWires, Ain, l'horloge, A);

alu:

AVEC AddSub SELECT

Somme <= A BusWires QUAND '0 ',

A - BusWires WHEN OTHERS;

regg: REGN PORT MAP (Somme, Gin, horloge, G);

TRIG: Trin PORT MAP (G, la goutte, BusWires);

Comportement END;<<subccts.vhd>>
Le fichier des paquets - Modèle

-

- But: Ce paquetage définit les types supplémentaires, sous-types,

- Des constantes et des fonctionsIEEE bibliothèque;

IEEE.STD_LOGIC_1164.all utilisation;subccts paquet estCOMPOSANT REGN

génériques (N: integer: = 8);

PORT (R: std_logic_vector IN (N-1 downto 0);

rin, horloge: IN STD_LOGIC;

Q: OUT STD_LOGIC_VECToR (N-1 downto 0));

composante fin;Trin composante

génériques (N: integer: = 8);

port (X: IN STD_LOGIC_VECTOR (N-1 downto 0);

E: En STD_LOGIC;

F: OUT STD_LOGIC_VECToR (N-1 downto 0));

composante fin;composante dec2to4

port (w: En STD_LOGIC_vector (1 downto 0);

FR: En STD_LOGIC;

Y: std_logic_vector à (0 à 3));

composante fin;Incrément composante

port (clair, horloge: IN STD_LOGIC;

Q: std_logic_vector tampon (1 downto 0));

composante fin;subccts fin;
<<dec2to4.vhd>>IEEE bibliothèque;

IEEE.STD_LOGIC_1164.ALL utilisation;

IEEE.STD_LOGIC_ARITH.ALL utilisation;

IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;- Supprimez les lignes suivantes pour utiliser les déclarations qui sont

- Prévu à l'instanciation des composants Xilinx primitive.

Bibliothèque - UNISIM;

UNISIM.VComponents.all utilisation -;entité est dec2to4

Port (W: STD_LOGIC_VECTOR (1 DOWNTO 0);

FR: En STD_LOGIC;

Y: STD_LOGIC_VECTOR OUT (0 à 3));

dec2to4 fin;l'architecture du comportement des dec2to4 est

ENW SIGNAL: STD_LOGIC_VECTOR (2 DOWNTO 0);

commencer

<ENW = Fr & W;

AVEC ENW SELECT

y <= "1000" WHEN "100",

"0100" WHEN "101",

"0010" WHEN "110",

"0001" WHEN "111",

"0000" WHEN OTHERS;

fin comportement;<<regn.vhd>>IEEE bibliothèque;

IEEE.STD_LOGIC_1164.ALL utilisation;

IEEE.STD_LOGIC_ARITH.ALL utilisation;

IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;- Supprimez les lignes suivantes pour utiliser les déclarations qui sont

- Prévu à l'instanciation des composants Xilinx primitive.

Bibliothèque - UNISIM;

UNISIM.VComponents.all utilisation -;regn entité est

génériques (n: integer: = 8);

Port (R: dans std_logic_vector (N-1 downto 0);

Rin: en std_logic;

Horloge: en std_logic;

Q: std_logic_vector à (N-1 downto 0));

regn fin;l'architecture du comportement des regn estcommencer

processus

commencer

attendre Clock'EVENT et Horloge = '1 ';

SI Rin = '1 'alors

Q <= R;

fin si;

processus de bout;fin comportement;<<trin.vhd>>IEEE bibliothèque;

IEEE.STD_LOGIC_1164.ALL utilisation;

IEEE.STD_LOGIC_ARITH.ALL utilisation;

IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;- Supprimez les lignes suivantes pour utiliser les déclarations qui sont

- Prévu à l'instanciation des composants Xilinx primitive.

Bibliothèque - UNISIM;

UNISIM.VComponents.all utilisation -;Trin entité est

génériques (n: integer: = 8);

Port (X: dans std_logic_vector (N-1 downto 0);

E: dans std_logic;

F: std_logic_vector à (N-1 downto 0));

Trin fin;l'architecture du comportement de Trin estcommencer

<F = (Autres => 'Z') Lorsque E = '0 'ELSE X;fin comportement;<<upcount.vhd>>IEEE bibliothèque;

IEEE.STD_LOGIC_1164.ALL utilisation;

IEEE.STD_LOGIC_UNSIGNED.ALL utilisation;- Supprimez les lignes suivantes pour utiliser les déclarations qui sont

- Prévu à l'instanciation des composants Xilinx primitive.

Bibliothèque - UNISIM;

UNISIM.VComponents.all utilisation -;Incrément entité est

Port (clair, horloge: IN STD_LOGIC;

Q: STD_LOGIC_VECTOR tampon (1 DOWNTO 0));

Incrément fin;l'architecture du comportement des Incrément estcommencer

processus (horloge)

commencer

IF (Clock'EVeNT et Horloge = '1 ') THEN

Si Clear = '1 'alors

Q <= "00";

ELSE

Q <= Q '1 ';

END IF;

END IF;

Terminer le processus;

comportement fin;<<test_proc.vhd>>IEEE bibliothèque;

ieee.std_logic_1164.all utilisation;

work.all utilisation;

test entité esttest de fin;

l'architecture se comportent de test est

composante proc

PORT (données: STD_LOGIC_VECTOR (7 DOWNTO 0);

Reset, W: STD_LOGIC;

Horloge: IN STD_LOGIC;

F, Rx, Ry: IN STD_LOGIC_VECTOR (1 DOWNTO 0);

Fait: STD_LOGIC tampon;

BusWires: STD_LOGIC_VECTOR INOUT (7 DOWNTO 0));

composante fin;

signal de données: std_logic_vector (7 downto 0);

signal de réinitialisation, w: std_logic;

signal d'horloge: std_logic: = '0 ';

F signal, Rx, Ry: std_logic_vector (1 downto 0);

Fait signal: std_logic;

BusWires signal: std_logic_vector (7 downto 0);commencer - se comporter

Horloge <= pas de transport de l'horloge au bout de 5 ns;U1: carte port proc (données,

Reset, w,

Horloge,

F, Rx, Ry,

Fait,

BusWires);processus de banc d'essai:

commande la procédure (

DIN: en std_logic_vector (7 downto 0);

cmd: en std_logic_vector (5 downto 0)) est

commencer - commande

attendre Clock'event et Horloge = '1 ';

attendre Clock'event et Horloge = '0 ';

<= Données DIN;

<F = cmd (5 downto 4);

Rx <= cmd (3 downto 2);

Ry   <= cmd(1 downto 0);
w    <= '1';
wait until Clock'event and Clock='0';
w <= '0';
end command;
begin  -- process testbench
Data <= "10101010";
Reset <=  '1';
w <= '0';
F    <= "00";
Rx   <= "00";
Ry   <= "00";
wait for 33 ns;
Reset <= '0';
command("00000000","000000"); --ld r0, 00
wait until Done='0';
command("00000001","000100"); --ld r1, 01
wait until Done='0';
command("00000010","001000"); --ld r2, 02
wait until Done='0';
command("00000011","001100"); --ld r3, 03
wait until Done='0';
command("00000100", "010100"); --mov r1, r0
wait until Done='0';
command("00000100", "100001"); --add r1, r0
wait until Done='0';
command("00000100", "100110"); --add r2, r1
wait until Done='0';
command("00000100", "101011"); --add r3, r2
wait until Done='0';
command("00000100", "101100"); --add r3, r0
wait until Done='0';
wait;
end process testbench; end behave;

AND FINALLY THE MODEL SIM RUN # Reading C:/Modeltech_5.7g/tcl/vsim/pref.tcl
# do test_proj.fdo
# ** Warning: (vlib-34) Library already exists at "work".
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Compiling package subccts
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity dec2to4
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behavioral of dec2to4
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading entity dec2to4
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity regn
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behavioral of regn
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading entity regn
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity trin
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behavioral of trin
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading entity trin
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Compiling entity upcount
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behavioral of upcount
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_unsigned
# -- Loading entity upcount
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_signed
# -- Compiling entity proc
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behaviour of proc
# -- Loading package std_logic_1164
# -- Loading package std_logic_arith
# -- Loading package std_logic_signed
# -- Loading entity proc
# -- Loading package std_logic_unsigned
# -- Loading entity upcount
# -- Loading entity dec2to4
# -- Loading entity regn
# -- Loading entity trin
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Loading package std_logic_1164
# -- Compiling entity test
# Model Technology ModelSim SE vcom 5.7g Compiler 2003.10 Oct 10 2003
# -- Loading package standard
# -- Compiling architecture behave of test
# -- Loading package std_logic_1164
# -- Loading entity test
# -- Loading package std_logic_arith
# -- Loading package std_logic_signed
# -- Loading entity proc
# vsim -L xilinxcorelib -lib work -t 1ps testbench
# Loading C:/Modeltech_5.7g/win32/../std.standard
# Loading C:/Modeltech_5.7g/win32/../ieee.std_logic_1164(body)
# Loading C:/Modeltech_5.7g/win32/../ieee.numeric_std(body)
# Loading C:/Modeltech_5.7g/win32/../ieee.std_logic_arith(body)
# Loading C:/Modeltech_5.7g/win32/../ieee.std_logic_unsigned(body)
# Loading work.testbench(behavior)
# ** Failure: Default binding had errors for entity  "upcount" on the component declaration of line 38. See the compiler messages.
#    Time: 0 ps  Iteration: 0  Instance: /testbench File: upcnt_tb.vhd
# Fatal error at upcnt_tb.vhd line 45
#  while elaborating region: /testbench
# Error loading design
# Error: Error loading design
#        Pausing macro execution
# MACRO ./test_proj.fdo PAUSED at line 19

 
I dont know what you have in ur do file.
Do run modelsim with following do file! Code:

vlib work
vcom dec2to4.vhd regn.vhd upcount.vhd trin.vhd proc.vhd test.vhd
vsim test
add wave -r /*
run 400
 
hey...nand_gates ...i cdunt quite come up with enough words to thnk u ...

everything seems to run just fine in modelsim timing simulation...

tho' i still have one last query...wht does the code addon mean...(the one in ur last post) and can we tweak the Test bench so tht this can be taken care of and the simulation can run unhindered??

thx anyway
 
i'm sorry i was referring to the foll code
Code:vlib work
vcom dec2to4.vhd regn.vhd upcount.vhd trin.vhd proc.vhd test.vhd
vsim test
add wave -r /*
run 400
 

Welcome to EDABoard.com

Sponsor

Back
Top