当前位置:网站首页>【 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…
边栏推荐
- Unity a* road finding force planning
- Deep learning ----- different methods to realize inception-10
- Draw on screen border in Commodore 64
- The golden deer, a scenic spot in London -- a sailing museum that tells vivid sailing stories
- Introduction to some representations, neighbors and degrees of Graphs
- brew安装nvm报nvm command not found解决方案
- 【Paper】2020_ Research on defense and evaluation strategy of heterogeneous UAV formation_ Zuojiankai
- Qos(Quality of Service)
- Important knowledge points in unity3d
- Force buckle 704 Binary search
猜你喜欢

Force buckle 59 Spiral matrix II

【Paper】2019_ Distributed Cooperative Control of a High-speed Train

Yolov5 torch installation

Deep learning ----- different methods to realize inception-10

Force buckle 977 Square of ordered array

pycharm 数据库工具

Lambda&Stream

Preorder traversal of Li Kou 589:n fork tree

Ripple effect of mouse click (unity & shader)

On mask culling of unity
随机推荐
Check London attractions suitable for parents and children in winter vacation
力扣周赛293题解
Solution to the 292 week match of Li Kou
C # equipment synthesis
How to install win7 on AMD Ruilong CPU A320 series motherboard
What is multimodal interaction?
Important knowledge points in unity3d
Collective system
The difference between SVG and canvas
PS1 Contemporary Art Center, Museum of modern art, New York
0 foundation starts self-study unit notes control direction becomes larger
National Museum of Singapore - give you spiritual and physical satisfaction
JPA复合主键使用
【Paper】2015_ Coordinated cruise control for high-speed train movements based on a multi-agent model
力扣59. 螺旋矩阵 II
Pit of smoothstep node in shadergraph
Static keyword
[UAV] kinematic analysis from single propeller to four rotor UAV
Create transfer generation point
Malignant bug: 1252 of unit MySQL export