日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Verilog读写文件

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Verilog读写文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在通過編寫Verilog代碼實現ram功能時,需要自己先計算寄存器的位數和深度再編寫代碼。

而如果需要在編寫的ram中預置值的話,就需要使用Verilog語言編寫程序讀寫文件,來將相應的數據賦給寄存器。

這里給出Verilog實現ram的代碼:

module dpram(rclk,raddr,dout,wclk,we,waddr,din);parameter aw = 16; //address widtthparameter dw = 12; //data addressinput rclk; //read clockinput [aw-1:0] raddr; //read addressoutput [dw-1:0] dout; //data outputinput wclk; //write clockinput we; //write enableinput [aw-1:0] waddr; //write addressinput [dw-1:0] din; //data inputreg [dw-1:0] mem[(1<<aw)-1:0]; //block-ramreg [aw-1:0] ra; //register read addressalways @(posedge rclk)beginra <= #1 raddr;endassign dout = mem[ra];always @(posedge wclk)beginif(we)mem[waddr] <= #1 din;end//讀取mem文件存取程序中的mem寄存器initial $readmemh("bmp_64K.mem",mem);endmodule

下面的程序定義了ram中寄存器的位數和深度,決定了ram的大小:

reg [dw-1:0] mem[(1<<aw)-1:0]; //block-ram

整段程序不是很復雜,其他部分主要是用于實現ram的讀寫控制功能,這里不做贅述。

Verilog實現讀寫文件功能的部分代碼如下:

//讀取mem文件存取程序中的mem寄存器initial $readmemh("bmp_64K.mem",mem);

這段程序的功能是從文件名是“bmp_64K.mem”的文件中讀取其中的數據并置入前面定義的mem寄存器,即將數據置入ram中。

$readmemh("file_name.xxx",data)

就是將file_name.xxx中的數據讀入到data數組中。

使用格式有6種:

$readmemb("<數據文件名>",<存貯器名>); $readmemb("<數據文件名>",<存貯器名>,<起始地址>); $readmemb("<數據文件名>",<存貯器名>,<起始地址>,<結束地址>); $readmemh("<數據文件名>",<存貯器名>); $readmemh("<數據文件名>",<存貯器名>,<起始地址>); $readmemh("<數據文件名>",<存貯器名>,<起始地址>,<結束地址>); $readmemb要求數據格式必須是二進制形式,$readmemh則要求數據格式必須是16進制格式。

下面一些用法格式:(摘自https://wenku.baidu.com/view/81075c1f964bcf84b9d57b57.html)

1,打開文件

integer file_id; file_id = fopen("file_path/file_name");

2,寫入文件

//$fmonitor只要有變化就一直記錄 $fmonitor(file_id, "%format_char", parameter); eg:$fmonitor(file_id, "%m: %t in1=%d o1=%h", $time, in1, o1); //$fwrite需要觸發條件才記錄 $fwrite(file_id, "%format_char", parameter); //$fdisplay需要觸發條件才記錄 $fdisplay(file_id, "%format_char", parameter); $fstrobe();

3,讀取文件

integer file_id; file_id = $fread("file_path/file_name", "r");

4,關閉文件

$fclose(fjile_id);

5,由文件設定存儲器初值

$readmemh("file_name", memory_name"); //初始化數據為十六進制 $readmemb("file_name", memory_name"); //初始化數據為二進制

總結

以上是生活随笔為你收集整理的Verilog读写文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国内外免费激情视频 | 国内自拍第一页 | 欧美激情亚洲综合 | 男女无遮挡网站 | 刘亦菲久久免费一区二区 | 亚洲国产精品天堂 | 人人看人人草 | 国产精品999视频 | 亚洲网站在线观看 | 亚洲日本色图 | 奇米色综合 | av不卡免费在线观看 | 丝袜熟女一区二区三区 | 日本做爰高潮又黄又爽 | 亚洲国产欧美一区 | 欧美成人精品一区二区三区在线看 | 亚洲AV无码精品一区二区三区 | 激情啪啪网 | 日韩在线视频你懂的 | 国产suv精品一区二区883 | 亚洲免费在线视频观看 | 日本四级电影 | 婷婷久久丁香 | 午夜av网站| wwwxxx日本人| 国产国语亲子伦亲子 | 91一区二区 | 亚洲一区在线免费观看 | 美女狠狠干| www成人在线观看 | 天天躁日日躁bbbbb | 性xxx法国hd极品 | 亚洲免费综合 | 嫩草一区二区 | 免费不卡视频 | 欧美三日本三级少妇99 | 老色驴综合网 | 极品尤物在线观看 | 在线免费观看国产视频 | 嫩模一区二区三区 | 91欧美激情一区二区三区 | 99爱精品视频 | 欧美在线观看一区二区三区 | 日韩欧美精品一区二区 | 国产91美女视频 | 中文久久字幕 | 国产精品久久久久影院 | 欧美两根一起进3p做受视频 | 色秀视频网 | 日韩中文字幕在线观看 | 超级变态重口av番号 | 欧美日韩五月天 | 深夜成人在线 | 欧美夜夜骑| 四虎精品久久 | 67194国产 | 在线精品一区二区三区 | 亚洲熟妇无码乱子av电影 | 3d动漫精品h区xxxxx区 | 久久国产精品久久国产精品 | 天天操天天操天天 | 黑人vs亚洲人在线播放 | 免费看的黄网站 | 久久亚洲一区二区三区四区五区 | 日日摸天天添天天添破 | 日韩天堂在线观看 | 天天射天天干天天舔 | 一区二区三区在线观看视频 | 西西人体www大胆高清 | 诱惑の诱惑筱田优在线播放 | 在线观看黄色av | 好男人www社区 | 亚洲综合影视 | 91爱爱视频 | 日本精品视频网站 | 国产交换配乱淫视频免费 | 亚洲视频五区 | 91精品国产电影 | 国产三级在线观看 | 91.xxx.高清在线 | 成年人免费小视频 | 国产一区二区三区高清视频 | 久久久久久蜜桃 | 美女高潮黄又色高清视频免费 | 色网址在线观看 | 国产ts在线 | 亚洲第十页 | 久久精品国产熟女亚洲AV麻豆 | 熟妇人妻久久中文字幕 | 国产免费一区二区三区最新不卡 | 91激情在线观看 | 日韩av不卡一区二区 | 欧美人妻精品一区二区免费看 | 久热这里只有精品6 | 免费视频久久 | 中文字幕精品视频 | 91国视频| 欧美精品网站 | 4虎tv|