免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Verilog图像翻转源代码组内成员邹述铭 3014204055李林楠 3014204035丁皓南 3014204031买地努尔3014204040一、将BMP图片转化为二进制数据,存入TXTtimescale 1ns/100psmodule Pic;parameter size=65554; /定义memory存储器大小,前18个存BMP文件信息头,后65536个存数据reg23:0 ramsize-1:0,headdata,data; /单个寄存器24位(包括红绿蓝3个字节(一个字节8位)的颜色) 共65536=256*256个像素点reg clk; /定义时钟integer file_id,txt_id; /定义BMP图片和txt文本的整型句柄integer m,i,j,x;initialbeginfile_id=$fopen(C:/Users/HP/Desktop/Pic.bmp,rb); /以二进制方式读取图片,将句柄存入file_id$fread(ram,file_id); /存图片的二进制数据到ram存储器中(ram中的每个单元24位)$fclose(file_id);endinitial /为整型变量赋初值beginclk=0;i=0;j=0;x=0;endalways#5 clk=clk; /定义时钟信号周期为10nsinitialbegintxt_id=$fopen(C:/Users/HP/Desktop/Pic_bin.txt); /打开建立的空白txt文档,用来存储图片的十六进制数据for(m=0;m=17;m=m+1)beginheaddata=ramm; /把ram中的二进制数据按顺序存入信息头寄存器headdata(17*24个位)中$fwrite(txt_id,%b,headdata); /把每个ram中的值转换为二进制endendalways (posedge clk) /在每个clk时钟上升沿,输入单行像素的信息if(i=255)/按行 顺序读取单个像素信息(一行256个像素)beginfor(j=0;j=255;j=j+1) /使用for循环顺序输入单个像素(24位)的信息,至data寄存器beginx=18+256*i+j;data=ramx;$fwrite(txt_id,%b,data); /将data寄存器中的数据以二进制方式存入Pic_hex.txt文本endi=i+1;/每输入完一行后,行数自加一,进行下一行的数据输入endelse/待行数大于256时,跳出循环$fclose(txt_id);endmodule二、VERILOG图像旋转timescale 1ns/100psmodule Pic_Turn;parameter size=65554;reg23:0 ram_turnsize-1:0,datamove,headdata; /datamove用于替换位图单像素数据,headdata用于替换信息头数据 reg clk; /定义clk为时钟信号integer txtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways #5 clk=clk; /设置clk时钟频率initialbegintxtid1=$fopen(C:/Users/HP/Desktop/Pic_bin.txt,rb); $fread(ram_turn,txtid1);$fclose(txtid1);txtid=$fopen(C:/Users/HP/Desktop/Pic_turn.txt);for(p=0;p=17;p=p+1)beginheaddata=ram_turnp;$fwrite(txtid,%b,headdata);/将信息头数据以十六进制输入至txt文件endendalways (posedge clk) /在每个clk上升沿时,输入单个像素的信息(256位)if(i=255)beginfor(j=0;j=255;j=j+1)beginn=18+256*j+255-i;datamove=ram_turnn;$fwrite(txtid,%b,datamove);endi=i+1;endelse$fclose(txtid);endmodule三、旋转后的数据文件处理成BMP位图将位图旋转后的数据转成十六进制,程序如下:timescale 1ns/100psmodule Pic_Turn;parameter size=65554;reg23:0 ram_turnsize-1:0,datamove,headdata; /datamove用于替换位图单像素数据,headdata用于替换信息头数据 reg clk; /定义clk为时钟信号integer txtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways #5 clk=clk; /设置clk时钟频率initialbegintxtid1=$fopen(C:/Users/HP/Desktop/Pic_bin.txt,rb); $fread(ram_turn,txtid1);$fclose(txtid1);txtid=$fopen(C:/Users/HP/Desktop/Pic_turn.txt);for(p=0;p=17;p=p+1)beginheaddata=ram_turnp;$fwrite(txtid,%h,headdata);/将信息头数据以十六进制输入至txt文件endendalways (posedge clk) /在每个clk上升沿时,输入单个像素的信息(256位)if(i=255)beginfo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公园指示牌清洁合同协议
- 风光储充用一体化项目技术方案
- 商品铺租赁合同范本
- 商场广告位合同协议
- 商用混凝土合同范本
- 商铺的出租合同协议
- 回收车签协议签合同
- 园区ppp合同范本
- 园林大理石合同范本
- 2025年无人机航拍服务合同协议
- 敬畏生命安全班会课件
- 完整版国企钢结构施工工艺指导手册
- 2025年甘肃省白银市靖远县石门乡人民政府选聘专业化管理村文书考试笔试备考题库及答案解析
- 2025云南山水物业服务有限公司招聘(6人)笔试考试参考试题及答案解析
- 十五五规划建议专题测试及答案二
- 责任胜于能力培训课
- 2025年大学《马克思主义理论-马克思主义中国化研究》考试参考题库及答案解析
- (通讯维修工)理论知识考试题库
- 2025至2030中国大豆浓缩蛋白行业市场深度研究与战略咨询分析报告
- 码头雷电应急预案
- 《对世界的不断探索》教案
评论
0/150
提交评论