色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

pulseview軟件導入并添加串口解碼器

OpenFPGA ? 來源:CSDN ? 作者:CSDN ? 2022-10-19 09:25 ? 次閱讀
簡介

經常使用RTL例如verilog進行數字邏輯設計的朋友,仿真一定是一個繞不開的話題。在一些標準的數字接口和協議上,使用仿真軟件例如modelsim或者vcs進行仿真后,得到的都是波形文件,使用相應的波形查看器查看數字信號的變化以確認協議邏輯設計的正確性,這點一般需要憑借個人豐富的經驗和對協議的充分理解才能保證。可謂是“人腦解碼器”,效率低下且很容易出錯。例如下圖中的串行發送數據不經解碼很難確認正確性。

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

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

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

例如上圖中的波形導出vcd文件后由pulseview軟件導入并添加串口解碼器后得到如下圖所示的結果,可以看到串口協議設計正確且發送的數據十分清晰被解碼出來。

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

軟件和波形文件格式

Pulseview是一款開源的邏輯分析儀軟件,具有十分漂亮的界面和強大的解碼庫,支持Windows,Linus,MacOS等多個平臺,可以通過導入波形文件進行解碼和分析,具體介紹可以查看官方Wiki。

VCD (Value Change Dump)是一個通用的格式。 VCD文件是IEEE1364標準(Verilog HDL語言標準)中定義的一種ASCII文件。它主要包含了頭信息,變量的預定義和變量值的變化信息。正是因為它包含了信號的變化信息,就相當于記錄了整個仿真的信息,我們可以用這個文件來再現仿真,也就能夠顯示波形。

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

使用過程

參考Verilog和Testbench設計源碼在github:

https://github.com/ITANGTANGI/verilog_decoder_pulseview

本次教程分為Windows端和Linux端兩個部分。

Windows平臺

軟件安裝

首先到官網

https://sigrok.org/wiki/Downloads

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

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

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

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

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

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

至此軟件安裝完成。

vcd波形文件生成

因為VCD是 Verilog HDL語言標準的一部分,因此所有的verilog的仿真器都要能夠實現這個功能,也要允許用戶在verilog代碼中通過系統函數來dump VCD文件。我們可以通過Verilog HDL的系統函數dumpfile來生成波形,通過dumpvars的參數來規定我們抽取仿真中某些特定模塊和信號的數據。

基礎波形生成和導入顯示操作如下例代碼中添加的一個initial塊,里面使用dumpfile生成了waveform.vcd文件,并把clk_i和data_i信號添加進波形文件的變量中。

樣例代碼:

`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等對上述代碼進行仿真。仿真后會在仿真文件夾下生成waveform.vcd文件。Verilog仿真的流程不介紹。

打開pulseview軟件,點擊菜單欄open圖標右側小三角,選擇Import Value Change Dump data選項,界面如下圖所示:

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

打開生成的vcd文件

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

參數設置,可以不用管

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

點擊OK后,即可成功加載波形

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

波形解碼

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

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

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

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

點擊波形圖中的UART解碼器,根據自己的設計選擇需要解碼的通道,設置波特率等參數,選擇數據顯示格式為ASCII,選擇完成后會自動重新解碼。

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

解碼完成后顯示正確的解碼結果。

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

其它功能

解碼器按鈕右邊的“Math”按鈕可以支持對通道使用數學表達式進行多種算術邏輯運算,可以實現很多一般數字邏輯設計波形查看器不能實現的功能。

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

提升解碼性能技巧

在解碼或加載仿真時間單位小或是仿真時間長的vcd波形時,pulseview軟件需要執行比較長的時間,執行時間和CPU性能有關。

可以通過在Testbench設計中的timescale降低仿真精度,或者是減少仿真時間,避免過多的無用波形產生。這方面讀者可以自行發揮。

備注

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

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

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

Linux平臺

軟件安裝

Linux下pulseview軟件無需安裝,到官網

https://sigrok.org/wiki/Downloads

下載Linux的執行文件,用chmod 777 賦予可執行權限后直接運行即可。

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

仿真,波形顯示和解碼

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

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 解碼器
    +關注

    關注

    9

    文章

    1144

    瀏覽量

    40795
  • 仿真
    +關注

    關注

    50

    文章

    4099

    瀏覽量

    133718
  • 源碼
    +關注

    關注

    8

    文章

    646

    瀏覽量

    29280

原文標題:使用Pulseview軟件輔助verilog數字設計仿真協議解碼

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    無線網解碼器怎么連接

    解碼器 :確保設備完好無損,且已正確安裝所需的驅動程序或軟件。 接收天線 :根據無線網解碼器的接口類型,選擇合適的接收天線。 數據線 :用于連接無線網解碼器和接收天線,以及可能的電腦或
    的頭像 發表于 10-15 16:31 ?436次閱讀

    無線網解碼器怎么用

    無線網解碼器通常指的是能夠解析無線網絡信號中的編碼信息,將其還原成原始信號或數據流的電子設備。然而,需要強調的是,未經授權的無線網絡解碼行為可能涉及法律問題,因為它可能侵犯了他人的隱私和網絡安全
    的頭像 發表于 10-15 16:28 ?594次閱讀

    無線解碼器的質量標準是什么

    無線解碼器,作為現代通信系統中的關鍵組件,其質量標準對于確保數據傳輸的可靠性、安全性和效率至關重要。 1. 性能指標 1.1 靈敏度 靈敏度是無線解碼器能夠接收到的最小信號強度。高靈敏度意味著解碼器
    的頭像 發表于 10-15 16:21 ?389次閱讀

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

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

    解碼器和控制區別是什么

    解碼器和控制在數字電子電路中扮演著不同的角色,它們之間的主要區別體現在功能和應用場景上。 一、功能區別 解碼器 : 主要功能 :解碼器通常用于將編碼后的數據或信號轉換成相應的輸出信號
    的頭像 發表于 09-30 14:27 ?511次閱讀

    控制解碼器的使用方法

    的基本概念 控制解碼器是控制系統中的關鍵組件,它接收來自控制的信號,并將這些信號轉換為可以被執行理解的形式。解碼器可以是硬件設備,也可
    的頭像 發表于 09-30 14:24 ?614次閱讀

    遙控解碼器怎么使用

    遙控解碼器是一種用于解碼和復制遙控信號的設備,它可以幫助用戶在遙控丟失或損壞的情況下,重新獲得對設備的控制。 遙控
    的頭像 發表于 09-30 14:23 ?921次閱讀

    全景聲解碼器

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

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

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

    9740解碼器配什么光柵

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

    光柵解碼器損壞的表現有哪些

    光柵解碼器是一種用于將光信號轉換為電信號的設備,廣泛應用于光學存儲、光學測量、光學通信等領域。當光柵解碼器損壞時,可能會出現多種異常表現。以下是一些可能的表現,以及相應的分析: 信號失真 : 原因
    的頭像 發表于 09-23 17:57 ?586次閱讀

    數字播放解碼器

    數字播放解碼器的組合能夠提供更優質的音頻體驗。數字播放負責處理和傳輸音頻數據,而解碼器則負責將這些數據轉換為高質量的模擬信號。它們的配合可以確保你聽到的音頻既清晰又真實。
    的頭像 發表于 09-06 17:35 ?1126次閱讀
    數字播放<b class='flag-5'>器</b>和<b class='flag-5'>解碼器</b>

    數字音頻解碼器和聲卡

    盡管聲卡和數字音頻解碼器都是與音頻相關的設備,但它們在功能和應用上有顯著的區別。專業HiFi音頻設備之所以選擇數字音頻解碼器,是因為它們能夠提供更高質量、更真實的音頻表現,以滿足對音質有苛刻要求的用戶對于完美聲音的追求。
    的頭像 發表于 07-01 16:29 ?1577次閱讀
    數字音頻<b class='flag-5'>解碼器</b>和聲卡

    USB多路音頻解碼器模組

    USB多路音頻解碼器模組能夠高效地處理和輸出高質量的音頻信號,適用于各種多媒體應用場景。
    的頭像 發表于 05-30 15:45 ?956次閱讀
    USB多路音頻<b class='flag-5'>解碼器</b>模組

    音視頻解碼器優化技巧:提升播放體驗的關鍵步驟

    隨著數字多媒體內容的爆炸式增長,音視頻解碼器在現代技術生活中扮演著至關重要的角色。從流暢的在線視頻流播放到高質量的本地文件解碼解碼器的性能直接影響了我們的觀看體驗。那么,如何優化音視頻解碼器
    的頭像 發表于 02-21 14:45 ?840次閱讀
    主站蜘蛛池模板: 国产AV精品无码免费看| 人妻夜夜爽天天爽三区麻豆AV网站| 含羞草免费完整视频在线观看| 饥渴的新婚女教师| 男女作爱在线播放免费网页版观看| 色戒无删减流畅完整版| 亚洲一区在线观看视频| chinese学生gv video| 国产免费变态视频网址网站| 老色69久久九九精品高潮| 色戒2小时38分在线观看| 樱花草动漫www| 国产成人mv 在线播放| 久久只精品99品免费久| 熟女强奷系列中文字幕| 最近免费视频中文2019完整版| 国产成人精品系列在线观看| 久久久96人妻无码精品蜜桃| 色聚网久久综合| 1000视频在线播放| 国产精品伦一区二区三级视频 | 91交换论坛| 国产成人拍精品视频网| 美女被黑人巨大进入| 小寡妇水真多好紧| a国产成人免费视频| 换脸国产AV一区二区三区| 人妻插B视频一区二区三区| 夜夜艹日日干| 国产精品99久久久久久AV蜜臀 | 好男人社区| 日韩人妻无码专区一本二本| 在线电影一区二区| 国产人妻777人伦精品HD| 欧美精品九九99久久在观看| 亚洲色综合中文字幕在线| 国产AV国产精品国产三级在线L| 毛茸茸womansex| 亚洲乱亚洲乱妇在线观看| 高H内射NP古文| 欧美手机在线播放|