




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
matlab和verilog文件的读写 PartI matlab文件的读写 matlab读写文件的过程 3 matlab 文件的打开和关闭二进制文件 bin 的读写文本文件 txt 的读写读写的定位 MAT文件的读写几个有用的函数 4 文件的打开 fopen函数调用格式 fid fopen 文件名 打开方式 fid存储文件句柄值 0说明成功打开 5 常见的打开方式 r 只读方式打开文件 默认的方式 该文件必须已存在 r 读写方式打开文件 打开后先读后写 该文件必须已存在 w 打开后写入数据 该文件已存在则更新 如果只打开则清空文件 不存在则创建 w 读写方式打开文件 先读后写 该文件已存在则更新 不存在则创建 a 在打开的文件末端添加数据 文件不存在则创建 a 打开文件后 先读入数据再添加数据 文件不存在则创建 另外 在这些字符串后添加一个 t 如 rt 或 wt 则将该文件以文本方式打开 如果添加的是 b 则以二进制格式打开 这也是fopen函数默认的打开方式 6 例子 testbench中 stdFid fopen stdFileName r testFid fopen testFileName r 7 文件的关闭 文件在进行完读 写等操作后 应及时关闭 以免数据丢失 fclose函数sta fclose fid 说明 该函数关闭fid所表示的文件 sta表示关闭文件操作的返回代码 若关闭成功 返回0 否则返回 1 关闭所有已打开的文件用fclose all 8 二进制文件写操作 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件调用格式 COUNT fwrite fid A precision COUNT 返回所写的数据元素个数 可缺省 fid 文件句柄A 写入文件的数据precision 数据精度 常用的数据精度有 char uchar int long float double等 缺省数据精度为uchar 即无符号字符格式 9 二进制文件读操作 fread函数读取二进制文件的数据 并将数据存入矩阵 调用格式 A COUNT fread fid size precision A 用于存放读取数据的矩阵COUNT 返回所读取的数据元素个数fid 文件句柄size 可选项 10 size参数 N 读取N个元素到一个列向量 inf 读取整个文件 M N 读数据到M N的矩阵中 数据按列存放 11 文本文件读操作 fscanf函数读取文本文件的内容 并按指定格式存入矩阵调用格式 A COUNT fscanf fid format size A 存放读取的数据COUNT 返回所读取的数据元素个数fid 文件句柄format 控制读取的数据格式 由 加上格式符组成size 可选项 决定矩阵A中数据的排列形式 12 format参数 控制读取的数据格式由 加上格式符组成常见的格式符有 和格式符之间可以插入数据宽度 如 16d 13 文本文件写操作 fprintf函数调用格式 fprintf fid format A fid 文件句柄 指定要写入数据的文件format 用来控制所写数据格式的格式符 与fscanf函数相同A是用来存放数据的矩阵 省略fid 则在屏幕上输出 14 format参数 flags optional Widthandprecisionfields optional Conversioncharacter required 15 format中还可以使用的特殊字符 16 fprintf举例 fprintf a 12 5f n 123 456 format以 开头 flag fieldwidth precision 格式说明符 左对齐 输出符号0 空白处添0空格 前面加一空格 字段宽度 小数点后输出位数 17 例子 创建一个字符矩阵并存入磁盘 再读出赋值给另一个矩阵 a string fid fopen d char1 txt w 打开文件 写方式 fprintf fid s a a的值写入文件 字符串型 fclose fid 关闭文件 fid1 fopen d char1 txt rt 打开文件 文本方式 b fscanf fid1 s 读出数据字符串方式写入bb string 18 读写的定位 打开文件读写数据时 需要判断和控制文件的读写位置 如数据是否读完 或者需要读写指定位置上的数据等 在读写文件时 matlab自动创建一个文件位置指针来管理和维护文件读写数据的起始位置 matlab提供了几个文件位置指针定位操作函数 fseek ftell frewind和feof 19 fseek status fseek fid offset origin fid为文件句柄offset表示位置指针相对偏移的字节数 若为正表示向文件尾方偏移 若为负表示向文件头方向偏移 cof 表示当前位置 bof 表示文件的开始位置 eof 表示文件末尾 若定位成功 status返回值为0 否则返回 1 origin表示位置指针移动的参照位置 有三种取值 20 ftell frewind和feof frewind fid eofstat feof fid 判断文件位置指针是否达到文件结束位置 若文件位置指针已在文件末尾 则返回1 否则返回0 position ftell fid 返回值为从文件开始到指针当前位置的字节数 将位置指针返回到文件的起始位置 21 feof的例子 22 fgetl 从文件中读一行 参数为文件标识符 MAT文件 MATLAB使用的一种特有的二进制数据文件在MAT文件中不仅保存各变量数据本身 而且同时保存变量名以及数据类型等载入某个MAT文件后 可以在当前MATLAB工作空间完全再现当初保存该MAT文件时的那些变量 这是其他文件格式不能完成的load和save两个命令进行MAT文件的读和写 23 load函数 命令中的文件名可以包含单引号 也可以不包含如 load mymat mat 或loadmymat matload函数还可以指定只读取文件中的某几个变量 只需在文件名之后列出想要读取的变量的变量名就可以了 变量名也可以使用通配符 如 loadmymat maty 执行结果 将文件中所有以y开头的变量读取出来 24 save函数 可直接调用 不带任何参数 将MATLAB工作空间的所有变量保存到系统默认的matlab mat文件如果用户需要保存指定的某几个变量 只需在文件名参数后 列出要保存的文件名即可 如 savemymat matx y z将当前工作空间中的变量x y z保存到mymat mat文件中 要求x y z是当前工作空间中已经存在的变量 25 几个有用的函数 26 str2num 将数字字符串转为数字 若字符串中有不是数字的 则返回零维矩阵例如 x str2num 1234 则x 1234num2str 和上一个函数相反strcmp 比较两个字符串 若完全相等返回1 否则返回0find 找到矩阵中的非零元素 并返回其所在位置的矩阵 列向量 位置是矩阵按列整理成列向量后对应的位置 可以配合length得出非零元素的个数 find的例子 27 PartII verilog文件的读写 verilog verilog任务 task 和函数 function 和文件操作有关的verilog任务 29 verilog任务和函数 任务和函数有些不同 主要的不同有以下四点 1 函数只能与主模块共用同一个仿真时间单位 而任务可以定义自己的仿真时间单位 2 函数不能启动任务 而任务能启动其它任务和函数 3 函数至少要有一个输入变量 而任务可以没有或有多个任何类型的变量 4 函数返回一个值 而任务则不返回值 函数的目的是通过返回一个值来响应输入信号的值 任务却能支持多种目的 能计算多个结果值 这些结果值只能通过被调用的任务的输出或总线端口送出 30 例子 31 完成16位的字操作 让高字节与低字节互换任务或函数名都为switch bytes不考虑标识符 任务写法 new word作为输出 switch bytes old word new word 函数写法 作为返回值new word switch bytes old word display和 write任务 32 用 display和 write任务的格式为 display 格式控制参数 参数1 参数2 write 格式控制参数 参数1 参数2 display任务自动在输出后换行 write任务没有自动换行 常见的格式控制字符 33 转义字符 34 verilog的文件操作任务 35 在对任务文件进行读写操作时 都必须先将文件打开 并且获取一个文件描述符与C语言编程时的情况相同 fopen和 fclose任务分别用来打开和关闭某个文件 其语法格式如下 多通道描述符 fopen 文件描述符 fopen fclose 多通道描述符 fclose 文件描述符 fopen文件打开方式 36 文件输出 37 fopen打开一个文件并返回一个多通道描述符 MCD MCD是与文件唯一对应的32位无符号整数 如果文件不能打开并进行写操作 MCD将等于0 如果文件成功打开 MCD中的一位 仅一位 将被置位 以 f开始的显示系统任务将输出写入与MCD相对应的文件中 integerMCD1 MCD1 fopen fdisplay MCD1 P1 P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州机电职业技术学院第十三届贵州人才博览会引进人才15人考前自测高频考点模拟试题附答案详解(黄金题型)
- 安全培训效评价课件
- 2025福建厦门鼓浪湾大酒店有限公司(第二批)招聘5人模拟试卷及答案详解(夺冠)
- Hydroxyprogesterone-Caproate-d11-17α-Hydroxyprogesterone-hexanoate-d-sub-11-sub-生命科学试剂-MCE
- Human-EPO-mRNA-生命科学试剂-MCE
- HGS004-生命科学试剂-MCE
- HDAC11-IN-1-TFA-生命科学试剂-MCE
- 2025年宁波慈溪市中西医结合医疗健康集团招聘派遣制工作人员3人模拟试卷及答案详解(必刷)
- 搭建商战略合作协议范本5篇
- 金融系统安全运行承诺函8篇
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论