99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

pulseview軟件導(dǎo)入并添加串口解碼器

OpenFPGA ? 來源:CSDN ? 作者:CSDN ? 2022-10-19 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn)介

經(jīng)常使用RTL例如verilog進(jìn)行數(shù)字邏輯設(shè)計(jì)的朋友,仿真一定是一個(gè)繞不開的話題。在一些標(biāo)準(zhǔn)的數(shù)字接口和協(xié)議上,使用仿真軟件例如modelsim或者vcs進(jìn)行仿真后,得到的都是波形文件,使用相應(yīng)的波形查看器查看數(shù)字信號(hào)的變化以確認(rèn)協(xié)議邏輯設(shè)計(jì)的正確性,這點(diǎn)一般需要憑借個(gè)人豐富的經(jīng)驗(yàn)和對(duì)協(xié)議的充分理解才能保證??芍^是“人腦解碼器”,效率低下且很容易出錯(cuò)。例如下圖中的串行發(fā)送數(shù)據(jù)不經(jīng)解碼很難確認(rèn)正確性。

d80dfe30-4f48-11ed-a3b6-dac502259ad0.png

市面上一些邏輯分析儀配套軟件例如DSview或是pulseview擁有龐大的數(shù)字協(xié)議解碼器庫,配合邏輯分析儀使用時(shí)能夠快速分析設(shè)計(jì)正確性,但這樣一般又都需要邏輯分析儀硬件設(shè)備以及數(shù)字邏輯設(shè)計(jì)的實(shí)現(xiàn)載體例如FPGA等,也很不方便。

經(jīng)過研究,邏輯分析儀軟件例如pulseview能夠通過導(dǎo)入其他格式波形(例如vcd)文件,再對(duì)相應(yīng)通道添加解碼器,即可實(shí)現(xiàn)仿真+解碼驗(yàn)證的全套軟件實(shí)現(xiàn)流程,不需要借助硬件進(jìn)行分析,并且也不需要靠人工去分析協(xié)議的正確性,十分方便。

例如上圖中的波形導(dǎo)出vcd文件后由pulseview軟件導(dǎo)入并添加串口解碼器后得到如下圖所示的結(jié)果,可以看到串口協(xié)議設(shè)計(jì)正確且發(fā)送的數(shù)據(jù)十分清晰被解碼出來。

d8180308-4f48-11ed-a3b6-dac502259ad0.png

軟件和波形文件格式

Pulseview是一款開源的邏輯分析儀軟件,具有十分漂亮的界面和強(qiáng)大的解碼庫,支持Windows,Linus,MacOS等多個(gè)平臺(tái),可以通過導(dǎo)入波形文件進(jìn)行解碼和分析,具體介紹可以查看官方Wiki。

VCD (Value Change Dump)是一個(gè)通用的格式。 VCD文件是IEEE1364標(biāo)準(zhǔn)(Verilog HDL語言標(biāo)準(zhǔn))中定義的一種ASCII文件。它主要包含了頭信息,變量的預(yù)定義和變量值的變化信息。正是因?yàn)樗?a target="_blank">信號(hào)的變化信息,就相當(dāng)于記錄了整個(gè)仿真的信息,我們可以用這個(gè)文件來再現(xiàn)仿真,也就能夠顯示波形。

本次的教程即通過邏輯分析儀配套軟件pulseview讀取vcd文件進(jìn)行解碼。

使用過程

參考Verilog和Testbench設(shè)計(jì)源碼在github:

https://github.com/ITANGTANGI/verilog_decoder_pulseview

本次教程分為Windows端和Linux端兩個(gè)部分。

Windows平臺(tái)

軟件安裝

首先到官網(wǎng)

https://sigrok.org/wiki/Downloads

如下圖所示,根據(jù)電腦的配置下載Windows安裝包,已經(jīng)使用過sigrok兼容的邏輯分析儀的話應(yīng)該電腦中都有pulseview軟件了。

d82558fa-4f48-11ed-a3b6-dac502259ad0.png

下載完成后雙擊安裝包,按照正常軟件安裝步驟正常安裝即可,沒有啥需要注意的。如下圖所示就是安裝按成了。

d88c17de-4f48-11ed-a3b6-dac502259ad0.png

安裝完成后不會(huì)生成快捷方式,在“開始”菜單欄中找到如下圖所示的sigrok文件夾中pulseview打開或自行添加快捷方式即可。

d89558a8-4f48-11ed-a3b6-dac502259ad0.png

至此軟件安裝完成。

vcd波形文件生成

因?yàn)閂CD是 Verilog HDL語言標(biāo)準(zhǔn)的一部分,因此所有的verilog的仿真器都要能夠?qū)崿F(xiàn)這個(gè)功能,也要允許用戶在verilog代碼中通過系統(tǒng)函數(shù)來dump VCD文件。我們可以通過Verilog HDL的系統(tǒng)函數(shù)dumpfile來生成波形,通過dumpvars的參數(shù)來規(guī)定我們抽取仿真中某些特定模塊和信號(hào)的數(shù)據(jù)。

基礎(chǔ)波形生成和導(dǎo)入顯示操作如下例代碼中添加的一個(gè)initial塊,里面使用dumpfile生成了waveform.vcd文件,并把clk_i和data_i信號(hào)添加進(jìn)波形文件的變量中。

樣例代碼:

`timescale1ns/1ps

modulevitual_logic_decoder_tb;

//vitual_logic_analyzerParameters
parameterPERIOD=10;
parameterSAMP_CLK_FREQ=100_000_000;
parameterSAMP_CHANNELS=8;

//vitual_logic_analyzerInputs
regclk_i=0;
reg[SAMP_CHANNELS-1:0]data_i=0;

//vitual_logic_analyzerOutputs

initialbegin
$dumpfile("waveform.vcd");
$dumpvars(0,vitual_logic_decoder_tb.clk_i,vitual_logic_decoder_tb.data_i);
end

//dumpfsbl
initialbegin
$fsdbDumpfile("waveform.fsdb");
$fsdbDumpvars(0);
end

//Clockgenerate
initial
begin
forever#(PERIOD/2)clk_i=~clk_i;
end

always@(posedgeclk_i)begin
data_i<=?data_i?+?8'd1;
end

//operations
initial
begin
#6000
$finish;
end

endmodule

使用Windows下的Verilog仿真軟件,我這里使用的是Modelsim,也可以使用vivado自帶的仿真器或者iverilog等對(duì)上述代碼進(jìn)行仿真。仿真后會(huì)在仿真文件夾下生成waveform.vcd文件。Verilog仿真的流程不介紹。

打開pulseview軟件,點(diǎn)擊菜單欄open圖標(biāo)右側(cè)小三角,選擇Import Value Change Dump data選項(xiàng),界面如下圖所示:

d8a90254-4f48-11ed-a3b6-dac502259ad0.png

打開生成的vcd文件

d8b388d2-4f48-11ed-a3b6-dac502259ad0.png

參數(shù)設(shè)置,可以不用管

d8e535ee-4f48-11ed-a3b6-dac502259ad0.png

點(diǎn)擊OK后,即可成功加載波形

d90d82a6-4f48-11ed-a3b6-dac502259ad0.png

波形解碼

編寫一個(gè)串口發(fā)送Hello world!字符串的Verilog程序,按照上述方法進(jìn)行仿真生成vcd文件,使用pulseview加載后如下圖所示。

d94c2646-4f48-11ed-a3b6-dac502259ad0.png

點(diǎn)擊箭頭所指,打開解碼器庫界面,搜索UART,并雙擊UART解碼器添加到波形圖中。

d978dca4-4f48-11ed-a3b6-dac502259ad0.png

點(diǎn)擊波形圖中的UART解碼器,根據(jù)自己的設(shè)計(jì)選擇需要解碼的通道,設(shè)置波特率等參數(shù),選擇數(shù)據(jù)顯示格式為ASCII,選擇完成后會(huì)自動(dòng)重新解碼。

d983b142-4f48-11ed-a3b6-dac502259ad0.png

解碼完成后顯示正確的解碼結(jié)果。

d9992db0-4f48-11ed-a3b6-dac502259ad0.png

其它功能

解碼器按鈕右邊的“Math”按鈕可以支持對(duì)通道使用數(shù)學(xué)表達(dá)式進(jìn)行多種算術(shù)邏輯運(yùn)算,可以實(shí)現(xiàn)很多一般數(shù)字邏輯設(shè)計(jì)波形查看器不能實(shí)現(xiàn)的功能。

d9a1af8a-4f48-11ed-a3b6-dac502259ad0.png

提升解碼性能技巧

在解碼或加載仿真時(shí)間單位小或是仿真時(shí)間長(zhǎng)的vcd波形時(shí),pulseview軟件需要執(zhí)行比較長(zhǎng)的時(shí)間,執(zhí)行時(shí)間和CPU性能有關(guān)。

可以通過在Testbench設(shè)計(jì)中的timescale降低仿真精度,或者是減少仿真時(shí)間,避免過多的無用波形產(chǎn)生。這方面讀者可以自行發(fā)揮。

備注

Windows下Modelsim仿真過程中,仿真器會(huì)占用vcd文件導(dǎo)致pulseview無法加載(打開VCD文件時(shí)卡死),暫未找到解決辦法。關(guān)閉Modelsim軟件再加載vcd波形就行。不知有沒更好解決辦法。

重新仿真后,不需要點(diǎn)擊open按鈕重新打開vcd文件,點(diǎn)擊軟件左上角的reload按鈕即可自動(dòng)重新加載波形并解碼,無需重新設(shè)置。

d9c4b340-4f48-11ed-a3b6-dac502259ad0.png

Linux平臺(tái)

軟件安裝

Linux下pulseview軟件無需安裝,到官網(wǎng)

https://sigrok.org/wiki/Downloads

下載Linux的執(zhí)行文件,用chmod 777 賦予可執(zhí)行權(quán)限后直接運(yùn)行即可。

d9cece52-4f48-11ed-a3b6-dac502259ad0.png

仿真,波形顯示和解碼

剩下的操作和Windows平臺(tái)相同,只不過是使用的仿真軟件不同而已,參考源碼中給了VCS工程例程。

審核編輯 :李倩


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

    關(guān)注

    9

    文章

    1178

    瀏覽量

    42018
  • 仿真
    +關(guān)注

    關(guān)注

    52

    文章

    4290

    瀏覽量

    135918
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    671

    瀏覽量

    30354

原文標(biāo)題:使用Pulseview軟件輔助verilog數(shù)字設(shè)計(jì)仿真協(xié)議解碼

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Transformer架構(gòu)中解碼器的工作流程

    解碼器的作用主要是制作文本序列。與編碼類似,解碼器也配備了一組類似的子層。它具有兩個(gè)Multi-Head attention層,一個(gè)點(diǎn)前饋層,并且在每個(gè)子層之后都包含剩余連接和層歸一化。
    的頭像 發(fā)表于 06-10 14:32 ?340次閱讀
    Transformer架構(gòu)中<b class='flag-5'>解碼器</b>的工作流程

    DM5885視頻解碼器英文手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《DM5885視頻解碼器英文手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 04-02 14:42 ?1次下載

    無線網(wǎng)解碼器怎么連接

    解碼器 :確保設(shè)備完好無損,且已正確安裝所需的驅(qū)動(dòng)程序或軟件。 接收天線 :根據(jù)無線網(wǎng)解碼器的接口類型,選擇合適的接收天線。 數(shù)據(jù)線 :用于連接無線網(wǎng)解碼器和接收天線,以及可能的電腦或
    的頭像 發(fā)表于 10-15 16:31 ?1247次閱讀

    無線網(wǎng)解碼器怎么用

    無線網(wǎng)解碼器通常指的是能夠解析無線網(wǎng)絡(luò)信號(hào)中的編碼信息,將其還原成原始信號(hào)或數(shù)據(jù)流的電子設(shè)備。然而,需要強(qiáng)調(diào)的是,未經(jīng)授權(quán)的無線網(wǎng)絡(luò)解碼行為可能涉及法律問題,因?yàn)樗赡芮址噶怂说碾[私和網(wǎng)絡(luò)安全
    的頭像 發(fā)表于 10-15 16:28 ?1749次閱讀

    無線解碼器的質(zhì)量標(biāo)準(zhǔn)是什么

    無線解碼器,作為現(xiàn)代通信系統(tǒng)中的關(guān)鍵組件,其質(zhì)量標(biāo)準(zhǔn)對(duì)于確保數(shù)據(jù)傳輸?shù)目煽啃?、安全性和效率至關(guān)重要。 1. 性能指標(biāo) 1.1 靈敏度 靈敏度是無線解碼器能夠接收到的最小信號(hào)強(qiáng)度。高靈敏度意味著解碼器
    的頭像 發(fā)表于 10-15 16:21 ?982次閱讀

    音頻編解碼器中的常見噪聲問題

    電子發(fā)燒友網(wǎng)站提供《音頻編解碼器中的常見噪聲問題.pdf》資料免費(fèi)下載
    發(fā)表于 10-09 10:19 ?1次下載
    音頻編<b class='flag-5'>解碼器</b>中的常見噪聲問題

    解碼器和控制區(qū)別是什么

    解碼器和控制在數(shù)字電子電路中扮演著不同的角色,它們之間的主要區(qū)別體現(xiàn)在功能和應(yīng)用場(chǎng)景上。 一、功能區(qū)別 解碼器 : 主要功能 :解碼器通常用于將編碼后的數(shù)據(jù)或信號(hào)轉(zhuǎn)換成相應(yīng)的輸出信號(hào)
    的頭像 發(fā)表于 09-30 14:27 ?1571次閱讀

    控制解碼器的使用方法

    的基本概念 控制解碼器是控制系統(tǒng)中的關(guān)鍵組件,它接收來自控制的信號(hào),并將這些信號(hào)轉(zhuǎn)換為可以被執(zhí)行理解的形式。解碼器可以是硬件設(shè)備,也可
    的頭像 發(fā)表于 09-30 14:24 ?1633次閱讀

    遙控解碼器怎么使用

    遙控解碼器是一種用于解碼和復(fù)制遙控信號(hào)的設(shè)備,它可以幫助用戶在遙控丟失或損壞的情況下,重新獲得對(duì)設(shè)備的控制。 遙控
    的頭像 發(fā)表于 09-30 14:23 ?2600次閱讀

    全景聲解碼器

    全景聲解碼器是一款將音頻技術(shù)推向極致的產(chǎn)品。它不僅提供高質(zhì)量的音頻解碼,還讓用戶體驗(yàn)到一種前所未有的聲音空間。無論您是想要享受音樂、觀看電影,還是沉浸于游戲世界,全景聲解碼器都能為您打開一個(gè)新的音頻維度,讓每一次聆聽都成為一次精
    的頭像 發(fā)表于 09-24 10:40 ?896次閱讀
    全景聲<b class='flag-5'>解碼器</b>

    為什么好的播放還要配解碼器

    的關(guān)系 播放是用于播放音頻和視頻文件的軟件或硬件設(shè)備。它通常包括一個(gè)用戶界面,允許用戶選擇文件、控制播放、調(diào)整音量等。然而,播放本身并不直接處理音頻和視頻數(shù)據(jù)的解碼過程,而是依賴于
    的頭像 發(fā)表于 09-23 18:02 ?3272次閱讀

    9740解碼器配什么光柵

    關(guān)于9740解碼器配什么光柵的問題,由于直接針對(duì)特定型號(hào)(如9740解碼器)與光柵配套信息的資料可能較為有限,且這種信息可能因廠商、產(chǎn)品系列及具體應(yīng)用場(chǎng)景的不同而有所差異,因此無法給出一個(gè)絕對(duì)確定
    的頭像 發(fā)表于 09-23 18:01 ?984次閱讀

    光柵解碼器損壞的表現(xiàn)有哪些

    光柵解碼器是一種用于將光信號(hào)轉(zhuǎn)換為電信號(hào)的設(shè)備,廣泛應(yīng)用于光學(xué)存儲(chǔ)、光學(xué)測(cè)量、光學(xué)通信等領(lǐng)域。當(dāng)光柵解碼器損壞時(shí),可能會(huì)出現(xiàn)多種異常表現(xiàn)。以下是一些可能的表現(xiàn),以及相應(yīng)的分析: 信號(hào)失真 : 原因
    的頭像 發(fā)表于 09-23 17:57 ?1299次閱讀

    光纖光柵解碼器的通道怎么設(shè)置

    光纖光柵解碼器(或稱解調(diào)儀)的通道設(shè)置通常涉及多個(gè)方面,包括硬件連接、軟件配置以及工作模式的選擇等。以下是一個(gè)詳細(xì)的設(shè)置步驟指南: 一、硬件連接 光纖接口連接 : 確保光纖光柵傳感與解調(diào)儀的光纖
    的頭像 發(fā)表于 09-23 17:09 ?1194次閱讀

    數(shù)字播放解碼器

    數(shù)字播放解碼器的組合能夠提供更優(yōu)質(zhì)的音頻體驗(yàn)。數(shù)字播放負(fù)責(zé)處理和傳輸音頻數(shù)據(jù),而解碼器則負(fù)責(zé)將這些數(shù)據(jù)轉(zhuǎn)換為高質(zhì)量的模擬信號(hào)。它們的配合可以確保你聽到的音頻既清晰又真實(shí)。
    的頭像 發(fā)表于 09-06 17:35 ?2231次閱讀
    數(shù)字播放<b class='flag-5'>器</b>和<b class='flag-5'>解碼器</b>