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

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

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

3天內不再提示

Testbench編寫文件的讀寫操作

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2020-11-20 11:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Testbench編寫指南(2)文件的讀寫操作

讀取txt文件數據

將數據寫入txt文件

第2篇的題材是文件的讀寫控制,仿真時經常需要從文件中讀取測試激勵,還要將仿真結果存取在文件中供其它程序讀取調用。

讀取txt文件數據

示例代碼如下:

integer i; //數組坐標 reg [9:0] stimulus[1:data_num]; //數組形式存儲讀出的數據 initial begin $readmemb("SinIn.txt", stimulus); //將txt文件中的數據存儲在數組中 i = 0; repeat(data_num) begin //重復讀取數組中的數據 i = i + 1; din = stimulus[i]; #clk_period; //每個時鐘讀取一次 end end

用“數組”來表述Verilog HDL中的定義并不準確,但對大多數人來說應該更好理解。可以將stimulus視作一個存儲器,[9:0]定義了數據的位寬,[1:data_num]定義了存儲器的深度。stimulus的定義應該與txt文件中的數據相匹配。txt文件中每行存儲一個數據,則上述定義對應的是txt中存儲了data_num個數據,每個數據的最大位寬為10bit。
??讀取二進制格式的文件是用系統任務readmemb;讀取十六進制格式文件使用readmemb;讀取十六進制格式文件使用readmemh。其命令為$readmemb(“filename”, mem_name),將filename中的內容讀取到mem_name中。
??注意filename文件路徑中應該用反斜杠“/”,與windows系統中的文件路徑使用的“”不同。如果不指定路徑,向上面程序一樣直接寫文件名字,那么該文件必須和testbench文件在同一路徑下。
??repeat(n) begin … end中的內容應該根據設計的需要編寫。

將數據寫入txt文件

示例代碼如下:

integer file_out; initial begin file_out = $fopen("mixer_out.txt"); if (!file_out) begin $display("can't open file"); $finish; end end wire signed [19:0] dout_s = dout; wire rst_write = clk & rst_n; //復位期間不應寫入數據 always @ (posedge rst_write) $fdisplay(file_out, "%d", dout_s);

寫入文件需要先用$fopen系統任務打開文件,這個系統任務在打開文件的同時會清空文件,并返回一個句柄,如果句柄為0則表示打開文件失敗。
??如果原來不存在該文件,則會自動創建該文件。
??打開文件之后便可以用得到的句柄和KaTeX parse error: Expected 'EOF', got '&' at position 55: …printf函數的用法很像。

上面的程…fdisplay`,都會在數據后插入一個換行符。

責任編輯:lq

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

    關注

    39

    文章

    7739

    瀏覽量

    171686
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67524
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    27369

原文標題:Testbench編寫指南(2)文件的讀寫操作

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    飛凌嵌入式ElfBoard-文件I/O的了解探究之Linux系統的文件管理機制

    讀寫操作,都是對內存中這一份動態文件進行相關操作,并不是對磁盤中存放的靜態文件操作。當對動態
    發表于 11-18 08:50

    在verilog testbench中運行測試用例時,運行到make run_test出錯怎么解決?

    按照胡老師書上的在verilog testbench中運行測試用例時,在運行到make run_test步驟時出錯,查了很多方案沒有解決。
    發表于 11-11 06:52

    求助,關于testbench仿真的問題求解

    我用c 寫了一段加密算法,其中包含了S盒替換表和密鑰等參數,現在想用vcs和testbench仿真這個程序,c 編譯成機器碼后怎么區分哪段數據是寫入ITCM哪段是寫入DTCM的,又應該怎么寫入DTCM
    發表于 11-05 08:56

    語法糾錯和testbench的自動生成

    編寫Verilog代碼時,我一般都是先在編輯器上寫完,因為編輯器vscode或者notepad++可以提供語法高亮和自動補全等功能,然后用仿真器跑仿真,但是在編寫過程中不可避免的會有一些語法的錯誤
    發表于 10-27 07:07

    如何利用Verilog HDL在FPGA上實現SRAM的讀寫測試

    、建立讀寫操作、配置地址計數器、模擬數據流、綜合與仿真以及下載到FPGA進行硬件測試。通過實踐,掌握SRAM在FPGA中的使用和基本讀寫方法,加深對FPGA工作原理的理解。
    的頭像 發表于 10-22 17:21 ?4349次閱讀
    如何利用Verilog HDL在FPGA上實現SRAM的<b class='flag-5'>讀寫</b>測試

    飛凌嵌入式ElfBoard-Linux系統基礎入門-文件操作相關shell命令

    2.5 文件操作相關命令2.5.1 touch創建新文件命令:touch英文全拼:功能:創建大小為0的一個空文件參數:touch 文件名示例
    發表于 09-30 09:46

    雙UFS4.1 4Lane,速度可達8.6GB/s,大型文件讀寫速率提升達70%+

    /s。vivo從以往的1個UFS4.1雙通道讀寫升級為2個UFS 4.1四通道并行協作,真正的雙UFS4.1 4-Lane,大型文件讀寫速率提升達到70%+,最高讀寫速度可達到驚人的8
    的頭像 發表于 09-26 07:32 ?6395次閱讀

    求助各位大佬,關于如何讀寫編碼格式為UTF-16LE的配置文件

    如題,小白求助各位大佬,要怎么實現對編碼為UTF-16LE的配置文件讀寫。 使用讀配置文件的vi讀不出內容。 使用讀文本的方式寫入異常,文件的編碼變成UTF-8且內容也不對。
    發表于 09-14 12:54

    SFUD操作w25q256,無法正常讀寫是什么原因導致的?

    SFUD操作w25q256,無法正常讀寫,但是若用裸機對W25Q256執行一次寫入后就能正常操作了,這個是什么原因呢?使用的是QSPI操作 這個是上電后的記錄圖片 執行sf
    發表于 09-11 06:45

    ESP32驅動SPIFFS進行文件操作

    本篇文章介紹如何在ESP32開發板上使用SPIFFS(SPI Flash File System)進行文件操作。看下如何初始化SPIFFS文件系統、讀取文件、列出
    的頭像 發表于 08-05 18:11 ?4269次閱讀
    ESP32驅動SPIFFS進行<b class='flag-5'>文件</b><b class='flag-5'>操作</b>

    SI522/RC522讀卡器如何讀寫操作ST25TA64K NFC卡?

    -防沖撞-選卡-密鑰對比-讀寫操作 而查看ST25TA手冊后,總結為以下流程: 尋卡喚醒-防沖撞-打開RF會話-發送SelectNDEFTagApplication指令-選擇檢測文件-讀寫
    發表于 07-28 14:16

    RTOS SDK的canmv_net_mgmt網絡模塊如何編寫連接代碼?

    從最近源碼更新了一次后,以前的可執行文件使用出錯了,請問有沒有大哥知道新一版源碼怎么編寫代碼進行操作網絡模塊canmv_net_mgmt。 或者是操作canmv_net_mgmt的頭
    發表于 07-25 08:14

    第二十五章 SDIO——SD卡讀寫測試

    本章介紹了W55MH32的SDIO接口,其可與SD 卡等通信,采用9針接口,分卡識別與數據傳輸模式。還提及SDIO功能框圖、初始化結構體,并有SD卡讀寫測試代碼,涉及文件系統等操作
    的頭像 發表于 06-20 14:01 ?2000次閱讀
    第二十五章 SDIO——SD卡<b class='flag-5'>讀寫</b>測試

    基于RK3576開發板的INI文件操作

    KeyName=value,以等號“=”分隔。INI文件注釋以分號“;”表示,在分號后面的文字直到該行結尾全部作為注解。例程如下所示,注意value值只有int型和string型。EASY-EAI提供INI文件操作步驟及API說
    的頭像 發表于 05-12 14:47 ?1573次閱讀
    基于RK3576開發板的INI<b class='flag-5'>文件</b><b class='flag-5'>操作</b>

    testbench中如何使用阻塞賦值和非阻塞賦值

    本文詳細闡述了在一個testbench中,應該如何使用阻塞賦值與非阻塞賦值。首先說結論,建議在testbench中,對時鐘信號(包括分頻時鐘)使用阻塞賦值,對其他同步信號使用非阻塞賦值。
    的頭像 發表于 04-15 09:34 ?1215次閱讀
    在<b class='flag-5'>testbench</b>中如何使用阻塞賦值和非阻塞賦值