今天给个程序大家玩玩。因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串。一直copy 函数 UART ("COMM_1");  UART ("COMM_2");........可是指令有好几十个哦。如果遇上百个岂不是更惨。

  如果是C语言,大家肯定想到用数组遍历。不过Verilog中想用数组遍历,我没有尝试过 —— 我这里是字符串不是简单的16进制数。有兴趣的同学可以自己玩玩,大家一起交流。目前我采用的是文件的方式来做

第一步建立一个文件 ,名称是test_case.dat。里面保存你需要发送的指令,例如:

FPGA!!
gong--
cheng-
shi---
zhi---
jia---
oyeoye

第二步使用下列代码

 `timescale 1ns/1ps 

 module readfile ; 

 integer str_cnt ;
integer file_r,file_w ; reg [:]reg0 ;
reg str_p ;
initial begin
str_cnt = ;
file_r = $fopen ("test_case.dat","r");
file_w = $fopen ("test_case_h.dat","w"); while(!$feof(file_r)) begin
str_p = $fgets(reg0,file_r);
if(reg0==); //Tab
else if (reg0==) ; //file finish
else begin
str_cnt = str_cnt + ;
$display("%s",reg0);
$fwrite(file_w, "NO=%d, %s = %h\n", str_cnt,reg0, reg0);
end
end $fclose (file_r);
$fclose (file_w);
#
$stop ;
end endmodule

输出到一个 test_case_h.dat文件。输出是这个样子的

NO=          1,   FPGA!! = 465047412121
NO= 2, gong-- = 676f6e672d2d
NO= 3, cheng- = 6368656e672d
NO= 4, shi--- = 7368692d2d2d
NO= 5, zhi--- = 7a68692d2d2d
NO= 6, jia--- = 6a69612d2d2d
NO= 7, oyeoye = 6f79656f7965

注意看哦,我的test_case.dat中所有的字符串都是6*8bit的。对应程序中的reg0是48bit的。如果字符串bit少了会把换行符读进去,如果字符串的bit多了会遗漏。 

都说了是给大家玩的程序。所以有兴趣的朋友可以查询一下standard中对$feof以及$fgets的解读

欢迎加入: FPGA广东交流群:162664354

      FPGA开发者联盟: 485678884

verilog中读取文件中的字符串_modelsim高级仿真的更多相关文章

  1. 在java中读取文件中的内容

    package shi; import java.io.*; public class wenjianIO { public static void main(String agrs[]){ File ...

  2. Python中读取文件中的json串,并将其写入到Excel表格中

    Json:JavaScript Objective Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用语http请求中, ...

  3. IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

    需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...

  4. json数据处理:读取文件中的json字符串,转为python字典

    方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...

  5. 利用PushbackReader读取文件中某个字符串之前的内容

    package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...

  6. php中读取文件内容的几种方法。(file_get_contents:将文件内容读入一个字符串)

    php中读取文件内容的几种方法.(file_get_contents:将文件内容读入一个字符串) 一.总结 php中读取文件内容的几种方法(file_get_contents:将文件内容读入一个字符串 ...

  7. python中读取文件的read、readline、readlines方法区别

    #读取文件所有内容,返回字符串对象,python默认以文本方式读取文件,遇到结束符读取结束. fr = open('lenses.txt')read = fr.read()print(type(rea ...

  8. Python 读取文件中unicode编码转成中文显示问题

    Python读取文件中的字符串已经是unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式 1.使用eval: eval("u"+"\'" ...

  9. PHP中读取文件的几个方法

    整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件 ...

随机推荐

  1. HDU Exponentiation 1063 Java大数题解

    Exponentiation Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  2. js中的数组和字符串的一些方法

    数组的一些方法: 1.join()和split()方法 <script type="text/javascript">var x;var a=new Array();a ...

  3. python文件目录遍历保存成xml文件代码

    Linux服务器有CentOS.Fedora等,都预先安装了Python,版本从2.4到2.5不等,而Windows类型的服务器也多数安装了Python,因此只要在本机写好一个脚本,上传到对应机器,在 ...

  4. ASPxGridView-单元格合并

    <dx:ASPxGridView ID="gridView" runat="server" ClientInstanceName="gvResu ...

  5. fatal error LNK1123: failure during conversion to COFF: file invalid or corr

    新装VS2010出现标题的错误,使用了下面的方法,不行 这个是由于日志文件引起的,可以将 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是"是",改成"否&q ...

  6. ROS使用rqt_console

    打开一个新的终端在里面输入: sudo apt-get install ros-hydro-rqt ros-hydro-rqt-common-plugins ros-hydro-turtlesim 安 ...

  7. html mysql special character

    function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str. ...

  8. java——多线程——单例模式的static方法和非static方法是否是线程安全的?

    单例模式的static方法和非static方法是否是线程安全的? 答案是:单例模式的static方法和非static方法是否是线程安全的,与单例模式无关.也就说,如果static方法或者非static ...

  9. mysql的触发器

    删除触发器 drop TRIGGER 触发器名字; 查找库里面的所有触发器 SELECT * FROM information_schema.`TRIGGERS`;show triggers 触发器语 ...

  10. R与数据分析旧笔记(⑨)广义线性回归模型

    广义线性回归模型 广义线性回归模型 例题1 R.Norell实验 为研究高压电线对牲畜的影响,R.Norell研究小的电流对农场动物的影响.他在实验中,选择了7头,6种电击强度, 0,1,2,3,4, ...