当前位置:网站首页>【 VCS + Verdi joint simulation】 ~ Taking Counter as an Example
【 VCS + Verdi joint simulation】 ~ Taking Counter as an Example
2022-06-30 04:59:00 【Ai est très bon.】
Table des matières du présent chapitre:
0. Préface
Tout d'abord,,Dis - moi d'abord.,Quand j'ai écrit ce blog, je n'étais qu'un petit blanc,C'est vrai.,Je viens d'apprendre une journée,Ha ha ha,C'est vrai,Tu n'as pas tort.,C'est un jour.!!! Principalement à cause de la nécessité de brosser les problèmes et de trouver un emploi avant - hier ,Besoin de se familiariser avecVCSEtVerdiSimulation conjointe de( On dit que c'est très utile , Suivez le courant. !!!), C'est pour ça qu'il y a d'autres blogs. , Je vais en faire une chronique. , Pour qu'il y ait des amis à l'arrière. ,Faites une référence.,Pas grand - chose à dire,Directement ouvert et sec.
1. Généralités
Je crois que tout le monde en a touché un ou plusieurs. EDA Logiciels liés à ,Tu es commeVivado,Quartus, Ils contiennent déjà RTL,Compiler,Simulation,Synthèse,Regarde la forme d'onde., Fonctions telles que la cuisson des plaques . Alors pourquoi ne pas utiliser ça ?L'entreprise a - t - elle des problèmes????Ha Ha!,Tu as beaucoup réfléchi., Il y a dix à vingt ans que l'entreprise a appris quelque chose de plus que notre école. ,Alors dis, Il n'y a rien de mal à apprendre de l'entreprise. .Contre - intuitionVCSEtVerdi C'est très spécial ,VCS Se concentrer sur la compilation et la simulation ,Verdi Concentrez - vous sur la forme d'onde .Encore une foisVCS Compiler la simulation très rapidement ,Très efficace, Gagner du temps pour tout le monde ,Verdi Il est également très pratique de voir les formes d'onde debug, Il supporte la traçabilité des signaux , Ajout sans soudure de la forme d'onde du signal et d'autres fonctions .
2. De“0”Commencer à apprendre
Environnement: CentOS7
Codage: Vim
Compiler la simulation: VCS
Vue de la forme d'onde: Verdi
À propos de l'installation de la machine virtuelle veuillez passer à un autre blog ,Porte de transfert
À propos deVCSEtVerdiAutresEDA L'installation de l'outil est disponible dans la section commentaires ou en privé. .
=============================================================================================
Très bien, regardons en bas. ===>
Par défaut iciVCSEtVerdi L'environnement est prêt , Configurer l'environnement référence mon blog ,.bashrcConfiguration du fichier
2.1 Accès à la machine virtuelle,Sélectionner“”Ouvrir le terminal

2.2 Créer des fichiers connexes
2.2.1 AdoptionlinuxCommande pour créer le fichier approprié,Voici un exemple de compteur,Besoin de créerCounterDossiers,
(Notez que,LinuxLe portail est là.,Cliquez sur le portail)
$cd _Project/ # cd Nom du dossier
# En bas se trouve mon dossier _Project Le dossier à l'intérieur
# Counter
2.2.2 InCounterCréer dans le dossier3Dossiers
mkdir module tb verification # Création3Fichiers,Nom:module、tb、 verification
# En bas, les résultats
drwxrwxr-x. 2 ICer ICer 23 6Mois 29 17:43 module
drwxrwxr-x. 2 ICer ICer 27 6Mois 29 17:55 tb
drwxrwxr-x. 2 ICer ICer 39 6Mois 29 21:03 verification
2.2.3 InmoduleCréationrtlCode
vim counter.v # Adoptionvim Éditeur créer counter.vDocumentation
# Pour le processus d'écriture de code correspondant, voir vim Pour voir comment , Quand j'aurai le temps, j'écrirai aussi un article sur vimArticles utilisés, Venez selon vos besoins , Si vous avez besoin de commentaires, faites - le - moi savoir. !!!
Après avoir écrit le Code :
1 module counter(
2 input clk,
3 input rst,
4 output reg [5:0] count
5 );
6
7 always @ (posedge clk or negedge rst) begin
8 if(!rst) begin
9 count <= 0;
10 end
11 else begin
12 count <= count + 1;
13 end
14 end
15 endmodule
2.2.4 IntbCréer un code de test dans
vim tb.sv # AdoptionvimCréationtb.svDocumentation
Après avoir écrit le Code :
1 module tb_counter();
2
3 reg clk,rst;
4 wire [5:0] counter;
5
6 counter u1(clk,rst,counter);
7
8 always #(5) clk = ~clk;
9
10 initial begin
11 clk <= 0;
12 rst <= 0;
13 #20;
14 rst <= 1;
15 #50;
16 if(counter != 5)
17 $display("Failure 1: the counter should be 5 but it is %d",counter);
18 else
19 $display("You gotta the right result!");
20 $finish;
21 end
22
23 //.v file
24 //`ifdef FSDB
25 //initial begin
26 // $fsdbDumpfile("tb_counter.fsdb");
27 // $fsdbDumpvars;
28 //end
29 //`endif
30
31 //.sv file
32 initial begin
33 $fsdbDumpfile("tb.fsdb");
34 $fsdbDumpvars;
35 end
36 endmodule
2.2.5 InverificationMoyennefile_listEt les fichiers de script
# Ce fichier peut être sans suffixe , Le rôle principal est d'organiser le Front rtl Chemin vers le Code et les fichiers de test , Pour faciliter l'invocation du fichier script
vim file_list
# Ce fichier est un fichier script ,AdoptionmakeAppel d'instructions(Je peux voir les détails.MakefileUtilisation de, J'ai une documentation ici , Un message privé ou un commentaire est nécessaire )
# Il est utilisé pour programmer l'ordre de fonctionnement de tous les fichiers , C'est un grand frère
vim Makefile
Après avoir écrit le Code :
all: \
3 vcs \
4 verdi
5
6 #-------------------------------------------------------------------------------------------------------
7 # VCS
8 vcs :
9 vcs \
10 -f file_list \
11 -timescale=1ns/1ns \
12 -full64 -R +vc +v2k -sverilog -debug_access+all \
13 |tee vcs.log
14 #-------------------------------------------------------------------------------------------------------
# verdi
34
35 verdi :
36 verdi -sv -f file_list -ssf tb.fsdb &
37
38 #-------------------------------------------------------------------------------------------------------
39 clean :
40 rm -rf *~ core csrc simv* vc_hdrs.h ucli.key urg* *.log novas.* *.fsdb* verdiLog 64* DVEfiles *.vpd
41 rm -rf INCA_libs irun*
42 rm -rf modelsim.ini transcript work
2.3 Tout est prêt.,Sous - fonctionnement seulement
2.3.1 Exécutionvcs
$make vcs # AdoptionmakeAppel d'instructionsMakefileExécutionvcs
Résultats des opérations:

L'appel d'offres est original. , Le reste est généré par simulation ,C'est horrible.???Ha ha ha,C'est bon de s'y habituer.
2.3.2 Exécutionverdi
make verdi # AdoptionmakeAppel d'instructionsMakefileExécutionverdi
Résultats des opérations:

Pas de forme d'onde ???
Il faut faire un pas de plus , Est d'ajouter le signal que vous voulez voir ,Regardez l'image ci - dessous..
Ce n'est pas fini ?Comment ça va?,Tu as abandonné tes études??
J'ai laissé tomber l'étude dans la section commentaires !!!
2.4 Une bonne habitude après
Après avoir vu la forme d'onde , N'est - ce pas qu'il y a eu beaucoup de documents? ? Tu ne dois pas faire tes valises ! Il faut nettoyer après le dîner ,Et alors??
N'oublie pas.Makefile Il n'y a pas de cleanUne directive??C'est fini.!!!
make clean # Nettoyage des fichiers générés
Résultats:
C'est tout ce qu'on avait avant la simulation. !!!
3. Résumé
En apprenant ce jour ,Ne dis pas que,vcsEtverdi La simulation conjointe est très utile. ,Par ici., Je n'ai pas assez appris , Juste un peu de fourrure. , Il faut continuer à apprendre , Se référer aux forces des autres , J'espère que tout le monde apprendra ensemble ,Progrès communs,En cas d'erreur,Les critiques et les corrections sont les bienvenues!!!
C'est bon,Saupoudrer de fleurs à la fin, Trois fois plus ,Mise à jour continue.
=========================================================================
À suivre…
边栏推荐
- Spring Festival Tourism Strategy: welcome the new year in Bangkok, Thailand
- Arrays class
- Detailed explanation of the process of "flyingbird" small game (camera adjustment and following part)
- Harbor API 2.0 query
- MySQL query gadget (I) replace a property value of the object in the JSON array in the JSON format string field
- The difference between SVG and canvas
- Modbus protocol register
- Exploration of unity webgl
- How to install win7 on AMD Ruilong CPU A320 series motherboard
- Unity ontriggerenter does not call
猜你喜欢

力扣977. 有序数组的平方

Spring Festival Tourism Strategy: welcome the new year in Bangkok, Thailand

Pourquoi l'ordinateur n'a - t - il pas de réseau après l'ouverture du Hotspot win10?

一条命令运行rancher
![[UAV] kinematic analysis from single propeller to four rotor UAV](/img/32/1a88b102f832ffbbc1a7e57798260a.jpg)
[UAV] kinematic analysis from single propeller to four rotor UAV

Unity realizes rotation and Revolution

Meet in Bangkok for a romantic trip on Valentine's Day

Force buckle 27 Removing Elements

Some books you should not miss when you are new to the workplace

Force buckle 977 Square of ordered array
随机推荐
力扣周赛293题解
Circle center technology, very anxious?
harbor api 2.0查询
Easyrecovery data recovery software recovers my photo and video data two years ago
Basic operations of Oracle data
One interview question every day to talk about the process of TCP connection and disconnection
Error about the new version of UE4: unavigationsystemv1:: simplemovetoactor has been deprecated
力扣977. 有序数组的平方
pycharm 数据库工具
Efficiency test of adding and querying ArrayList and LinkedList
SCM learning notes: interrupt learning
National Museum of Singapore - give you spiritual and physical satisfaction
Steamvr causes abnormal scene camera
Some problems encountered in unity steamvr
JPA composite primary key usage
JS 数组的排序 sort方法详解
UnityEngine. JsonUtility. The pit of fromjason()
Unreal 4 learning notes - set player birth point
The golden deer, a scenic spot in London -- a sailing museum that tells vivid sailing stories
Special folders in unity3d and their meanings