Doubt en Verilog code ...

P

pranavam

Guest
Je suis venu dans le doute et perpetuer cete verilog ....svp aider moi

module parallel_1 (flash, data_inp, le1);
entrée [06:00] data_inp;
flash d'entrée;
sortie [34:0] le1;
reg [34:0] le1;
reg [02:00] rr;
initial
commencer
RR = 3'b001;
fin

@ toujours (flash posedge)
commencer
cas (RR)
3'b001: le1 [06:00] <= data_inp;
3'b010: le1 [13:07] <= data_inp;
3'b011: le1 [20:14] <= data_inp;
3'b100: le1 [27:21] <= data_inp;
3'b101: le1 [34:28] <= data_inp;
par défaut: RR = 3'bz;
endcase
RR = RR 3 B001;

fin
endmodule

La chose est ..Je veux que la première valeur de «RR» en tant que 001 ...et j'ai fait la technique ci-dessus ...mais je comprends le problème que toujours et le travail initial en même temps et donc RR = 001 doesnot avoir aucune influence ....Plz me dire Tout autre technique de déclarer un registre toujours une valeur avant la déclaration va exécuter;

 
Pouvez-vous ajouter un "reset" du signal dans votre conception?Dans la procédure de réinitialisation, vous pouvez définir la RR registre à la valeur initiale.En passant, il semble très confus que vous venez de définir la valeur de rr dans le "défaut" de cas.

 
Salut,

Je pense que vous devez changer de
<RR = RR 3 B001;

Bien que je n'ai pas mon livre de syntaxe ici, chez nous, je pense que la façon dont vous codé il s'agit d'une cession de blocage et est connu pour causer des problèmes dans des implémentations réelles.
En outre, comme staraimm souligné, vous avez vraiment besoin d'un état de réinitialisation.Sinon, je suggère l'ajout d'une série de flops qui se charge de la valeur statique du "001" sur le flash d'abord et l'utilisation de ces flops comme une semence pour la RR.En faisant cela vous sacrifiez le pouls stroboscopique premier et l'utiliser comme une sorte d'impulsion de préréglage.

Si la mise en œuvre finale est un FPGA Xilinx, comme, vous pouvez définir les valeurs initiales des flops après la programmation.Cela peut être fait dans le fichier UCF.J'ai aussi la main-édité ces types de changements à leur outil de rédacteur FPGA.Alors que cela fonctionne dans le silicium réelle, il ne sera pas de simuler correctement, étant donné que l'UCF n'est pas utilisée dans la simulation.

 
Merci à tous u. ....Je suis un newbie dans le domaine de la conception HDL ....

Comment puis-je ajouter un signal de réinitialisation à la conception?
J'utilise Altera FPGA et DE1 kit .....

Comment puis-je définir la valeur de rr (sans affecter les autres parties du code) à l'aide flipflopes?
Pourquoi cette déclaration initiale ne marche pas avoir une influence?

Plz me dire

 
Vous pouvez utiliser une PIO du FPGA Altera faire le lien avec "reset" sur le circuit borad.Lorsque vous appuyez sur le bouton sur la planche, le signal de réinitialisation sera triggerred.

 
Salut les gars,
J'ai aussi connu les mêmes problèmes ..
la déclaration initiale n'est pas du tout de travail, que ce soit à l'intérieur ou à l'extérieur toujours.
J'ai utilisé qu (at) rtus 2 logiciels pour cela.
même si r entiers utilisé au lieu de regs paramètre cas à l'intérieur,
sa ne fonctionne pas ... Y at-il une clause à cet effet???

comment peut représenter u nombres à virgule flottante dans le matériel??
Je tiens à mettre en œuvre une fonction exponentielle, en utilisant LUT ... Comment puis-je mettre en œuvre la LUT avec nombres à virgule flottante en elle??s'il vous plaît aider ...
remercier u..

 
Qu'en est-il celui-ci!

Code:

module parallel_1 (flash, data_inp, le1);

entrée [06:00] data_inp;

flash d'entrée;

sortie [34:0] le1;

reg [34:0] le1;@ toujours (flash posedge)

commencer

Le1 <= (LE1 [28:0], data_inp)

fin

endmodule
 
Salut,

J'ai modifié le code ur et ça marche pour moi, si j'ai bien compris ce que tu veux ... si ce n'est pas ce que tu veux .. laissez-moi savoir.module parallel_1 (flash, data_inp, le1);
entrée [06:00] data_inp;
flash d'entrée;
sortie [34:0] le1;
reg [34:0] le1;
reg [02:00] rr;

@ toujours (flash posedge)
commencer
cas (RR)
3'b001: le1 commencer [] = data_inp 06h00; RR = 3'b010; fin
3'b010: le1 commencer [] = data_inp 13h07; RR = 3'b011; fin
3'b011: le1 commencer [] = 20:14 data_inp; RR = 3'b100; fin
3'b100: le1 commencer [] = 27:21 data_inp; RR = 3'b101; fin
3'b101: le1 commencer [] = 34:28 data_inp; RR = 3'b001; fin
par défaut: commencer LE1 = ((35)) 1'b0; RR = 3'b001; fin
endcase
fin
endmoduleCordialement,
Chaitanya

Permettez-moi si cela fonctionne pour u. ......

 
Avez-vous essayé ce Verilog 2001 Technique d'initialisation?Je l'utilise tout le temps dans Xilinx XST.J'évite 'reset' signaux mesure du possible.

reg [02:00] RR = 3'b001;

la plupart des compilateurs ignorer «initiale» des déclarations.Je ne sais pas sur les outils Al.tera, mais Xilinx XST récemment, il prend en charge, même si elle est boguée.

Très peu (voire aucun) Verilog / VHDL synthétiseurs de soutien de la langue en virgule flottante.Cependant, les outils de développement peuvent inclure des fonctions mathématiques point flottante sous forme de modules de la bibliothèque.Vérifiez que vous la documentation ou les notes d'applications.

 

Welcome to EDABoard.com

Sponsor

Back
Top