国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    1219

    瀏覽量

    43425
  • 仿真
    +關注

    關注

    54

    文章

    4483

    瀏覽量

    138276
  • 源碼
    +關注

    關注

    8

    文章

    685

    瀏覽量

    31320

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TLV320AIC1x系列單聲道編解碼器:特性、應用與設計要點

    TLV320AIC1x系列單聲道編解碼器:特性、應用與設計要點 在電子設備的音頻處理領域,編解碼器(CODEC)起著至關重要的作用。今天,我們要深入探討德州儀器(TI)的TLV320AIC1x系列
    的頭像 發表于 02-04 11:25 ?283次閱讀

    TLV320AIC22C:雙VoIP編解碼器的技術剖析與應用指南

    TLV320AIC22C:雙VoIP編解碼器的技術剖析與應用指南 在當今的通信領域,VoIP(Voice over Internet Protocol)技術的應用日益廣泛,對于高質量音頻編解碼器
    的頭像 發表于 02-03 14:40 ?227次閱讀

    深入剖析LM4549B:高性能音頻編解碼器的技術指南

    深入剖析LM4549B:高性能音頻編解碼器的技術指南 在當今的音頻處理領域,高性能的音頻編解碼器對于實現出色的音頻質量至關重要。LM4549B作為一款專為PC系統設計的音頻編解碼器,以其卓越的性能
    的頭像 發表于 02-03 10:50 ?227次閱讀

    SN74AHC139雙2到4位解碼器/多路分解深度解析

    SN74AHC139雙2到4位解碼器/多路分解深度解析 在電子設計的領域中,解碼器/多路分解是非常基礎且實用的器件,它們在數據傳輸、地址解碼
    的頭像 發表于 01-16 17:10 ?845次閱讀

    探秘SN74AHC238:高速硅門CMOS解碼器的設計與應用

    探秘SN74AHC238:高速硅門CMOS解碼器的設計與應用 在電子設計領域,解碼器是至關重要的組件,它能夠將二進制編碼的輸入信號轉換為特定的輸出信號,實現對多個設備的精確控制。今天,我們就來深入
    的頭像 發表于 01-12 16:30 ?271次閱讀

    SN74ACT238-Q1高速硅門CMOS解碼器:設計與應用全解析

    SN74ACT238-Q1高速硅門CMOS解碼器:設計與應用全解析 一、引言 在電子設計領域,解碼器是實現地址解碼和數據路由的關鍵組件。TI公司的SN74ACT238-Q1高速硅門CMOS解碼
    的頭像 發表于 01-12 15:35 ?339次閱讀

    深度剖析TVP5160:高性能數字視頻解碼器的卓越之選

    富的功能,成為了眾多電子工程師在設計相關產品時的熱門選擇。今天,我們就來深入了解一下這款解碼器的詳細特性和應用。 文件下載: tvp5160.pdf 一、TVP5160概述 TVP5160是一款高品質的數字視頻解碼器,它能夠將各種流行的基帶模擬視頻格式數字化
    的頭像 發表于 12-29 14:20 ?443次閱讀

    探索TVP5147M1:高性能數字視頻解碼器的深度剖析

    )的TVP5147M1數字視頻解碼器,了解其特點、功能、電氣特性以及應用場景。 文件下載: tvp5147m1.pdf 一、產品概述 TVP5147M1是一款高品質的單芯片數字視頻解碼器,能夠將各種流行的基帶模擬視頻格式數字化
    的頭像 發表于 12-29 11:15 ?406次閱讀

    基于E203 RISC-V的音頻信號處理系統 -CODEC(音頻編解碼器)配置

    CODEC介紹 本設計采用的音頻編解碼器是WM8731,該編解碼器可以通過I2C進行寄存配置,可以調節主從模式、數據位數可設置為16bit、24bit、32bit。可以設置的傳輸模式為I2S、DSP等模式。 寄存
    發表于 10-28 06:29

    增強T-BOX設計,新唐編解碼器的重要作用

    、遠程異常維護和更新。 數據收集和傳輸:安全保護和隱私加密。 多接口擴展:可定制的功能和軟件應用程序。 在T-BOX中,編解碼器(編碼-解碼器)起著至關重要的作用,充當主要的通信橋
    發表于 09-05 06:26

    0.1-2.7 GHz SP4T 開關,帶集成邏輯解碼器 skyworksinc

    電子發燒友網為你提供()0.1-2.7 GHz SP4T 開關,帶集成邏輯解碼器相關產品參數、數據手冊,更有0.1-2.7 GHz SP4T 開關,帶集成邏輯解碼器的引腳圖、接線圖、封裝手冊、中文
    發表于 08-08 18:32
    0.1-2.7 GHz SP4T 開關,帶集成邏輯<b class='flag-5'>解碼器</b> skyworksinc

    0.25 - 2.15 GHz 4x2 開關矩陣,帶音調/電壓解碼器 skyworksinc

    電子發燒友網為你提供()0.25 - 2.15 GHz 4x2 開關矩陣,帶音調/電壓解碼器相關產品參數、數據手冊,更有0.25 - 2.15 GHz 4x2 開關矩陣,帶音調/電壓解碼器的引腳圖
    發表于 08-07 18:35
    0.25 - 2.15 GHz 4x2 開關矩陣,帶音調/電壓<b class='flag-5'>解碼器</b> skyworksinc

    4 x 2 開關矩陣,帶音調/電壓解碼器 250 MHz–2.15 GHz skyworksinc

    電子發燒友網為你提供()4 x 2 開關矩陣,帶音調/電壓解碼器 250 MHz–2.15 GHz相關產品參數、數據手冊,更有4 x 2 開關矩陣,帶音調/電壓解碼器 250 MHz–2.15
    發表于 08-06 18:30
    4 x 2 開關矩陣,帶音調/電壓<b class='flag-5'>解碼器</b> 250 MHz–2.15 GHz skyworksinc

    Transformer架構中解碼器的工作流程

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

    DM5885視頻解碼器英文手冊

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