当前位置:网站首页>Icer Skill 02makefile script Running VCS Simulation
Icer Skill 02makefile script Running VCS Simulation
2022-06-23 04:57:00 【Quatre - vingt - quatre.】
Table des matières
0.Préface
InwinEn courant.modelesimLes simulations le savent,Il nous faut deux.vDocumentation,Puis un point de fonctionnement de l'interface est venu et est allé,La forme d'onde est finalement générée,C'est très inefficace pour les développeurs,Alors aujourd'hui, NotezlinuxUtilisation suivantemakefileLe script s'est enfuivcsSimulation.
1.Options communes
| Objet | Directives | Fonction de représentation |
|---|---|---|
| vcs | -full64 | Soutien64Bits |
| vcs | -l Espaces Nom du fichier | Créer un fichier journal,En général.logDocumentation |
| vcs | -f Espaces Nom du fichier | Indexer le chemin du fichier à compiler dans un fichier,C'est possible.file.listDocumentation |
| vcs | -debug_all | Prise en charge de la mise en service |
| vcs | -timescale=1ns/1ns | Précision temporelle |
| vcs | +v2k | Verilog2001Architecture |
| vcs | -sverilog | svArchitecture |
| simv | -l | Journal de simulation |
| simv | -gui | Ouvrir l'interface |
| dve | -vpd Espaces Nom du fichier | Ouvrir le fichier Waveform,En général, un&Indique que l'arrière - plan fonctionne |
2.Travaux préparatoires
Commencez par écrire un simplemakefileScript de l'opération d'animationvcsSimulation,Bien sûr qu'il y a un certainlinux Connaissance des opérations de base , Cette commande de base est prête pour une heure et demie. ,Petitcase
① D'abord, on entre dans le terminal. ,Avecls Commande pour voir quels fichiers sont disponibles
ls
② Il n'y en a qu'un. add_vcsDossier pour
③ Ignorer ce dossier ,Reconstruire unadd_testDossier pour
mkdir add_test
④ Vous pouvez voir un dossier supplémentaire sur le Bureau ( Bien sûr, j'ai tapé le code sous le chemin du Bureau. )

⑤Entréeadd_testChemin sous le dossier
cd ./add_test/

⑥Créer deux fichiers:add.v add_tb.v
touch add.v
touch add_tb.v


⑦Utilisergvim L'éditeur écrit deux .vDocumentation,Les codes sont les suivants:
add.v
module add ( input a,b,c_in, output sum,c_out ); assign sum = a ^ b ^ c_in; assign c_out = (c_in & b)|(a & b)|(a & c_in); endmoduleadd_tb.v Assurez - vous que la simulation est terminée. , Sinon, cours. vcs Le processus sera bloqué tout le temps ,Et puis$vcdpluson Générer un fichier Waveform
`timescale 1 ns/1 ns module add_tb(); //Entréereg reg a; reg b; reg c_in; reg clk; //Produitswire wire sum; wire c_out; //Cycle d'horloge,Unitésns parameter CYCLE = 20; // Générer une horloge locale initial begin clk = 0; forever #(CYCLE/2) clk=~clk; end //Initialisation du signal initial begin #1 a = 0; b = 0; c_in = 0; end // Exemple de module à tester add u1 ( .a (a), .b (b), .c_in (c_in), .c_out (c_out), .sum (sum) ); // Attribution d'autres signaux d'entrée always @(posedge clk)begin a = {$random}%2; b = {$random}%2; c_in = {$random}%2; end initial begin $vcdpluson; end initial begin # 200 $finish; end endmodule

⑧Générerfile.listDocumentation,Réutiliserls Voir si les fichiers correspondants sont réellement générés
find -name "*.v"> file.list

⑨UtilisergvimVoirflie.listDocumentation(Appuyez surgfPeut sauter,ctrl+oRetour), La découverte est une collection de chemins relatifs
gvim file.list

3.makefileCompilation
- vcs La simulation doit d'abord être compilée (com), Puis la simulation (sim), Puis il y a la forme d'onde. (AvecdveRegarde.)
- Définissez d'abordall: com sim run_dve
- Alors écrivezcom sim run_dve Des directives
- Enfin, ajoutez unclean Pour effacer les fichiers générés par la simulation
D'abord.add_testCréer un sous le cheminmakefile Documents établis ultérieurement
Les codes sont les suivants::
all: com sim run_dve
com:
vcs -sverilog -debug_all -timescale=1ns/1ns -f file.list -l com.log
sim:
./simv -l sim.log
run_dve:
dve -vpd vcdplus.vpd &
clean:
rm -rf *.vpd csrc *.log *.key *.vdb simv* DVE*
Vous pouvez voir la fonctionnalité de chaque instruction à partir du tableau au début
4.Simulation en un clic et nettoyage des fichiers
①Retour au terminal,Inadd_testExécuter sous le chemin
make all
C'est tout.
②La simulation est illustrée ci - dessous:
③Fonctionnement automatiquedve , Nous pouvons ajouter une forme d'onde de vue


④Enfin fermédveInterface,Fonctionnement sur le terminal
make clean
Supprimer tous les fichiers générés ,ls Regarde ce qu'il en reste. 4Fichiers
边栏推荐
- CAN总线基础知识
- The paddepaddle model is deployed in a service-oriented manner. After restarting the pipeline, an error is reported, and the TRT error is reported
- 如何让社交媒体成为跨境电商驱动力?这款独立站工具不能错过!
- ApiPost接口测试的用法之------Post
- openwrt目录结构
- Pta:7-64 what day of the year is this day
- E45: ‘readonly‘ option is set (add ! to override)
- free( )的一个理解(《C Primer Plus》的一个错误)
- An understanding of free() (an error in C Primer Plus)
- Shadertoy基础教学02、画笑脸
猜你喜欢
随机推荐
Abnova fluorescent dye 510-m streptavidin scheme
Flask基础:环境搭建+配置+URL与试图之间的映射+重定向+数据库连接
ApiPost接口测试的用法之------Get
Examples of corpus data processing cases (part of speech encoding, part of speech restoration)
396. 矿场搭建
composer按装laravel
AD9使用技巧拾遗
Non return to zero code NRZ
cadence中的焊盘和flash symbol
Project summary 1 (header file, switch, &, bit variables)
2 万字 + 20张图|细说 Redis 九种数据类型和应用场景
PTA: price of 7-65 beverage
Altium designer 09 screen printing displays a green warning near the pad. How to prevent it from alarming?
gson TypeAdapter 适配器
golang使用mongo-driver操作——增(基础)
Using editor How to handle MD uploading pictures?
32 single chip microcomputer has more than one variable Used in C
What are the types of independent station chat robots? How to quickly create your own free chat robot? It only takes 3 seconds!
Please use the NLTK Downloader to obtain the resource
thinkphp6 无关联ID的连表查询(2张表)主要是select的应用







