Structurelle du code VHDL pour la RS Flip-Flop

B

BlackOps

Guest
Bonjour, je suis en train de construire le contrôleur VGA. il aura 2 10 bits jusqu'à compteurs et 4 tongs. J'ai déjà un schéma de celui-ci. Maintenant, je veux écrire du code VHDL structurel complet pour mon SR bascule, s'il vous plaît jeter un oeil à l'image de la bascule dont j'ai besoin dans mon contrôleur. comme je vois du livre d'Enoch, bascule SR est juste modifié bascule D, s'il vous plaît jeter un oeil à la seconde photo. maintenant, j'ai besoin de modifier le code VHDL pour SR flip flop, mais j'ai aussi besoin d'inclure asynchrone signal clair, comme indiqué sur la première photo, ... pour le contrôleur VGA .. voici mon code:
Code:
 - définir le fonctionnement de la 2-input NAND gate IEEE BIBLIOTHÈQUE; ieee.std_logic_1164.all utilisation; ENTITÉ NAND_2 IS PORT (I0, I1: in std_logic; O: OUT std_logic) END NAND_2 , ARCHITECTURE DE Dataflow_NAND2 NAND_2 IS BEGIN O
 
SR et CLK? bibliothèque IEEE; ieee.std_logic_1164.all utilisation; FDRS entité est port (Q: std_ulogic sur C: dans std_ulogic; R: dans std_ulogic; S: en std_ulogic; clair: dans std_ulogic); FDRS finaux; FDRS_arch architecture de FDRS est de commencer procédé (C, Clair) commencer if (front montant (Clear)) alors Q
 
A mon avis, vous a "inventé" un nouveau type de SR-Flipflop - avec une horloge. Je n'ai jamais vu avant.
 
je n'ai rien inventé! havent u lu un livre d'Enoch Hwang? ces photos sur mon post sont tirées de ce livre! ainsi? .... des idées? et qu'est-ce que vous en pensez que le code VHDL?
 
Bonjour, OK, je vois que SR-bascule est utilisée par Enoch et ailleurs. J'ai trouvé cependant que différentes implémentations existent qui diffèrent en ce qui concerne le comportement de R et S deux Enoch H. dit que "SR tongs peut entrer dans un état indéfini lorsque les deux entrées sont affirmées en même temps". En contraste présenté son circuit a bien défini comportement priorité pour atteindre l'entrée S. Altera a MaxPlus SR-Flipflop qui est basculant avec S et R H et le code publié par mstrcosmos a la priorité pour l'entrée R. En dehors de ce problème particulier, le code VHDL semble correct. Au lieu d'utiliser «structurelle» du code qui a un comportement partielle clair, je préfère une description claire. La priorité requise pour SR bascule peut être fait différent. Utilisation de D-bascules, vous devez définir la logique vise explicitement. La description SR-bascule par mstrcosmos n'est pas synthétisable de cette façon, parce qu'il a deux signaux bords sensibles. La construction d'habitude avec asynchronouos claires doivent être utilisés à la place. Comme déjà dit, elle diffère de votre code en ce qui concerne la priorité par rapport à S R.
Code:
 procédé (C, Clair) commencer if (Clair) alors Q
 
u ont fourni le code de comportement ... puis-je l'utiliser pour construire contrôleur VGA pour ma puce pro Virtex2, avec ISE? et puis-je le placer dans un autre .. "Header" fichier .. de sorte que je ne vais pas l'utiliser dans le code du contrôleur principale source?
 
J'ai passé en revue l'original «structurelle» du code. Il est absolument impropre à la synthèse (si elle est correcte si loin, que je n'ai pas vérifié complètement). Code synthétisable (pour autant que l'horloge synchronouos action est prévu) doit être fondée sur des éléments logiques D-FF respectivement constructions d'horloge HDL synchrones. PS: Je suppose que votre code est destiné à la synthèse dans le matériel, mais vous ne le mentionne pas. Je comprends maintenant, ce que nous avons écrit l' structurelle D-FF vue du livre de Enochs. La vue donne essentiellement une idée, comment un D-FF pourrait fonctionner dans le matériel, mais il n'est ni utile ni pour la synthèse de simulation à mon avis. Un outil de synthèse, qui fonctionne habituellement à un niveau d'abstraction plus élevé que portes individuelles, nous n'aurions probablement pas le reconnaître d'une manière qui utilise un D-FF au niveau de la porte. Un outil de simulation devrait en principe reproduire le comportement, mais aussi causer beaucoup de frais généraux par rapport à une description de niveau supérieur (comportemental ou en utilisant du matériel D-FF). Descriptions comportementales comporte deux limites: Certaines constructions ne sont pas synthétisables, instruction delay par exemple, et il ne peut donner des résultats optimaux dans tous les cas où les ressources matérielles particulières logiques sont disponibles. Mais pour améliorer les performances avec le code structurel, il faut tenir compte du matériel logique particulière, généralement dans les bibliothèques des fournisseurs.
 
thank u! ok je l'ai codé comme tu m'as montré, voici le code comportemental:
Code:
 LIBRARY IEEE; ieee.std_logic_1164.all utilisation; SRFF entité est PORT (S, R, Horloge, Clear: in std_logic; Q: OUT std_logic) SRFF END;; Comportement ARCHITECTURE DE SRFF IS BEGIN PROCESSUS (horloge, Clair) - liste de sensibilité est utilisée BEGIN IF (Effacer = '1 ') ALORS Q
 
Il devrait travailler lors de l'instanciation de la SR-FF dans le code structurel. Avez-vous remarqué, que le contrôleur VGA sur le site de Enoch O. Hwang ~ www.cs.lasierra.edu/ ehwang est généralement en utilisant un codage «comportementales»? A mon avis, c'est beaucoup plus fonctionnel et plus lisible.
 
ouais, je n'ai pas remarqué, merci .. mais je ne suis pas sûr que ça va marcher si je vais vous suffit de copier et de le coller à ma ISE ... pour synthesation .. aussi des broches DOIT être affecté .. c'est pourquoi j'ai décidé de tout construire à partir de zéro dans le code structurel, mais se référant aux schémas d'Enoch.
 
Je m'attends à l'exemple de travailler avec Altera et Xilinx, provoquer le contrôleur VGA lui-même utilise seulement des constructions communes VHDL. Avec votre «structurelle» description, vous devriez avoir une compréhension des éléments structurels qui sont effectivement disponibles dans le FPGA. Ce sont pas des portes plutôt que les blocs logiques à base de LUT , où un D-FF est une fonction élémentaire. Le fait d'ignorer ces faits, on peut par exemple provoquer le compilateur HDL d'utiliser une boucle logique combinatoire au lieu d'une bascule, peut-être pas opérationnel en raison de problèmes de calendrier.
 
J'ai compilé structurelle SR FF code et appris à connaître, 1. vous avez ajouté signal "clair" dans Structural_SR_FF, pourquoi? même le signal n'est pas referrred ailleurs?
 

Welcome to EDABoard.com

Sponsor

Back
Top