一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

VCS仿真軟件的基本使用方式

電子工程師 ? 來(lái)源:ZYNQ ? 作者:ZYNQ ? 2022-08-10 11:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

畢業(yè)論文答辯結(jié)束,閑下來(lái)寫篇文章。芯片研發(fā)人員都在Linux系統(tǒng)下借助各種EDA工具和代碼語(yǔ)言完成工作,因此提高代碼開發(fā)效率,熟練運(yùn)用開發(fā)工具是十分必要的。本文講述VIM編輯神器的verilogHDL自定義模板調(diào)用以及VCS仿真軟件的基本使用方式。

二、VIM編輯器自定義模板調(diào)用

在之前的博文中談到過(guò)GVIM編輯器中可以通過(guò)調(diào)用模板來(lái)生成重復(fù)性代碼,但沒(méi)有介紹自定義模板的方式。關(guān)于VIM的安裝與配置詳細(xì)內(nèi)容,見(jiàn)參考文獻(xiàn)1。這里主要用到VIM的用戶配置文件:.vimrc(若沒(méi)有新建該文件并編輯),我們?cè)谟脩裟夸浵率褂胠s -al命令可以看到該文件:

59743198-17df-11ed-ba43-dac502259ad0.png

使用VIM編輯器打開VIM配置文件,以下部分是在文件底部自行添加的命令:

:ab Shixu always@(posedge clk or negedge rst_n)beginif(~rst_n)beginendelse beginendend :ab Zuhe always@(*)beginend :ab Counter always@(posedge clk or negedge rst_n)beginif(~rst_n)begincnt <= 0;endelse if(add_cnt)beginif(end_cnt)cnt <= 0;elsecnt <= cnt + 1'b1;endendassign add_cnt = ;assign end_cnt = add_cnt && cnt == - 1; :ab Width_func function integer clogb2 (input integer bit_depth);beginfor(clogb2=0;bit_depth>0;clogb2=clogb2+1)bit_depth = bit_depth >> 1;endendfunction :ab Clock initial beginclk = 0;forever begin#(CYC/2.0);clk=~clk;endend :ab Reset initial beginrst_n = 1;#1;rst_n = 0;#(RST_TIM*CYC) rst_n = 1;end

自定義模板的格式為 :ab

其中com是調(diào)用指令,code是當(dāng)前指令生成的代碼。我們新建一個(gè).v文件測(cè)試下就能看出模板調(diào)用的妙處了。

編輯(插入)模式下,輸入Shixu后按下回車生成:

598b5d6e-17df-11ed-ba43-dac502259ad0.png

輸入Zuhe后按下回車生成:

59a5bc5e-17df-11ed-ba43-dac502259ad0.png

輸入Counter后按下回車生成:

59b641fa-17df-11ed-ba43-dac502259ad0.png

這三個(gè)是最常用到的代碼,三者相互組合可以完成很多功能了。但若狀態(tài)或工作模式較多,一般采用狀態(tài)機(jī)完成。輸入FSM后按下回車生成:

59d7cee2-17df-11ed-ba43-dac502259ad0.png

在設(shè)計(jì)時(shí),經(jīng)常要根據(jù)數(shù)值范圍設(shè)定變量的位寬。此時(shí)經(jīng)常用到一個(gè)位寬計(jì)算到函數(shù)。輸入Width_func后按下回車生成:

59e7a218-17df-11ed-ba43-dac502259ad0.png

在設(shè)計(jì)文件里常用的重復(fù)性代碼基本就這些了,可以根據(jù)自己的coding style靈活調(diào)整。接下來(lái)說(shuō)說(shuō)testbench部分。輸入Test后按下回車生成:

59f6aa4c-17df-11ed-ba43-dac502259ad0.png

里邊包括了testbench中的時(shí)鐘和復(fù)位相關(guān)的參數(shù)與信號(hào)定義。實(shí)際上時(shí)鐘和復(fù)位信號(hào)的產(chǎn)生也是可以復(fù)用的。輸入Clock_rst后按下回車生成:

5a07dba0-17df-11ed-ba43-dac502259ad0.png

自定義模板還沒(méi)有靈活到可以生成模塊例化代碼,這一部分功能得借助其他腳本語(yǔ)言完成了,筆者還沒(méi)有嘗試過(guò)。

三、VCS軟件仿真

光說(shuō)這個(gè)軟件沒(méi)什么意思,我們來(lái)舉個(gè)栗子~設(shè)計(jì)一個(gè)計(jì)數(shù)器,輸出位寬固定32位。當(dāng)使能信號(hào)拉高則開始從0計(jì)數(shù)直到最大值后再次從0開始遞增。設(shè)計(jì)代碼counter.v:

5a296392-17df-11ed-ba43-dac502259ad0.png

測(cè)試代碼 counter_tb.v:

5a3a7f7e-17df-11ed-ba43-dac502259ad0.png

VCS仿真大體分為三步:編譯、仿真以及調(diào)試。編譯命令:vcs *.v -debug_all 命令行界面會(huì)顯示些信息:

5a5c8222-17df-11ed-ba43-dac502259ad0.png

之后文件夾內(nèi)會(huì)生成simv文件,執(zhí)行該文件進(jìn)行仿真。./simv -gui 這里使用-gui選項(xiàng)打開DVE圖形界面。

5a778a40-17df-11ed-ba43-dac502259ad0.png

接下來(lái)的操作和常用的Modelsim差不多了。把要觀測(cè)的信號(hào)添加到波形窗口:

5a80e720-17df-11ed-ba43-dac502259ad0.png

點(diǎn)擊左上角按鈕運(yùn)行仿真:

5a9b39fe-17df-11ed-ba43-dac502259ad0.png

按下紅色箭頭所指位置觀察全局波形:

5ab62368-17df-11ed-ba43-dac502259ad0.png

按住鼠標(biāo)左鍵拖動(dòng)來(lái)局部放大數(shù)據(jù)波形,計(jì)數(shù)器與輸出從0到19周期性遞增,功能正確。

5adb4e54-17df-11ed-ba43-dac502259ad0.png

復(fù)雜的操作后續(xù)用到再學(xué)。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • VCS
    VCS
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    9908
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70690
  • 仿真軟件
    +關(guān)注

    關(guān)注

    21

    文章

    259

    瀏覽量

    31035
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    822

    瀏覽量

    32023

原文標(biāo)題:數(shù)字IC設(shè)計(jì)入門必備——VIM自定義模板調(diào)用與VCS基本仿真操作示例

文章出處:【微信號(hào):ZYNQ,微信公眾號(hào):ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    vcs實(shí)用技巧

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化為C文件,在linux下編譯生成的可執(zhí)行文./simv即可得到仿真結(jié)果。
    的頭像 發(fā)表于 10-25 17:22 ?1862次閱讀
    <b class='flag-5'>vcs</b>實(shí)用技巧

    VCS仿真指南(第二版).pdf

    VCS-verilog compiled simulator是synopsys公司的產(chǎn)品.其仿真速度相當(dāng)快,而且支持多種調(diào)用方式;使用的步驟和modelsim類似,都要先做編譯,再調(diào)用仿真
    發(fā)表于 12-15 10:27

    VCS DVE 仿真工具講解

    VCS是Synopsys公司的數(shù)字邏輯仿真工具,DVE是一個(gè)圖形界面,便于調(diào)試RTL代碼,查看波形。本視頻簡(jiǎn)要介紹VCS的常用概念。 歡迎大家加入啟芯SoC QQ群: 275855756。共同交流和學(xué)習(xí)SoC芯片設(shè)計(jì)技術(shù)。
    發(fā)表于 10-04 13:07

    萌新求助關(guān)于VCS仿真指南

    VCS有哪幾種調(diào)試模式?萌新求助關(guān)于VCS仿真指南
    發(fā)表于 04-29 06:52

    nanosim和vcs混合仿真的過(guò)程是怎樣的?

    nanosim和vcs為什么可以聯(lián)合起來(lái)進(jìn)行數(shù)字模擬混合仿真?nanosim和vcs混合仿真的過(guò)程是怎樣的?
    發(fā)表于 06-18 08:28

    基于linux系統(tǒng)的VCS使用及仿真說(shuō)明

    最近在學(xué)習(xí)VCS,現(xiàn)將VCS的一些使用心得記錄下來(lái)。VCS是synopsys的仿真verilog的仿真器?;趌inux系統(tǒng)。有命令行模式和
    發(fā)表于 07-18 16:18

    基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用VCS仿真教程

    在linux系統(tǒng)上實(shí)現(xiàn)vivado調(diào)用VCS仿真教程 作用:vivado調(diào)用VCS仿真可以加快工程的仿真和調(diào)試,提高效率。 前期準(zhǔn)備:確認(rèn)安
    的頭像 發(fā)表于 07-05 03:30 ?1.2w次閱讀
    基于linux系統(tǒng)實(shí)現(xiàn)的vivado調(diào)用<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>教程

    如何使用Synopsys VCS仿真器進(jìn)行ZYNQ BFM IPI設(shè)計(jì)仿真

    了解如何使用Vivado中的Synopsys VCS仿真器使用ZYNQ BFM IPI設(shè)計(jì)運(yùn)行仿真。 我們將演示如何編譯仿真庫(kù),為IP或整個(gè)項(xiàng)目生成
    的頭像 發(fā)表于 11-29 06:59 ?5327次閱讀

    如何使用Vivado中的Synopsys VCS仿真器進(jìn)行仿真

    了解如何使用Vivado中的Synopsys VCS仿真器使用MicrBlaze IPI設(shè)計(jì)運(yùn)行仿真。 我們將演示如何編譯仿真庫(kù),為IP或整個(gè)項(xiàng)目生成
    的頭像 發(fā)表于 11-29 06:57 ?7844次閱讀

    SpinalHDL運(yùn)行VCS+Vivado相關(guān)仿真

    本篇文章來(lái)源于微信群中的網(wǎng)友,分享下在SpinalHDL里如何絲滑的運(yùn)行VCS跑Vivado相關(guān)仿真。自此仿真設(shè)計(jì)一體化不是問(wèn)題。
    的頭像 發(fā)表于 08-10 09:15 ?3003次閱讀

    使用VCS仿真Vivado IP核時(shí)遇到的問(wèn)題及解決方案

    前年,發(fā)表了一篇文章《VCS獨(dú)立仿真Vivado IP核的一些方法總結(jié)》(鏈接在參考資料1),里面簡(jiǎn)單講述了使用VCS仿真Vivado IP核時(shí)遇到的一些問(wèn)題及解決方案,發(fā)表之后經(jīng)過(guò)一
    的頭像 發(fā)表于 08-29 14:41 ?3793次閱讀

    淺談VCS的兩種仿真flow

    幾乎所有的芯片設(shè)計(jì)、芯片驗(yàn)證工程師,每天都在和VCS打交道,但是由于驗(yàn)證環(huán)境的統(tǒng)一化管理,一般將不同的編譯仿真選項(xiàng)集成在一個(gè)文件里,只需要一兩個(gè)人維護(hù)即可。所以大部分人比較少有機(jī)會(huì)去深入地學(xué)習(xí)VCS
    的頭像 發(fā)表于 01-10 11:20 ?5148次閱讀

    VCS實(shí)用技巧分享

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化為C文件,在linux下編譯生成的可執(zhí)行文./simv即可得到仿真結(jié)果。
    的頭像 發(fā)表于 05-30 09:26 ?1773次閱讀
    <b class='flag-5'>VCS</b>實(shí)用技巧分享

    記錄VCS仿真的IP核只有VHDL文件的解決方法

    使用VCS仿真Vivado里面的IP核時(shí),如果Vivado的IP核的仿真文件只有VHDL時(shí),仿真將變得有些困難,VCS不能直接
    的頭像 發(fā)表于 06-06 11:15 ?2806次閱讀
    記錄<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>的IP核只有VHDL文件的解決方法

    VCS 仿真option 解析

    VCS仿真選項(xiàng)分編譯(compile-time)選項(xiàng)和運(yùn)行(run-time)選項(xiàng)。編譯選項(xiàng)用于RTL/TB的編譯,一遍是編譯了就定了,不能在仿真中更改其特性,例如define等等。
    的頭像 發(fā)表于 01-06 10:19 ?4286次閱讀