Simple question circuit combinatoire ..

A

ahmad_abdulghany

Guest
Salut,
Je veux rendre le code VHDL pour un bloc simple que tout simplement la carte tous les bits d'entrée di-bit de sortie de quatre, comme suit:
00>>> 01 01

01>>> 01 11

11>>> 11 11

10>>> 11 01in this block architecture simply as follows:
Je l'ai fait en même temps
dans cette architecture bloc simplement comme suit:eek:ut_s (0) <= '1 ';

out_s (2) <= '1 ';

out_s (1) <= in_s (0);

out_s (3) <= in_s (1);Est-ce que cela soit fait tous les front d'horloge de l'horloge en bloc??
Notez que je ne l'ai pas mis à l'intérieur processus ..Vous avez des commentaires sur la méthode ainsi que le code?J'ai aussi une petite question ici, comment ce code sera synthétisé sur le FPGA?Merci à l'avance,

Ahmad,
 
Votre code est fait de façon continue, il n'ya pas d'horloge.Tous les corps de l'architecture est theated comme "principale" processus.Dans la simulation, il est calculé à chaque étape de simulation.Dans le circuit FPGA, il sera simple fonction combinatoire, avec toute registres / clock.
Il peut être écrit dans une forme plus élégante (pour une meilleure clarté et de tout changement dans l'avenir):

Code:avec in_s (1 downto 0) sélectionnez

out_s (3 downto 0) <=

"0101" lors de "00",

"0111" quand "01",

"1101" où "10",

"1111" lors de "11"; - ou lorsque d'autres;

 
bis_ a écrit:

Votre code est fait de façon continue, il n'ya pas d'horloge.
Tous les corps de l'architecture est theated comme "principale" processus.
Dans la simulation, il est calculé à chaque étape de simulation.
Dans le circuit FPGA, il sera simple fonction combinatoire, avec toute registres / clock.

Il peut être écrit sous une forme plus élégante (pour une meilleure clarté et de tout changement dans l'avenir):Code:avec in_s (1 downto 0) sélectionnez

out_s (3 downto 0) <=

"0101" lors de "00",

"0111" quand "01",

"1101" où "10",

"1111" lors de "11"; - ou lorsque d'autres;

 
and end
of the architecture body
.

Ce code peut être placé n'importe où entre début
et de fin
du corps de l'architecture.and end
of that process
.

Ou à l'intérieur de cette architecture, vous pouvez écrire quelques procès et insérer ce code entre début
et la fin
de ce processus.Dans certains des simulateurs il peut être préférable si vous ajoutez le signal in_s sur la liste de sensibilité processus, pour le dispositif réel synthétisé il das peu importe.Placer ce code (logique combinatoire) "directement dans le corps d'architecture» ou «procès à l'intérieur de l'intérieur du corps d'architecture" est seule question du style Codding.
Citation:

Pour mon code, je ne sais toujours pas ce qui ne va pas dans le mien?
Y at-il quelque chose de mauvais en elle?
 
Salam Ahmad,

vous pouvez le faire avec un "avec certaines" entre le début et la fin de l'architecture
ou encore dans un «cas» ou dans un "if else" dans un processus (avec toutes les entrées par catégorie dans la liste de sensibilité afin de s'assurer que c'est combinatoire)

si u il suffit d'horloge, puis l'insérer dans un processus séquentiel et de l'horloge dans la liste de sensibilité, mais je suppose que tu le veux une combinatoire partie simple, non?Salma

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />
 
--------- ArchitectureSEL signal: std_logic_vector (1 downto 0);
-----
-----

commencer

processus (SEL ,---)
commencer
SEL cas est
quand "00" => out_s <= "0101";

où "01" => out_s <= "0111";

où "10" => out_s <= "1111";

où "11" => out_s <= "1101";

quand les autres =>
null; - ou <= out_s "0000";

Fin de cas;
processus de bout;

beh fin;Ajouté après 1 minutes:Cela génère quatre 4X1 mux.

 

Welcome to EDABoard.com

Sponsor

Back
Top