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

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

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

3天內不再提示

FPGA學習系列:仿真測試文件的編寫

FPGA學習交流 ? 來源:互聯網 ? 作者:佚名 ? 2018-05-31 11:40 ? 次閱讀

之前有一篇文章介紹過仿真測試文件編寫的步驟:

1.給A模塊寫測試,其測試模塊的模塊名為A_tb,比如原模塊模塊名叫做led,測試模塊名就叫 led_tb;
2.復制A模塊的所有輸入輸出端口,也就是I/O聲明部分(input和output信號),注意這里不包括中間變量(reg型和wire型信號);將所有的input 改為 reg, output 改為 wire;
3.再把A模塊的端口定義部分復制過來,包括 模塊名到分號結束,進行模塊例化;
4.測試模塊的意義就是模擬輸入信號,來驗證原模塊的輸出信號是否符合代碼邏輯,所以在測試模塊里面需要寫一個initial塊模擬所有的輸入變量,進行賦值操作;
5.如果有時鐘,需要再產生一個時鐘信號;
6.最后添加時間標識。

這篇文章就詳細說一下怎么做,舉得例子是上一篇二選一數據選擇器的例子,大家可以動手做一做。

設計背景:

測試文件在我們的項目中格外的重要,比如我們要驗證你的模塊的正確性難道要不停的下板來驗證嗎,如果你的項目小還可以,如果編譯一下超過10分鐘了你難道不停的等待,修改中循壞下去嗎,所以如果我們可以設計出我們的測試文件,那么先驗證我們的系統,如果我們的邏輯都正確了,我們就可以下班來查看,如果還不正確那么我們就可以用quartus 中的工具signaltap來捕捉我們信號來驗證,這些都會在我們以后的文檔中給大家說明。

設計原理:

我們的設計就是一個簡單的2選一多路選擇器,我們通過給這個簡單的多路選擇器來寫測試文件,讓大家對測試有一個簡單的認識。

在架構中我們可以明白的看出我們設計的架構,我們的項目中有2個輸入數據data_1,data_2,一個輸入的選擇位select,還有一個輸出data_out。其實給這個架構寫測試也就是激勵,其實說白了就是給其寫輸入,當給其寫好輸入后,我們不就可以在仿真工具中驗證其邏輯關系了。

設計架構圖:

sel_1架構

image.png

總架構

image.png

設計代碼:

我們寫好的代碼如下,大家看下,然后我們給大家講解測試怎么寫

模塊

0modulesel_1(data_1,data_2,select,data_out);

1

2 inputdata_1,data_2; //數據輸入

3 inputselect; //選擇位

4

5 outputregdata_out; //數據的輸出

6

7 always@(*)

8 begin

9 if(select) //如果選擇位為高,輸出data_1

10 data_out =data_1;

11 else //如果選擇位為低,輸出data_2

12 data_out =data_2;

13 end

14

15endmodule

測試模塊

測試的簡單寫法,測試中模塊的輸入定義為寄存器reg型,輸出定義為wire型,然后加上我們的塊 initial ,再加上我們的例化,如下:

0`timescale1ns/1ps

1

2module塊名;

3

4 reg塊輸入;

5 wire塊輸出;

6

7 initialbegin

8

9

10

11

12 end

13

14 塊名 例化名(

15 .端口(端口),

16 .端口(端口),

17

18 );

19

20endmodule

在測試中我們也有許多的系統比如我們的系統任務$stop等,這些都屬于語法知識了,大家可以買一本適合的書來看看,我們為我們的設計寫好的激勵如下:

0`timescale1ns/1ps //這一行中1ns定義我們測試時的時間單位,后面的ps 是精度

1//前面的timescale英文也就是時間量程的意思

2

3modulesel_1_tb;//module 后面跟上我們測試名字,一般我們都寫成模塊名

4//加上_tb,如果我們對一個項目的多個模塊寫測試我們就能清楚的分清

5

6 regdata_1,data_2; //定義模塊的輸入輸出

7 regselect; //模塊中的輸入定義為寄存器

8

9 wiredata_out; //輸出定義為wire型也就是線型

10

11 initialbegin //initial 是一個串型執行的,在測試中被綜合,

12 //如果你寫到模塊中,可是會報錯的

13 data_1 =0; //然后我們就可以定義我們的端口,給我們的端口賦初值

14 data_2 =0;

15 select =0;

16

17 #200data_1 =1;data_2 =0;//延遲200ns給輸入賦值

18 #100select =1; //延遲200ns后給選擇位賦值

19 #100select =0; //延遲200ns后給選擇位賦值

20

21 #200data_1 =0;data_2 =1;

22 #100select =0;

23 #100select =1;

24

25 #300$stop; //$stop 系統任務,也就是停止的意思,這句 就是延遲 300ns后,仿真停止

26 end

27

28 sel_1 sel_1_dut( //模塊的例化,和端口的連接

29 .data_1(data_1),

30 .data_2(data_2),

31 .select(select),

32 .data_out(data_out)

33 );

34

35endmodule

在測試中如果我們用到時鐘了怎么辦,我們可以這樣寫,如下

0`timescale1ns/1ps

1

2module塊名;

3

4 reg塊輸入;

5 wire塊輸出;

6 regclk,rst_n;

7

8 initialbegin

9 clk =1;

10 rst_n =0;

11

12 #200.1rst_n =1;

13

14 end

15

16 always#10clk =~clk; //always 一直,這樣可以寫成一個 50M的時鐘

17 //說的是延遲10ns翻轉一次,也就是一 個周期20ns

18

19 塊名 例化名(

20 .端口(端口),

21 .端口(端口),

22

23 );

24

25endmodule

仿真圖:

image.png

在仿真中我們可以真實的看到,當數據data_1為1,data_2位0的時候,當選擇位select為0的時候,輸出data_out的值為0也就是data_2的值,當select為1的時候,data_out的值位1,也就是data_1的值,后面的仿真也一樣我們可以清楚的看到。

以上就是對于二選一數據選擇器的仿真測試文件的編寫細節,大家可以動手去做一做,加油,各位。

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

    關注

    1629

    文章

    21753

    瀏覽量

    604198
  • 仿真測試
    +關注

    關注

    0

    文章

    90

    瀏覽量

    11318
收藏 人收藏

    評論

    相關推薦

    FPGA學習】如何使用 ISE 編寫約束文件

    完成頂層模塊的實現并且仿真正確后,還需要編寫用戶約束文件,其中引腳約束文件是必不可少的,它將模塊的端口和 FPGA 的管腳對應起來。具體步驟
    發表于 09-29 09:18

    FPGA固件開發- 測試平臺的編寫

    上面介紹的是整個 FPGA 固件系統的實現方法,為了驗證設計的正確性,還需要編寫一個測試平臺對整個系統進行仿真。由于實際情況下 FPGA
    發表于 11-28 15:22

    【Runber FPGA開發板】配套視頻教程——Modelsim仿真&do文件編寫

    本帖最后由 蛙蛙蛙 于 2021-4-12 17:48 編輯 本視頻是Runber FPGA開發板的配套視頻課程,主要通過工程實例講解Modelsim仿真&do文件編寫,課程首先
    發表于 04-12 17:46

    今天分享fpga-測試文件

    今天給大家分享一下我們 測試文件系列教程內容包括:測試文件編寫技巧、
    發表于 01-15 15:46

    如何編寫dll文件

    如何編寫dll文件:可以用幾種語言來實現,如delphi編寫dll,pb編寫dll文件,java 編寫
    發表于 01-16 10:20 ?8881次閱讀

    編寫高效率的testbench

    編寫高效率的testbench,學習編寫測試文件的小伙伴們。
    發表于 05-11 16:40 ?16次下載

    如何使用QuartusⅡ軟件來編寫FPGA?

    本文主要詳細介紹了使用QuartusⅡ軟件來編寫FPGA的方法及步驟,另外還介紹了Quartus II仿真的入門詳細教程分享。
    的頭像 發表于 05-18 10:11 ?1.5w次閱讀

    FPGA學習合集教程之開發板數據手冊和三個仿真測試的視頻教程

    本文檔的主要內容詳細介紹的是FPGA學習合集教程之開發板數據手冊和三個仿真測試的視頻教程內容包括了:CPLD EPM240 EVB開發板數據手冊,六十進制BCD碼計數器設計
    發表于 12-27 08:00 ?29次下載

    在模塊化設計過程中編寫testbench并仿真的方法

    在開始設計前,根據設計劃分好各功能模塊(為了敘述方便,這里以對“FPGA數字信號處理(十三)鎖相環位同步技術的實現”中設計的系統仿真為例)。編寫好第一個子模塊(本例中為雙相時鐘生成模塊),在Vivado中添加
    的頭像 發表于 11-20 11:29 ?3960次閱讀

    芯片延遲Delay測試學習課件PDF文件免費下載

    芯片延遲Delay測試學習課件PDF文件免費下載包括了:? 為什么需要Delay測試 ? Delay產生原因和缺陷機制 ? Delay故障建模 ? Delay故障
    發表于 12-01 08:00 ?4次下載
    芯片延遲Delay<b class='flag-5'>測試</b>的<b class='flag-5'>學習</b>課件PDF<b class='flag-5'>文件</b>免費下載

    FPGA仿真學習課件和工程文件免費下載

    本文檔的主要內容詳細介紹的是FPGA仿真學習課件和工程文件免費下載包括了:1、testbench編寫,2、
    發表于 12-10 15:28 ?30次下載

    FPGA測試文件編寫中的激勵仿真

    大家好,又到了每日學習的時間了,今天我們來聊一聊FPGA測試文件編寫的相關知識,聊一聊激勵仿真
    的頭像 發表于 04-02 18:27 ?6547次閱讀

    fpga仿真文件怎么寫

    首先,你需要選擇一個FPGA仿真軟件,如ModelSim、Vivado、Quartus II等。這些軟件都提供了強大的仿真功能,可以幫助你驗證FPGA設計的正確性。
    的頭像 發表于 03-15 14:00 ?834次閱讀

    FPGA入門必備:Testbench仿真文件編寫實例詳解

    編寫完HDL代碼后,往往需要通過仿真軟件Modelsim或者Vivadao自帶的仿真功能對HDL代碼功能進行驗證,此時我們需要編寫Testbench
    發表于 04-29 10:43 ?2139次閱讀

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog設計的仿真需求。 編寫測試文件編寫Verilog測試
    的頭像 發表于 12-17 09:50 ?287次閱讀
    主站蜘蛛池模板: 青青青伊人| 名女躁b久久天天躁| 99视频精品免视3| 在线亚洲中文字幕36页| 亚洲mv在线观看| 乡村教师电影完整版在线观看| 日本一卡精品视频免费| 日本19xxxx撤尿| 青青视频 在线 在线播放| 欧美性爱-第1页| 日本黄色成年人免费观看| 日本二区三区欧美亚洲国| 青青草原伊人| 日韩a在线看免费观看视频| 任你懆视频 这里只有精品| 日本一卡二卡三卡四卡无卡免费播放 | 亚洲国产精品综合久久一线| 晓雪老师我要进你里面好爽| 小雪奶水涨翁工帮吸的推荐语录| 无码中文字幕av免费放| 小776 论坛| 亚洲日本香蕉视频观看视频| 一级特黄视频| 18美女腿打开无遮软件| A级超碰视频在线观看| 草莓视频在线播放视频| 国产AV一区二区三区日韩| 国产人妻久久久精品麻豆| 国产在线精品一区二区在线看| 狠狠色狠色综合曰曰| 久久精品亚洲视频| 男人被绑着强行摸j| 日本zljzljzlj精品| 香港日本三级亚洲三级| 亚洲日本香蕉视频观看视频| 在线观看日本免费| gogogo高清在线观看| 国产不卡视频在线| 黑色丝袜美女被网站| 麻豆国产96在线日韩麻豆| 强开少妇嫩苞又嫩又紧九色|