那曲檬骨新材料有限公司

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

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

3天內不再提示

verilog系統函數

XL FPGA技術交流 ? 來源:XL FPGA技術交流 ? 作者:XL FPGA技術交流 ? 2024-07-05 11:48 ? 次閱讀

1、$fwrite 向文件寫入數據

$fdisplay


格式:$fwrite(fid,"%h%hn",dout_r1,dout_r2);

(1)fwrite是需要觸發條件的,需要手動添加換行。

(2)如果寫放文件的格式為%d,則認為是無符號數,如下例: wire [27:0] data; fp_re = $fopen("dout.txt","w"); always @(posedge clk) begin if(dout_rdy == 1'b1) $fwrite(fileid,"%d",data); end

如果要輸出有符號數據,需要將信號定義為有符號數。

eg:wire signed [27:0] data;

(3)輸出頂層文件中例化的信號(或下一級例化的文件的信號)

eg:$fwrite(file_id,"%d%12dn",u_coef_update.ekxdn_i,

u_coef_update.u_mult.mult_out);

在文件coef_update中定義的信號或REG ekxdn_i,如果要輸出有符號數,

要在coef_update中把ekxdn_i定義為signed;

在文件coef_update文件中例化文件u_mult,輸出相應的信號mult_out. 2、$fscanf 從文件中讀取數據 (1)讀取格式為按行讀取,一行讀完之后再轉向下一行; (2)讀取也是需要觸發條件的; always @ ( posedge clk ) begin if(cnt_test == 3'd7) begin $fscanf(coef_file,"%d%d%d%d",coef01_i,coef01_q,coef02_i,coef02_q); $fscanf(ref_file,"%d%d%d%d",ref01_i,ref01_q,ref02_i,ref02_q); end end 3、$fopen 打開文件 (1) 在讀寫文件之前,一定要用fopen打開文件 (2)讀寫路徑的設置 file_id = $fopen("F:/modelsim/coef.txt"),注意這里的斜杠方向。

4、$random

random_function ::= $random [ ( seed ) ]

$random產生一個32位的有符號數,seed可以是reg,integer,time類型

Example 1—Where b is greater than 0, the expression ($random % b) gives a number in the following range: [(-b+1): (b-1)].

產生–59 到59的數: reg [23:0] rand; rand = $random % 60; Example 2—用連接符產生0 to 59: reg [23:0] rand; rand = {$random} % 60;

=====================================

操作實例:

=====================================

integer step_file; //文件要定義成integer

         //open the fileInitialBeginstep_file = $fopen("F:/Company/Src/txt/step.v","r");      file_ekxdn =$fopen("F:/Company/Src/txt/ekxdn.v","w");end always #5 clk = !clk;    //read data from file

   always @ ( posedge clk )//read from the file   begin      if( cnt_test[2:0] == 0 )               $fscanf(step_file,"%d%d",ref01_i,ref01_q);
    end

    //write data to file    wire signed[24:0]  ekxdn_i,ekxdn_q;    always @( posedge clk )    begin      if( cnt_test[2:0] == 3'b111 )   $fwrite(nx_coef_file,"%d%12dn",nx01_coef_i,nx01_coef_q);end

讀寫文件的數據格式如下:

75c7c9ca-3a67-11ef-82a0-92fbcf53809c.jpg? ? ? ? ? ? ? ? ? ? ?

以下點要注意:

1、可能由于加密的原因,讀不了txt文件,只能讀。V的了

2、打開文件的$fopen語句必須放在initial 中才可以

3、必須注意路徑中斜杠的方向“/”

4、相對路徑的設置(請參考積累中的“相對路徑與絕對路徑”)

5、如果讀入的是有符號數,那么要把數據的類型定義為signed

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

    關注

    28

    文章

    1351

    瀏覽量

    110397
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62977
收藏 人收藏

    評論

    相關推薦

    22 15C 基于Verilog系統函數語法的按鍵抖動模擬與仿真 - 第1節 #硬聲創作季

    fpga編程定時器函數代碼HT6221
    充八萬
    發布于 :2023年08月18日 23:44:37

    22 15C 基于Verilog系統函數語法的按鍵抖動模擬與仿真 - 第2節

    fpga編程定時器函數代碼HT6221
    充八萬
    發布于 :2023年08月18日 23:45:27

    22 15C 基于Verilog系統函數語法的按鍵抖動模擬與仿真 - 第3節 #硬聲創作季

    fpga編程定時器函數代碼HT6221
    充八萬
    發布于 :2023年08月18日 23:46:17

    22 15C 基于Verilog系統函數語法的按鍵抖動模擬與仿真 - 第4節 #硬聲創作季

    fpga編程定時器函數代碼HT6221
    充八萬
    發布于 :2023年08月18日 23:47:07

    22 15C 基于Verilog系統函數語法的按鍵抖動模擬與仿真 - 第5節 #硬聲創作季

    fpga編程定時器函數代碼HT6221
    充八萬
    發布于 :2023年08月18日 23:47:57

    verilog常用系統函數以及例子

    verilog常用系統函數以及例子
    發表于 08-15 15:49

    Verilog的打印系統函數有哪幾類? 在使用Verilog時有哪些注意事項?

    Verilog的打印系統函數有哪幾類?在使用Verilog時有哪些注意事項?
    發表于 04-30 06:30

    Verilog HDL語言中任務與函數的比較

    其中,返回值的類型和位寬是可選項,如果缺省會返回一位寄存器類型數據。Verilog HDL認為函數的定義隱式地聲明了與函數同名的寄存器。函數的定義把
    的頭像 發表于 07-02 10:24 ?2391次閱讀

    剖析verilog2005的騷操作之對數函數

    小技巧分享: verilog下取對數其實可用$clog2這個系統函數,和自己找代碼里面寫入function是同樣的效果,但是方便的多。這是verilog 2005就開始支持的標準,所以
    的頭像 發表于 10-09 15:29 ?4491次閱讀
    剖析<b class='flag-5'>verilog</b>2005的騷操作之對數<b class='flag-5'>函數</b>

    Verilog數字系統設計——任務和函數二(系統任務readmemb或readmemh)

    Verilog數字系統設計十任務和函數實驗2文章目錄Verilog數字系統設計十前言一、Verilog
    發表于 12-05 19:06 ?7次下載
    <b class='flag-5'>Verilog</b>數字<b class='flag-5'>系統</b>設計——任務和<b class='flag-5'>函數</b>二(<b class='flag-5'>系統</b>任務readmemb或readmemh)

    Verilog系統函數和邊沿檢測

    “ 本文主要分享了在Verilog設計過程中一些經驗與知識點,主要包括Verilog仿真時常用的系統任務、雙向端口的使用(inout)、邊沿檢測”
    的頭像 發表于 03-15 13:34 ?2416次閱讀

    verilog函數和任務對比

    verilog中,函數和任務均用來描述共同的代碼段,并且在模式內任意位置被調用,提高代碼效率,讓代碼更加的直觀,提高代碼可讀性。但是在實際使用的過程中,函數和任務也存在諸多的不同,下面將對而這進行
    的頭像 發表于 02-12 18:43 ?925次閱讀

    verilog function函數的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數字電子電路的行為和結構。在 Verilog 中,函數 (Function) 是一種用于執行特定任務并返回一個值的可重用代碼塊。函數
    的頭像 發表于 02-22 15:49 ?6054次閱讀
    百家乐官网几点不用补| 7人百家乐官网桌布| 永利高百家乐官网信誉| 美国百家乐官网怎么玩| 百家乐官网发牌靴遥控| 阳宅64卦与24山| 百家乐程序软件| 海立方百家乐客户端| 百家乐博娱乐场开户注册| 全讯网官网| 潼南县| 百家乐官网闲9点| 百家乐代打公司| 哪个百家乐技巧平台信誉好| 威尼斯人娱乐城安全吗| 皇冠网新2| 澳门百家乐官网有没有假| 百家乐全讯网2| 百家乐园百乐彩| 星期8百家乐娱乐城| 武隆县| 英皇百家乐官网的玩法技巧和规则| 真人百家乐赢钱| 棋牌游戏开发公司| 百家乐官网博彩平台| 百家乐游戏机说明书| 大发888真钱娱乐游戏博彩| 百家乐官网玩法开户彩公司| 百家乐真钱电玩| 百家乐平注常赢玩法更| 网上赌钱| 百家乐官网微笑打| 威尼斯人娱乐城首选d77com | 百家乐官网投注很不错| 永利高百家乐网址| 大发888娱乐场下载地址| 上海玩百家乐官网算不算违法 | 棋牌室赚钱吗| 百家乐官网薯片| 百家乐的薇笑打法| 真人百家乐官网打法|