当前位置: 首页 > news >正文

手机端网站建设广告词买卖友情链接

手机端网站建设广告词,买卖友情链接,爱什么网站上门服务做嫁睫毛,让别人访问自己做的网站文章目录 编写测试验证程序波形产生值序列重复模式 测试验证程序实例从文本文件中读取向量实例:时序检测器 测试验证程序用于测试和验证设计方法的正确性。Verilog 提供强有力的结构来说明测试验证程序。 编写测试验证程序 测试验证程序有三个主要目的:…

文章目录

  • 编写测试验证程序
  • 波形产生
    • 值序列
    • 重复模式
  • 测试验证程序实例
  • 从文本文件中读取向量
  • 实例:时序检测器

测试验证程序用于测试和验证设计方法的正确性。Verilog 提供强有力的结构来说明测试验证程序。

编写测试验证程序

测试验证程序有三个主要目的:

  1. 产生模拟激励(波形);
  2. 将输入激励加入到测试模块并收集其输出响应;
  3. 将响应输出与期望值进行比较。

典型的测试验证程序形式如下:

module test_bench;// 通常测试验证程序没有输入和输出端口Local_reg_and_net_declarationsGenerate_waveforms_using_initial_&_always_statementsInstantiate_module_under_testMonitor_output_and_compare_with_expected_values
endmodule

测试中,通过在测试验证程序中进行实例化,激励自动加载于测试模块。

波形产生

有两种产生激励值的主要方法:

  1. 产生波形,并在确定的离散时间间隔加载激励;
  2. 根据模块状态产生激励,即根据模块的输出响应产生激励。

通常需要两类波形。一类是具有重复模式的波形,例如时钟波形,另一类是一组指定的值确定的波形。

值序列

产生值序列的最佳方法是使用 initial 语句。例如:

initialbeginReset = 0;#100 Reset = 1;#80 Reset = 0;#30 Reset = 1;end

生成的波形如下图所示:

在这里插入图片描述
如果使用非阻塞性过程赋值产生如上所示的波形,则写法如下:

initialbeginReset <= 0;Reset <= #100 1;Reset <= #180 0;Reset <= #210 1;end

重复模式

重复模式的生成通过使用如下形式的连续赋值形式加以简化:

assign #(PERIOD/2) Clock = ~ Clock;

但是这种做法并不完全正确。问题在于 Clock 是一个线网(只有线网能够在连续赋值中被赋值),它的初始值是 z,并且,z 等于 x,~ x 等于 x。因此 Clock 的值永远固定为值 x。

下面是一个完整的时钟产生器模块:

module Gen_Clk_A(Clk_A);output Clk_A;reg Clk_A;parameter tPERIOD = 10;initialClk_A = 0;always #(tPERIOD/2) Clk_A = ~ Clk_A;

测试验证程序实例

下面是 2-4 解码器和它的测试验证程序:

`timescale 1ns/1ns
module Dec2x4(A, B, Enable, Z);input A, B, Enable;output[0:3] Z;wire Abar, Bbar;not #(1, 2)V0(Abar, A);V1(Bbar, B);nand #(4, 3)N0(Z[0], Enable, Abar, Bbar);N0(Z[1], Enable, Abar, B);N0(Z[2], Enable, A, Bbar);N0(Z[3], Enable, A, B);
endmodulemodule Dec_Test;reg Da, Db, Dena;wire[0:3] Dz;Dec2x4 D1(Da, Db, Dena, Dz);initialbeginDena = 0;Da = 0;Db = 0;#10 Dena = 1;#10 Da = 1;#10 Db = 1;#10 Da = 0;#10 Db = 0;#10 $stop;endalways@(Dena or Da or Db or Dz)$display("At time %t, input is %b%b%b, output is %b", $time, Da, Db, Dena, Dz);
endmodule

从文本文件中读取向量

可用 $readmemb 系统任务从文本文件中读取向量(可能包含输入激励和输出期望值)。下面为测试 3 位全加器电路的例子。假定文件 "test.vec" 包含如下两个向量:

在这里插入图片描述
向量的前三位对应于输入 A,接下来的三位对应于输入 B,再接下来的位是进位,八到十位是期望的求和结果,最后一位是期望进位值的输出结果。下面是全加器模块和相应的测试验证程序:

module Adder1Bit(A, B, Cin, Sum, Cout);input A, B, Cin;output Sum, Cout;assign Sum = (A ^ B) ^ Cin;assign Cout = (A ^ B) | (A & Cin) | (B & Cin);
endmodulemodule Adder3Bit(First, Second, Carry_In, Sum_Out, Carry_Out);input[0:2] First, Second;input Carry_In;output[0:2] Sum_Out;output Carry_Out;wire[0:1] Car;Adder1BitA1(First[2], Second[2], Carry_In, Sum_Out[2], Car[1]),A1(First[1], Second[1], Car[1], Sum_Out[1], Car[0]),A1(First[0], Second[0], Car[0], Sum_Out[0], Carry_Out);
endmodulemodule TestBench;parameter BITS = 11, WORDS = 2;reg[1:BITS] Vmem[1:WORDS];reg[0:2] A, B, Sum_Ex;reg Cin, Cout_Ex;integer J;wire[0:2] Sum;wire Cout;Adder3Bit F1(A, B, Cin, Sum, Cout);initialbegin$readmemb("test.vec", Vmem);for(J=1, J<=WORDS; J=J+1)begin{A, B, Cin, Sum_Ex, Cout_Ex} = Vmem[J]#5;if((Sum !== Sum_Ex) || (Cout !== Cout_Ex))$display("****Mismatch on vector %b ****", Vmem[J]);else$display("No mismatch on vector %b", Vmem[J]);endend
endmodule

测试模块中首先定义存储器 Vmem,字长对应于每个向量的位数,存储器字数对应于文件中的向量数。

实例:时序检测器

检测数据线上连续三个 1 的序列。在时钟的每个下沿检查数据,状态图如下:

在这里插入图片描述

module Count3_1s(Data, Clock, Detect3_1s);input Data, Clock;output Detect3_1s;integer Count;reg Detect3_1s;initial beginCount = 0;Detect3_1s = 0;endalways@(negedge Clock) beginif(Data == 1)Count = Count + 1;elseCount = 0;if(Count >= 3)Detect3_1s = 1;else:Detect3_1s = 0;end
endmodulemodule Top;reg Data, Clock;wire Detect;integer Out_File;Count3_1s F1(Data, Clock, Detect);initial beginClock = 0;forever#5 Clock = ~ Clock;endinitial beginData = 0;#5 Data = 1;#40 Data = 0;#10 Data = 1;#40 Data = 0;#20 $stop;endinitial beginOut_File = $fopen("results.vectors");$montitor(Out_File, "Clock = %b, Data = %b, Detect = %b", Clock, Data, Detect);end
endmodule
http://www.hkea.cn/news/802139/

相关文章:

  • 公共交通公司网站建设方案移动慧生活app下载
  • 国内开源代码网站搜了网推广效果怎么样
  • html5 metro风格网站模板今日新闻事件
  • 网站不在首页显示出来做网络推广
  • 上海网站seo公司网页推广平台
  • 网站服务器租用价格表百度怎么发布自己的广告
  • 经纪人做网站技巧搜索引擎入口yandex
  • 教育网站制作哪家服务好全球外贸采购网
  • 响应式网络网站源码百度关键词查询网站
  • 南京网站制作设计公司网络运营团队
  • 阿里巴巴上怎样做自己的网站seo网站优化网站编辑招聘
  • 网站做付费推广都需要问什么网络热词2022
  • 给男票做网站表白的软件产品市场推广计划书
  • 西安网站制作定制怎么制作自己的个人网站
  • wordpress 如何移动端盐城seo优化
  • asp.net 制作网站开发百度竞价排名软件
  • 百度爱采购推广平台天津网络推广seo
  • 福州市闽侯县建设局网站推广引流吸引人的文案
  • wordpress目录 读写权限泰安短视频seo
  • 东莞建设网站流程澎湃新闻
  • 萧县住房和城乡建设局网站seo排名推广工具
  • 企业网站php模板下载百度百科官网首页
  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化