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

【1】熟悉刷题平台操作

TestBench使用

与quartus中testbench的写法有些许。或者说这是平台特有的特性!!

1 平台使用谨记

(1)必须删除:若设计为组合逻辑,需将自动生成的clk删除

若不删除,会提示运行超时错误。
在这里插入图片描述

(2)不可删除:平台自动给出的转存文件out.vcd所在的initial块不可删除

若删除,提示代码无法完成编译
在这里插入图片描述

2 平台的[自测运行]可检测出代码的语法错误

如在VL1_四选一多选器中,就给我检测出了如下错误
在这里插入图片描述

原因是我代码中的一个变量未声明/或者说是声明错误了。其中d4在代码中是用不到的,代码中需要的是d0,我确没有声明

 //input signals reg [1:0] d1,d2,d3,d4,sel;//output signalswire [1:0] mux_out;//例化mux4_1 t_mux4_1(.d1(d1),.d2(d2),.d3(d3),.d0(d0),.sel(sel),.mux_out(mux_out));//input signals initializeinitial begin#10d0 = 3;d1 = 0;d2 = 1;d3 = 2;sel = 2'b00;end    

3 仿真时间尽量小

因为网页显示的编译结果显示不太方便。
所以只要能够验证功能的正确性即可。

4 得到仿真结果

仿真结果

5 TestBench中模块的另一种例化方式

 //  mux4_1 t_mux4_1(//   .d1(d1),//   .d2(d2),//   .d3(d3),//   .d0(d0),//   .sel(sel),//   .mux_out(mux_out)//  );//另一种例化方法mux4_1 u_mux4_1(d1,d2,d3,d0,sel,mux_out);

6 完整的TestBench文件

`timescale 1ns/1nsmodule testbench();// reg clk=0;// always #5 clk = ~clk;  // Create clock with period=10
// A testbench//input signals 
reg [1:0] d1,d2,d3,d0,sel;
//output signals
wire [1:0] mux_out;
//例化
//  mux4_1 t_mux4_1(
//   .d1(d1),
//   .d2(d2),
//   .d3(d3),
//   .d0(d0),
//   .sel(sel),
//   .mux_out(mux_out)
//  );
//另一种例化方法
mux4_1 u_mux4_1(d1,d2,d3,d0,sel,mux_out);//input signals initialize
initial begin#10d0 = 3;d1 = 0;d2 = 1;d3 = 2;sel = 2'b00;end   initial fork#20 sel = 0;#40 sel = 1;#60 sel = 2;#80 sel = 3;
join//end    
initial begin$dumpfile("out.vcd");// This will dump all signal, which may not be useful//$dumpvars;// dumping only this module//$dumpvars(1, testbench);// dumping only these variable// the first number (level) is actually useless$dumpvars(0, testbench);
end  endmodule

6 吐槽

为什么保存并提交之后,平台不保存我的testbench测试平台文件,生气气!!!

http://www.lryc.cn/news/35564.html

相关文章:

  • 计算机网络:RIP协议以及距离向量算法
  • [数据结构与算法(严蔚敏 C语言第二版)]第1章 绪论(课后习题+答案解析)
  • JS_countup.js 的简单使用,数字滚动效果
  • 【C++知识点】STL 容器总结
  • C++---背包模型---装箱问题(每日一道算法2023.3.9)
  • if-else if与switch的练习1:输入两个数,输出两个数的加减乘除的值
  • 【教程】你现在还不知道微软的New Bing?你out了,快点进来看
  • https流程
  • python魔法方法
  • 软件测试员如何进行产品测试?
  • 计算机网络基础知识点【1】
  • c++ 中标准库类型 string 详解
  • Html新增属性之拖拽(drag)
  • C/C++开发,无可避免的多线程(篇二).thread与其支持库
  • mysql数据库之表级锁
  • Python - Pandas - 数据分析(2)
  • 我的十年编程路 2019年篇
  • (蓝桥真题)剪格子(搜索+剪枝)
  • Kalman Filter in SLAM (3) ——Extended Kalman Filter (EKF, 扩展卡尔曼滤波)
  • 关于vertical-align的几问
  • 【拜占庭将军问题】这一计谋,可以让诸葛丞相兴复汉室
  • 【Linux】 -- make/Makefile
  • Forter 对支付服务商应对欺诈的四个建议和Gartner的两个关键结论
  • ANR系列(二)——ANR监听方案之IdleHandler
  • 数学小课堂:数学和自然科学的关系(数学方法,让自然科学变成科学体系。)
  • [蓝桥杯 2020 省 A1] 分配口罩
  • 第五章:C语言数据结构与算法之双向带头循环链表
  • 一文带你了解,前端模块化那些事儿
  • (六十五)大白话设计索引的时候,我们一般要考虑哪些因素呢?(中)
  • Spring事务管理