2012年4月23日

Verilog测试平台(testbench)技术(六)

摘要: 7.随机的时间间隔 前面介绍了如何应用系统任务$random产生随机数据。本节讨论在测试平台中采用随机时间作为输入x赋值语句中的延迟。 如下面描述的测试平台,其中用到$random产生延迟控制,对前面的1101序列检测器进行测试。测试平台中,命名为running的initial语句为电路产生适当的reset和start信号。在这个过程块中,由非阻塞赋值语句生成的时间延迟被作为绝对的时刻值。/*************************************************************************///采用随机时间间隔的测试平台module test_mo 阅读全文

posted @ 2012-04-23 19:48 K海风 阅读(998) 评论(0) 推荐(0) 编辑

Verilog测试平台(testbench)技术(五)

摘要: 6. 交互式测试平台 在下面的几个测试平台里,我们采用了新的待测状态机,如下面代码所示。它是一个有开始 (start) 和复位 (rst) 控制的 1101Moore 序列检测器。它共有 5 个状态,在序列检测器的检测过程中,如果 start 的值变为 0 ,那么状态机复位到初始状态。当前状态到达 e 状态时,输出为 1 。/*************************************************************************/// 带开始 (start) 和复位 (rst) 控制的 1101More 序列检测器`timescale 1ns/100. 阅读全文

posted @ 2012-04-23 19:47 K海风 阅读(612) 评论(0) 推荐(0) 编辑

Verilog测试平台(testbench)技术(四)

摘要: 3. 设置数据限制 测试平台也可以不通过设置仿真时间限制来控制仿真时间,而是通过对 MUT 输入数据的数量进行设置来达到控制仿真时间的目的。同样,也可以停止仿真,避免其无限制地运行。下面 Verilog 代码描述了 moore_detector 模块的第四中测试平台。这里采用 $random 对输入 x 生成随机数据。 initial 块里的 repeat 语句让时钟共执行 13 次变化,每 5ns 变化一次;而 x 共得到 10 个新数据,每隔 7ns 变化一次。这里采用随机信号代替固定的测试数据。这种策略生成数据比较简单,但是分析输出时比较困难,因为它的输入是不可预测的。对于大规模电路.. 阅读全文

posted @ 2012-04-23 19:46 K海风 阅读(985) 评论(0) 推荐(0) 编辑

Verilog测试平台(testbench)技术(三)

摘要: 二、测试平台技术 下面讨论许多有关测试激励生成与输出结果观测的代码编写技术。在这里待测模块我们使用一个如下描述的 Moore 状态机,它是一个 101Moore 序列检测器。当检测到输入序列为 101 时,当前状态值变为 d ,输出 z 的值为 1 。这是一个同步复位电路。/*************************************************************************/ `timescale 1ns/100ps module Moore_detector (input x, rst, clk, output z); parameter [1. 阅读全文

posted @ 2012-04-23 19:45 K海风 阅读(981) 评论(0) 推荐(0) 编辑

Verilog测试平台(testbench)技术(二)

摘要: 2.时序电路测试时序电路测试包括测试电路时钟与输入数据的同步。这里以一个名为misr的模块为例说明时序电路的测试方法。misr模块描述的电路有一个输入时钟、一个复位信号、输入数据与输出数据。该电路有一个poly参数,用于计算让的输出值和数据压缩。每个时钟上升沿到来时,通过已有的misr寄存器数据和输入数据计算新的输出值。其Verilog描述如下。/*************************************************************************/ `timescale 1ns/100ps module misr #(parameter [3:0] 阅读全文

posted @ 2012-04-23 19:43 K海风 阅读(1016) 评论(0) 推荐(0) 编辑

Verilog测试平台(testbench)技术(一)

摘要: 对设计进行功能仿真和时序仿真时,需要给待测模块提供激励输入。对于由Verilog语言描述的设计模块,最好的方法自然同样是用Verilog语言对待测模块施加激励和检测模块的输出响应。实际应用中,Verilog测试平台(testbench)就是用来提供上述功能的。Verilog测试平台是一个例化的待测(MUT)Verilog模块,给它施加激励并观测其输出。由于测试平台是用Verilog语言描述 的,因此可以应用到不同的仿真环境中。待测模块和与之对应的测试平台组成一个仿真模型,应用这个模型可以在不同的测试环境中用相同的激励对待测模块进行调试。下面就对不同电路类型分别介绍verilog测试平台的语言结 阅读全文

posted @ 2012-04-23 19:42 K海风 阅读(3798) 评论(0) 推荐(1) 编辑

FPGA设计者的5项基本功(转载)

摘要: 记得《佟林传》里,佟林练的基本功是“绕大树、解皮绳”,然后才练成了什么“鬼影随行、柳叶绵丝掌”。 在我看来,成为一名说得过去的FPGA设计者,需要练好5项基本功:仿真、综合、时序分析、调试、验证。 需要强调的一点是,以上基本功是针对FPGA设计者来说的,不是针对IC设计者的。对于IC设计,我不懂,所以不敢妄言. 对于FPGA设计者来说,练好这5项基本功,与用好相应的EDA工具是同一过程,对应关系如下: 1. 仿真:Modelsim, Quartus II(Simulator Tool) 2. 综合:Quartus II (Compiler Tool, ... 阅读全文

posted @ 2012-04-23 08:57 K海风 阅读(342) 评论(0) 推荐(0) 编辑

导航