Problème avec la lecture du Discours aux données dans un dispositif de mémoire

S

Sathish

Guest
Voici un petit module.C'est juste un module d'un dispositif de mémoire.J'ai essayé de forcer les valeurs, je peux écrire la valeur de «données» dans le «Adresse», mais je ne pouvais pas lire à partir du «retour à l'adresse 'Data'.

module RamChip (Adresse, Données, CS, WE, OE);
AddressSize paramètre = 1;
WordSize paramètre = 1;
entrée [AddressSize-1: 0] Adresse;
inout [WordSize-1: 0] de données;
entrée CS, WE, OE;
reg [WordSize-1: 0] Mem [0:1 <<] AddressSize;
assigner des données = (! CS & &! OE)?[] Adresse Mem: 1'bz;
toujours @ (CS ou WE)
if (! CS & &! WE)
Adresse =] [Mem données;
toujours @ (WE ou OE)
if (! WE & &! OE)
affichage $ ("erreur opérationnelle dans RamChip: OE et nous avons tous deux actifs");
endmodule

Plz me suggérer.thankx ...............

 
changement
assigner des données = (! CS & &! OE)?[] Adresse Mem: 1'bz;
à
assigner des données = (! CS & &! OE & & WE)?[] Adresse Mem: 1'bz;
En outre, la largeur de (1'bz) doit être égale à la taille du monde
toujours @ (CS ou WE) n'est pas plein
tu ferais mieux de changer de
toujours @ (CS ou WE ou d'adresse ou de données)

 
ya votre idée est bien, mais encore il ne fonctionnait pas, ici, je vous ai montré le fichier Wave dans le format BMP.Je pense que maintenant vous pouvez comprendre mon problème.
Désolé, mais vous avez besoin de connexion pour voir cette pièce jointe

 
Je viens de le simuler avec ModelSim
il est autorisé
Pouvez-vous me montrer votre banc d'essai?

 
Je n'ai pas écrit le banc d'essai, j'ai juste forcé tous les paramètres.Lorsque j'ai essayé avec banc d'essai, je me fais quelques erreurs lorsque la charge i le programme.S'il vous plaît ne me dérange pas certaines erreurs que je fais, comme IAM un débutant.

vigueur Adresse 0
vigueur de données 1
vigueur CS 0
vigueur, nous 0
courir
vigueur Adresse 1
vigueur des données 0
courir
Données sur la population de A à Z
WE vigueur z
vigueur CS z
courir
vigueur CS 0
vigueur OE 0
vigueur WE 1
courir

Voici l'essai au banc
tbRamChip module;
Adresse reg, données, CS, WE, OE;
RamChip R1 (Adresse, Données, CS, WE, OE);
initial
commencer
Adresse = 1'b0; données = 1'b1; CS = 1'b0, nous 1'b0 =; OE = 1'b1;
# 20 Adresse = 1'b1; données = 1'b0; CS = 1'b0, nous 1'b0 =; OE = 1'b1;
# 30 Adresse = 1'b0; CS = 1'b0, nous 1'b1 =; OE = 1'b0;
fin
endmodule
C'est l'erreur que j'obtiens quand je tente de charger.elle n'a pas quelque chose quand je compile.

# ERREUR: C: / Documents and Settings / administrateur / Desktop / SRI / RAMCHIP.V (5): Illegal connexion port de sortie (2ème connexion).
 
Je pense que vous banc d'essai est l'erreur
d'abord, les données sont un port inout
il doit donc être de type métallique
mais si vous voulez lui attribuer le commandement initial
il doit être de type reg
de sorte que vous pouvez définir un type de Val reg (par exemple la DATAR)
puis
attribuer DATAR = (! CS & &! OE & &! WE)?DATAR: 1'bz

 

Welcome to EDABoard.com

Sponsor

Back
Top