
Verilog读取bmp图片
发布日期:2021-05-08 09:39:59
浏览次数:25
分类:精选文章
本文共 2534 字,大约阅读时间需要 8 分钟。
???????????Verilog???????????????????????BMP??????????????????????????????????
???????BMP?????????Verilog?????
timescale 1ns / 1nsmodule bmp_tb; integer iBmpFileId, iOutFileId, iIndex = 0, iCode; reg [7:0] rBmpData [0:200000]; reg rClk; reg [7:0] rData; integer iBmpWidth, iBmpHeight, iDataStartIndex, iBmpSize; initial begin iBmpFileId = $fopen("G:\\WorkDir\\ProQuestaSim\\bmp_sim\\src\\cat.bmp", "rb"); iOutFileId = $fopen("G:\\WorkDir\\ProQuestaSim\\bmp_sim\\src\\output_file.txt", "w+"); iCode = $fread(rBmpData, iBmpFileId); iBmpWidth = {rBmpData[21], rBmpData[20], rBmpData[19], rBmpData[18]}; iBmpHeight = {rBmpData[25], rBmpData[24], rBmpData[23], rBmpData[22]}; iDataStartIndex = {rBmpData[13], rBmpData[12], rBmpData[11], rBmpData[10]}; iBmpSize = {rBmpData[5], rBmpData[4], rBmpData[3], rBmpData[2]}; $fclose(iBmpFileId); $fwrite(iOutFileId, "%p", rBmpData); $fclose(iOutFileId); end initial begin forever begin rClk = 1; #10 rClk = 0; #10; end end always @ (posedge rClk) begin rData <= rBmpData[iIndex]; iIndex <= iIndex + 1; endendmodule
?????????????????????????
??????????Verilog??????BMP??????????????????????????BMP????????????
timescale 1ns / 1nsmodule bmp_tb; integer iBmpFileId, iOutFileId, iIndex = 0, iCode; reg [7:0] rBmpData [0:200000]; reg [31:0] rBmpCom; reg rClk; reg [7:0] rData; integer iBmpWidth, iBmpHeight, iDataStartIndex, iBmpSize; initial begin iBmpFileId = $fopen("G:\\WorkDir\\ProQuestaSim\\bmp_sim\\src\\cat.bmp", "rb+"); iOutFileId = $fopen("G:\\WorkDir\\ProQuestaSim\\bmp_sim\\src\\output_file.bmp", "wb+"); iCode = $fread(rBmpData, iBmpFileId); iBmpWidth = {rBmpData[21], rBmpData[20], rBmpData[19], rBmpData[18]}; iBmpHeight = {rBmpData[25], rBmpData[24], rBmpData[23], rBmpData[22]}; iDataStartIndex = {rBmpData[13], rBmpData[12], rBmpData[11], rBmpData[10]}; iBmpSize = {rBmpData[5], rBmpData[4], rBmpData[3], rBmpData[2]}; $fclose(iBmpFileId); for (iIndex = 0; iIndex < iBmpSize; iIndex = iIndex + 4) begin rBmpCom = {rBmpData[iIndex + 3], rBmpData[iIndex + 2], rBmpData[iIndex + 1], rBmpData[iIndex]}; $fwrite(iOutFileId, "%u", rBmpCom); end $fclose(iOutFileId); endendmodule
?????????????BMP??????????????0A????0D????????????????????????????????"wb+"
??????"wb"
???
???????????????????????????????????
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月05日 04时57分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux —— 生产者消费者模型
2023-02-01
Linux —— 线程
2023-02-01
Linux —— 线程互斥
2023-02-01
Linux —— 线程同步
2023-02-01
Linux —— 线程控制
2023-02-01
Linux 上 CPU 信息怎么获取?这6条命令不能忘记!
2023-02-01
Linux 上 Python 中的环境变量
2023-02-01
Linux 上传下载 rz 与sz
2023-02-01
linux 上传下载文件命令
2023-02-01
linux 上删除docker 虚悬镜像
2023-02-01
linux 上定时任务执行shell脚本
2023-02-01
Linux 上查看和刷新 DNS 缓存
2023-02-01
Linux 上的 dig 和 nslookup 命令
2023-02-01
linux 下 php 安装 libevent
2023-02-01
Linux 下 `/etc/limits.conf` 文件中的配置详解:`* soft nofile 65535` 和 `* hard nofile 65535` 以及 `* soft nproc
2023-02-01
Linux 下DNS详解
2023-02-01
Linux 下MySQL数据库配置远程访问
2023-02-01
Linux 下PHP扩展开发系列:二. 一个典型的扩展开发
2023-02-01