第12章 Verilog语言的发展.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 Verilog语言的发展

12.1 语法结构的扩展与增强 在Verilog-1995中,书写敏感信号列表时,用“or”来连接敏感信号,如: always @(a or b or cin) {cout,sum}=a+b+cin; always @(posedge clk or negedge clr) if (!clr) q=0; else q=d; 在Verilog-2001中可用逗号分隔敏感信号 always @(a, b, cin) {cout,sum}=a+b+cin; always @(posedge clock, negedge clr) if (!clr) q=0; else q=d; 习 题 在显示系统任务中,增加了“%l or %L”、“%u or %U”、“%z or %Z”格式控制符。 无格式4值数据 %u或%U 无格式2值数据 %z或%Z 显示库的相关信息 %l或%L 说明 格式控制符 格式控制符 integer mcd=$fopen(file_name); | integer fd=$fopen(file_name, type); $fclose(mcd); | $fclose(fd); “type”是一个字符串,它决定了文件以何种方式打开,也决定了$fopen返回一个32比特的多通道描述符(mcd),还是返回一个32比特的文件描述符(file descriptor)。 参数type 打开文件进行更新(读取和写入),但只能在文件尾部追加内容;若文件不存在则首先创建 a+,a+b,ab+ 打开文件进行更新(读取和写入),如果该文件存在则将其长度截为0;若不存在则首先创建 w+,w+b,wb+ 打开文件进行更新(读取和写入) r+,r+b,rb+ 打开文件,在文件尾部追加内容;若文件不存在则首先创建一个文件 a,ab 以“写”方式打开文件 w,wb 以“读”方式打开文件 r,rb 说明 参数 type参数说明 12.4.2 新增系统任务和系统函数 语法结构如下: string_output_tasks ::= string_output_tasks_name(output_reg,list_of_arguments); $swrite系统函数与$fwrite系统函数类似,唯一的不同就是$fwrite将格式化的文本写到mcd指定的文件中,而$swrite是将文本写到寄存器中。 1. $swrite、$swriteb、$swriteh、$swriteo $fgetc的用法如下: c=$fgetc(fd); 从fd指定的文件中读取一个字节,若发生错误,则c被置为EOF(-1)。将c设置为数据宽度大于8比特的变量可以区别EOF(-1)和值为0xFF的字符。 2. $fgetc、$ungetc $fgets可从文件中读取字符串,用法如下: integer code=$fgets(str,fd); 从fd指定的文件中读取字符串到寄存器型变量str中,直到str装满,或者读到“换行符(newline character)”,或者遇到文件结束条件,指令结束。当出现错误时,code中的返回值为0,否则为读取的字符数。 3. $fgets $fscanf和$sscanf用于读取格式化数据。用法如下: integer code=$fscanf(fd, format, args); integer code=$sscanf(str, format, args); 4. $fscanf、$sscanf $fread可从文件中读取二进制数据,其用法如下: integer code=$fread(myreg, fd); integer code=$fread(mem, fd); integer code=$fread(mem, fd, start); integer code=$fread(mem, fd, start, count); integer code=$fread(mem, fd, ,count); 5. $fread 12.5 VCD文件的扩展 VCD文件用于存储选定的变量数值变化的信息,信息的记录由VCD系统任务来完成。在Verilog-1995标准中只有一种类型的VCD文件,即四状态类型,这种类型的VCD文件只记录变量在0、1、x和z状态之间的变化,而且不记录信号强度信息。而在Verilog-2001标准中增加了一种扩展类型的VCD文件,能够记录变量在所有状态之间的

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档