15. december 2018 Vandkunsten Sandwich

exemple de banc de test

En regardant par-dessus les traces jusqu`ici, il y a quelques choses à noter: 1) les impulsions d`horloge sur la ligne de SCLK sont transmises par l`appareil à la ligne de Eng_Sck (aucun problème ici car les deux ADC_CS et nvSRAM_CS sont maintenus haut), 2) toutes les données sur la ligne de SDI sont passées jusqu`à la ligne Eng_So. À ce stade, le code banc d`essai est dans une étape «attente pour toujours», en attente de l`appareil pour terminer une séquence d`acquisition. Pour obtenir la forme d`onde mis à jour, vous devez cliquer sur l`icône dans la barre d`outils qui est une boîte bleue avec une flèche blanche pointant vers la gauche (à gauche la plupart des icônes affichées deux images ci-dessus). Maintenant que nous avons écrit le squelette de base, nous allons compiler et voir ce que nous venons de coder. Il montre également que le signal adc_bck (qui est le LSB de seqcount, est maintenu bas pendant la réinitialisation). À la fin du cycle d`acquisition des données, nous pouvons voir l`impulsion courte du signal int (interruption), qui informe le μProcessor que le cycle demandé est terminé. Il s`agit du MSB de la commande SPI ou de notre bit RUN. Ces deux lignes sont semblables à celle ci-dessus. Pour sclk_raw, nous pouvons voir que le signal termine 5 cycles dans le premier 500 ns qui nous donne une période de 500nS/5, de 100ns, nous donnant une fréquence de 10 MHz. Nous attendons ensuite le bord descendant du signal ADC_LRCK (ligne 112).

Il est recommandé de nommer le banc de test associé à un module de la même que le module avec _ TB ajouté. Le code VHDL suivant implémente le compteur vers le bas, le code suivant implémenter VHDL banc pour haut vers le bas et enfin banc sortie d`onde. La syntaxe # est utilisée pour spécifier un délai. Ce premier bloc génère l`horloge et les signaux de réinitialisation. Dans ce cas, c`est le module basic_and. Whew, je pense que je l`ai fait (enfin) à la fin. Afin d`horloge le bit de données ADC dans le nvSRAM, il doit être stable pour le bord ascendant de la Eng_Sck. Device sous test. Cependant, le Verilog vous écrivez dans un banc d`essai n`est pas tout à fait le même que le Verilog vous écrivez dans vos conceptions. Allez-y et cliquez sur l`onglet qui indique default.

En regardant par-dessus les 500nS d`abord, aucune des traces (autre que MCLK et sclk_raw) changent. En effet, ISE se rend compte que les fichiers qui se terminent par _ TB sont des bancs de test et les marquent pour une utilisation dans la simulation uniquement. Tout d`abord, nous allons tirer toutes les pièces de la conception antérieure ensemble dans une seule liste. Il est très important de toujours réinitialiser votre circuit avant d`attendre une sortie significative. Vous pouvez ensuite cliquer avec le bouton droit sur ctr_q [7:0] et cliquer sur Ajouter à la fenêtre Wave. Il s`agit de tout ce qui est nécessaire pour vérifier les fonctionnalités de base de l`appareil. Le cadre contient également quelques processus en conserve pour nos deux horloges (MCLK-lignes 87-94 et SCLK-lignes 96-102, plus définit pour les taux d`horloge-lignes 62-63) et une version stub d`un processus de stimulation (stim_proc: Process-lignes 105-118), qui sera utilisé pour créer le les énoncés de relance nécessaires pour tester minutieusement notre conception. OK, revenir à la compilation, vous verrez que le simulateur ne imprimer quoi que ce soit à l`écran, ou de vider toute forme d`onde. Remarquez comment a et b changent. Une autre chose digne note se produit juste avant que nous entrons dans l`État «no SELECT» sur les lignes CS, à 2. En regardant le signal SCLK, qui est la logique et de sclk_raw et sclk_inh, nous pouvons voir que pendant les 1000ns premières des traces, que le SCLK est constant bas. D`ici, le banc d`essai utilise les bords du SCLK, afin que nous puissions synchroniser les modifications de la ligne de données SPI au SCLK.

Remarquez l`option simuler le modèle comportemental maintenant. Exécution de la simulation et capture des 2 premiers. En termes de simulation, le simulateur avance maintenant de 10 unités de temps, puis assigne 1 à A. Nous devons maintenant créer un processus pour générer des données ADC simulées pour notre conception. Assurez-vous que basic_and_tb est sélectionné et double-cliquez sur simuler le modèle comportemental.