




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Verilog图像翻转源代码组内成员邹述铭3014204055李林楠3014204035丁皓南3014204031买地努尔3014204040一、将BMP图片转化为二进制数据,存入TXTtimescale1ns/100psmodulePic;parametersize=65554;个存数据定义memory存储器大小,前18个存BMP文件信息头,后65536reg23:0ramsize-1:0,headdata,data;/单个寄存器24位(包括红绿蓝3个字节(一个字节8位)的颜色)65536=256*256个像素点regclk;/定义时钟integerfile_id,txt_id;/定义BMP
2、图片和txt文本的整型句柄integerm,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#5clk=clk;/定义时钟信号周期为10nsinitialbegintxt_id=$fopen(C:/Users/HP/Desktop
3、/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(posedgeclk)/在每个clk时钟上升沿,输入单行像素的信息if(i=255)/按行顺序读取单个像素信息(一行256个像素)beginfor(j=0;j=255;j=j+1)/使用for循环顺序输入单个像素(24位)的信息,至data寄存器
4、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图像旋转timescale1ns/100psmodulePic_Turn;parametersize=65554;reg23:0ram_turnsize-1:0,datamove,headdata;/datamove用于替换位图单像素数据,head
5、data用于替换信息头数据regclk;/定义clk为时钟信号integertxtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways#5clk=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=
6、ram_turnp;$fwrite(txtid,%b,headdata);/将信息头数据以十六进制输入至txt文件endendalways(posedgeclk)/在每个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位图将位图旋转后的数据转成十六进制,程序如下:timescale1n
7、s/100psmodulePic_Turn;parametersize=65554;reg23:0ram_turnsize-1:0,datamove,headdata;/datamove用于替换位图单像素数据,headdata用于替换信息头数据regclk;定义clk为时钟信号integertxtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways#5clk=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(posedgeclk)/在每个clk上升沿时,输入单个像素的信息(256位)if(i=255)beginfor(j=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑工程施工安全监测合同(示范文本)
- 2025年文化、办公用设备或器具项目建议书
- 滑线更换施工方案
- 卸枕施工方案
- 墙体脱落施工方案
- 建筑项目经理助理劳动合同号3篇
- 单位指定代表授权委托书3篇
- 个人年终工作总结范文(29篇)
- 安全生产月度工作计划(29篇)
- 护士年度述职报告范文(范文14篇)
- GB/T 44421-2024矫形器配置服务规范
- 大型活动策划与管理第八章 大型活动风险管理
- Q∕GDW 12165-2021 高海拔地区运维检修装备配置规范
- 现代风险导向审计在天衡会计师事务所的应用研究
- JGJ107-2016钢筋机械连接技术规程
- 妇科医生进修汇报课件
- 动态分析与设计实验报告总结
- 2024年江苏省泰州市海陵区中考一模数学试卷
- 从汽车检测看低空飞行器检测发展趋势
- DB32T 4740-2024 耕地和林地损害程度鉴定规范
- 五一节假日安全生产培训
评论
0/150
提交评论