在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

探究Modelsim仿真--波形狀態機名稱顯示

FPGA開源工作室 ? 來源:FPGA開源工作室 ? 作者:leee ? 2021-07-23 15:04 ? 次閱讀

在通常的modelsim波形仿真中,狀態機的顯示為16進制,如 3‘h1。如下圖所示str_cur為狀態跳變信號

FPGA開源工作室

為了更加直觀的以文本形式顯示狀態機的跳變,如自己定義的IDLE等,我們可以使用

virtual typevirtual function

狀態機源文件:

//vending-machine// 2 yuan for a bottle of drink// only 2 coins supported: 5 jiao and 1 yuan// finish the function of selling and changing

module vending_machine ( input clk , input rstn , input [1:0] coin , //01 for 0.5 jiao, 10 for 1 yuan

output [1:0] change , output sell //output the drink );

//machine state decode parameter IDLE = 3‘d0 ; parameter GET05 = 3’d1 ; parameter GET10 = 3‘d2 ; parameter GET15 = 3’d3 ;

//machine variable reg [2:0] st_cur ;

//(1) using one state-variable do describe reg [1:0] change_r ; reg sell_r ; always @(posedge clk or negedge rstn) begin if (!rstn) begin st_cur 《= ‘b0 ; change_r 《= 2’b0 ; sell_r 《= 1‘b0 ; end else begin case(st_cur)

IDLE: begin change_r 《= 2’b0 ; sell_r 《= 1‘b0 ; case (coin) 2’b01: st_cur 《= GET05 ; 2‘b10: st_cur 《= GET10 ; endcase end GET05: begin case (coin) 2’b01: st_cur 《= GET10 ; 2‘b10: st_cur 《= GET15 ; endcase end

GET10: case (coin) 2’b01: begin st_cur 《= GET15 ; end 2‘b10: begin st_cur 《= IDLE ; sell_r 《= 1’b1 ; end endcase

GET15: case (coin) 2‘b01: begin st_cur 《= IDLE ; sell_r 《= 1’b1 ; end 2‘b10: begin st_cur 《= IDLE ; change_r 《= 2’b1 ; sell_r 《= 1‘b1 ; end endcase

default: begin st_cur 《= IDLE ; end

endcase // case (st_cur) end // else: !if(!rstn) end

assign sell = sell_r ; assign change = change_r ;

endmodule

仿真頂層文件:

`timescale 1ns/1ps

module tb_vending_machine;

reg clk; reg rstn ; reg [1:0] coin ; wire [1:0] change ; wire sell ;

//clock generating parameter CYCLE_200MHz = 10 ; // always begin clk = 0 ; #(CYCLE_200MHz/2) ; clk = 1 ; #(CYCLE_200MHz/2) ; end

//motivation generating reg [9:0] buy_oper ; //store state of the buy operation initial begin buy_oper = ’h0 ; coin = 2‘h0 ; rstn = 1’b0 ; #8 rstn = 1‘b1 ; @(negedge clk) ;

//case(1) 0.5 -》 0.5 -》 0.5 -》 0.5 #16 ; buy_oper = 10’b00_0101_0101 ; repeat(5) begin @(negedge clk) ; coin = buy_oper[1:0] ; buy_oper = buy_oper 》》 2 ; end

//case(2) 1 -》 0.5 -》 1, taking change #16 ; buy_oper = 10‘b00_0010_0110 ; repeat(5) begin @(negedge clk) ; coin = buy_oper[1:0] ; buy_oper = buy_oper 》》 2 ; end

//case(3) 0.5 -》 1 -》 0.5 #16 ; buy_oper = 10’b00_0001_1001 ; repeat(5) begin @(negedge clk) ; coin = buy_oper[1:0] ; buy_oper = buy_oper 》》 2 ; end

//case(4) 0.5 -》 0.5 -》 0.5 -》 1, taking change #16 ; buy_oper = 10‘b00_1001_0101 ; repeat(5) begin @(negedge clk) ; coin = buy_oper[1:0] ; buy_oper = buy_oper 》》 2 ; end end

vending_machine u_mealy ( .clk (clk), .rstn (rstn), .coin (coin), .change (change), .sell (sell));

//simulation finish always begin #100; if ($time 》= 10000) $finish ; end

endmodule // test

仿真腳本sim.do文件:

#Build a new libraryvlib work

#Switch to the emulation source file directory

vlog +acc “tb_vending_machine.v”vlog +acc “vending_machine.v”

#Start simulation

vsim -voptargs=+acc work.tb_vending_machine

#Add all the signals on the top layeradd wave *#do wave.do

virtual type { {0x00 IDLE} {0x01 GET05} {0x02 GET10} {0x03 GET15}} FSM_TYPEvirtual function {(FSM_TYPE)/tb_vending_machine/u_mealy/st_cur} state1add wave u_mealy/st_curadd wave -color pink /tb_vending_machine/u_mealy/state1

view structureview signalsrun -all

仿真結果如下

FPGA開源工作室

狀態機二進制被文本所替代。

編輯:jq

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

    關注

    5

    文章

    174

    瀏覽量

    47827

原文標題:Modelsim仿真--波形狀態機名稱顯示

文章出處:【微信號:leezym0317,微信公眾號:FPGA開源工作室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何用Simulink仿真BLDC反電動勢波形(可下載)

    大家好,今天這篇文章跟大家分享如何使用 MATLAB 中的 Simulink 來仿真觀察直流無 刷電機的反電動勢波形在正式仿真之前,我們先大致了解下 BLDC 和 PMSM 電機的反電動勢形狀
    發表于 03-24 14:14 ?0次下載

    【紫光同創盤古100Pro+開發板,MES2L676-100HP教程】盤古676系列——Modelsim的使用和do文件編寫

    。Properties 可以修改 該信號波形顯示的顏色,這兩個是比較常用的。接下來開始來運行我們的仿真。 點擊上方這個地方,對信號全部進行 Restart 復位。 紅框旁邊的 100 ps 是一次
    發表于 02-25 18:36

    Simulink中的狀態機建模方法 Simulink數據可視化與分析功能

    1. Simulink中的狀態機建模方法 1.1 理解狀態機的基本概念 在開始建模之前,了解狀態機的基本概念是必要的。狀態機由以下幾個部分組成:
    的頭像 發表于 12-12 09:27 ?2264次閱讀

    使用modelsim時的問題分析

    仿真對于FPGA設計來說至關重要,我們經常使用modelsim來進行功能仿真或者時序仿真,這樣就需要將modelsim和設計軟件(quart
    的頭像 發表于 10-24 18:15 ?1322次閱讀
    使用<b class='flag-5'>modelsim</b>時的問題分析

    用Tina仿真時測量波形時,發現示波器上顯示電壓的數值與交流分析的值不一樣,為什么?

    我在用Tina仿真時測量波形時,發現示波器上顯示電壓的數值與交流分析的值不一樣,交流分析顯示振幅為11.6V而示波器上顯示為1.72V,
    發表于 09-09 06:55

    使用TINA-TI進行仿真,為什么都不顯示波形,只顯示正在收集數據?

    剛開始使用TINA-TI進行仿真,電路搭建沒有問題,可是打開示波器想看波形,說什么都不顯示波形,只顯示正在收集數據,請問是怎么回事呢?不
    發表于 08-16 08:31

    觸發器和狀態機的關系是什么

    觸發器和狀態機在數字電路設計中有著緊密的關系,它們共同構成了時序邏輯電路的基礎,用于實現數據的存儲、處理和傳輸。
    的頭像 發表于 08-12 11:24 ?742次閱讀

    如何在FPGA中實現狀態機

    在FPGA(現場可編程門陣列)中實現狀態機是一種常見的做法,用于控制復雜的數字系統行為。狀態機能夠根據當前的輸入和系統狀態,決定下一步的動作和新的狀態。這里,我們將詳細探討如何在FPG
    的頭像 發表于 07-18 15:57 ?989次閱讀

    如何在ModelSim中添加Xilinx仿真

    今天給大俠帶來在FPGA設計應用中如何在ModelSim中添加Xilinx仿真庫,話不多說,上貨。 注意:ModelSim一定要安裝在不帶空格的目錄下,即不要安裝在“Program
    發表于 07-03 18:16

    玩轉Spring狀態機

    說起Spring狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring狀態機就是狀態模式的一種實現,在介紹S
    的頭像 發表于 06-25 14:21 ?1212次閱讀
    玩轉Spring<b class='flag-5'>狀態機</b>

    基于FPGA的SPI Flash控制器的設計方案

    頁面編程操作還沒結束時,busy將一直被置高。    4.2 數據讀取操作 讀數據指令仿真波形如圖4所示。當用戶輸入讀數據指令03H,狀態機進入txcmd狀態,讀數據指令通過spi_d
    發表于 06-03 10:13

    關于SMU狀態機的問題求解

    我有一些關于 SMU 狀態機的問題。 假設由于某種原因,SMU 已進入故障狀態。 手冊指出,要返回運行狀態并將 FSP 恢復到無故障狀態,應調用IfxSmu_releaseFSP()。
    發表于 05-29 08:18

    在GPIF設計器中設計狀態機時,無法訪問附件中所示的線程編號如何解決?

    在 GPIF 設計器中設計狀態機時,我無法訪問附件中所示的線程編號、 如何解決這個問題?
    發表于 05-23 07:18

    示波器顯示波形的原理詳解

    示波器,作為電子測量領域中不可或缺的工具,主要用于觀測、分析和記錄電信號。其核心功能在于將電信號轉換為可見的波形圖像,使工程師和技術人員能夠直觀地了解信號的特性。本文將深入探討示波器顯示波形的原理,以及其中涉及的各個關鍵技術和步
    的頭像 發表于 05-20 16:46 ?3344次閱讀

    示波器如何顯示波形

    示波器,作為電子工程師和技術人員在電路設計和調試過程中不可或缺的工具,其主要功能就是捕獲并顯示電信號隨時間變化的波形。通過示波器,我們可以觀察到信號的幅值、頻率、相位等關鍵參數,從而對電路性能進行深入的分析和評估。那么,示波器是如何顯示
    的頭像 發表于 05-15 16:33 ?3455次閱讀
    主站蜘蛛池模板: 国产最好的精华液网站 | 国产日韩精品欧美一区色 | 日日夜夜噜 | 四虎在线影院 | 丁香婷婷综合五月综合色啪 | 久久精品免费看 | 中文字幕三级久久久久久 | 女人张开腿让男人桶免费网站 | 中文字幕天堂在线 | 黄色网页在线播放 | 国产高清一级视频在线观看 | 色午夜视频 | 天天舔天天爱 | 欧色视频 | 97影院午夜午夜伦不卡 | 特级全黄大片 | 欧美成人a | 免费人成在线观看网站品爱网日本 | 91日本在线观看亚洲精品 | 丁香花高清在线观看 | 久久丁香视频 | 欧美三级 欧美一级 | tom影院亚洲国产 | h视频在线免费观看 | 欧美成人免费全部观看天天性色 | 免费一日本一级裸片在线观看 | 欧美精品二区 | 色激情综合 | 午夜短视频 | 五月天天色 | 中文字幕不卡一区 | 色偷偷亚洲 | 久久手机看片 | 六月色 | 热re99久久国产精品 | 日韩毛片视频 | 婷婷月 | 国产成人精品亚洲日本在线 | 欧美精品人爱a欧美精品 | 亚洲vv| 中国一级特黄真人毛片 |