解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:`timescale 1ns/1ns

news2024/11/24 16:36:35

解决Quartus与modelsim联合仿真问题:# Error loading design解决,是tb文件中没加:timescale

  • 1,一直走下来,在modelsim中出现了下面问题
  • 2,rtl文件、tb文件
    • 2.1,rtl代码
    • 2.2,tb测试
    • 2.3,netlist viewer
  • 3,modelsim仿真波形
    • 3.1,quartusII中的文件配置
    • 3.2,modelsim中的波形
      • 3.2.3,总体波形
      • 3.2.2,局部波形

参考文献1,QuartusII18.0l与Modelsim10.5版本的联合仿真案例成功:3-8通路三态门输出
参考文献3,quartus 调用FIFO ip核
参考文献3,Quartus联合modelsim的ip核仿真——以FIFO为例——(报错问题解决)

1,一直走下来,在modelsim中出现了下面问题

在这里插入图片描述

解决:
(1)在tb中,加上时间刻度时序必须加
在这里插入图片描述
(2)在rtl文件中,可以不含时间刻度
在这里插入图片描述

2,rtl文件、tb文件

2.1,rtl代码

//	rtl	设计.
module	fifo(
input	wire				sys_clk,
input	wire	[7:0]		pi_data,	//	写数据

input	wire				pi_flag,	//	写使能
input	wire				rdreq,		//	读使能

output	wire	[7:0]		po_data,	//	读数据
output	wire				empty,	//	空
output	wire				full,	//	满
output	wire	[7:0]		usedw
);

scfifo_256x8		scfifo_256x8_inst(		//	ip_core fifo
.clock			(sys_clk			),
.data			(pi_data			),
.rdreq			(rdreq				),
.wrreq			(pi_flag			),

.empty			(empty				),
.full			(full				),
.q				(po_data			),
.usedw			(usedw				)
);

endmodule

2.2,tb测试

//	测试文件
`timescale 1ns/1ns

module	tb_fifo;
reg				sys_clk;
reg		[7:0]	pi_data;
reg				pi_flag;
reg				rdreq;

wire	[7:0]	po_data;
wire			empty;
wire			full;
wire	[7:0]	usedw;

always	#5		sys_clk	= ~sys_clk;		//	T = 10
initial			begin
				sys_clk	= 1;
end


reg		[7:0]	cnt;	//	计数器,计数写读个数.

initial		begin			
	cnt	= 8'd0;
	pi_flag	= 0;					//	不写
	pi_data = {$random}%256;
	rdreq	= 0;						// 不读

#10
	pi_flag	= 1;					//	写
	pi_data = {$random}%256;
	rdreq	= 0;
	
	repeat(256)		begin	//	只写
#10	pi_flag	= 1;					//	写
	pi_data = {$random}%256;
	rdreq	= 0;
	
	cnt		= cnt + 1;
	end
	
	repeat(256)		begin	//	只读
#10 pi_flag	= 0;
	pi_data	= 0;
	rdreq	= 1;							//	读
	
	cnt		= cnt - 1;
	end
			
	repeat(10)		begin	//	同时写读
#10	pi_flag	= 1;	
	pi_data = {$random}%256;
	rdreq	= 1;
	cnt		= cnt;
	end
	
#100	$finish;	
end


fifo	u1_fifo(
.sys_clk		(sys_clk	),
.pi_data		(pi_data	),	//	写数据
.pi_flag		(pi_flag	),	//	写使能
.rdreq			(rdreq		),	//	读使能

.po_data		(po_data	),
.empty			(empty		),
.full			(full		),
.usedw			(usedw		)
);

endmodule

2.3,netlist viewer

(1)
在这里插入图片描述
(2)
在这里插入图片描述

3,modelsim仿真波形

3.1,quartusII中的文件配置

(1)
在这里插入图片描述

(2)
在这里插入图片描述

3.2,modelsim中的波形

3.2.3,总体波形

在这里插入图片描述

3.2.2,局部波形

(1)开始处,读空
在这里插入图片描述

(2)中间处,写满
在这里插入图片描述

(3),结束处,读空
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1561852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# WPF编程-Application类(生命周期、程序集资源、本地化)

C# WPF编程-Application类 应用程序的生命周期创建Application对象应用程序的关闭方式应用程序事件 Application类的任务显示初始界面处理命令行参数访问当前Application对象在窗口之间进行交互 程序集资源添加资源检索资源pack URI内容文件 本地化构建能够本地化的用户界面 每…

Day5-

Hive 窗口函数 案例 需求:连续三天登陆的用户数据 步骤: -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…

封装表格组件,最后一列动态生成 vue3子组件通过slot传值向父组件

将表格二次封装,方便以后开发中的复用。每次只需调用表格组件后,在父组件中往子组件标签上写入dataSource(表格数据)和columns(表格列标题)即可。 此案例中最后一列是删除按钮,动态生成&#xf…

如何提高图片的分辨率?dpi修改工具推荐

在调整分辨率之前,我们需要了解什么是dpi分辨率,简单来说,分辨率是指图像中包含的像素数量,分辨率越高,图像就越清晰,常见的分辨率包括72dpi、96dpi和300dpi等,在打印照片或者一些考试平台对图片…

uniapp 开发之原生Android插件

开发须知 在您阅读此文档时,我们假定您已经具备了相应Android应用开发经验,使用Android Studio开发过Android原生。也应该对HTML,JavaScript,CSS等有一定的了解, 并且熟悉在JavaScript和JAVA环境下的JSON格式数据操作等。 为了插件开发者更方便快捷的开…

【论文阅读】DETR 论文逐段精读

【论文阅读】DETR 论文逐段精读 文章目录 【论文阅读】DETR 论文逐段精读📖DETR 论文精读【论文精读】🌐前言📋摘要📚引言🧬相关工作🔍方法💡目标函数📜模型结构⚙️代码 &#x1f4…

Django源码之路由匹配(下)——图解逐步分析底层源码

目录 1. 前言 2. 路由匹配全过程分析 2.1 请求的入口 2.2 request的封装 2.3 response的源头 2.4 handler的获取 2.5 获取resolver对象 2.6 路由进行匹配 3. 小结 1. 前言 在上一篇文章中,我们谈到了路由的定义,通过URLPattern路由路径对象和Rou…

c/c++ | socket tcp client server

突然想着,花一个socket tcp 客户-服务通信 这应该是很经典的流程了吧 感觉还是要训练这种随手画图的能力,毕竟文字的描述还是不及图片强烈 参考01

基于深度学习的停车场车辆检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 上图测试结果如下图所示: 2.算法运行软件版本 matlab2022a 3.部分核心程序 image imread(image_test\test.jpg); image2 image;%图…

九河云携手华为云推出海外电商解决方案,一体化解决出海问题

随着国内竞争的日益激烈,国内企业的出海热情正在逐步提高。国外尤其是东南亚等地区,正在成为企业营收的新增长点。九河云携手华为云为客户带来了海外电商部署方案。华为云作为增长最快的云服务提供商,秉持着为客户提供最优质服务的原则&#…

Vue项目中引入html页面(vue.js中引入echarts数据大屏html [静态非数据传递!] )

在项目原有vue(例如首页)基础上引入html页面 1、存放位置 vue3原有public文件夹下 我这边是新建一个static文件夹 专门存放要用到的html文件 复制拖拽过来 index为html的首页 2、更改路径引入到vue中 这里用到的是 iframe 方法 不同于vue的 component…

C#实现Word文档转Markdown格式(Doc、Docx、RTF、XML、WPS等)

文档格式的多样性丰富了我们的信息交流手段,其中Word文档因其强大的功能性而广受欢迎。然而,在网络分享、版本控制、代码阅读及编写等方面,Markdown因其简洁、易于阅读和编辑的特性而展现出独特的优势。将Word文档转换为Markdown格式&#xf…

vue改名为威优易?

文章目录 vue改名为威优易? 祝大家愚人节快乐哇! 哈哈,大家愚人节快乐!看来我刚刚的“爆料”确实把大家吓了一跳,Vue.js要改名为“威优易”?这纯粹是官方在这个愚人节使者开的一个小小玩笑啦! …

修改Gradio界面中按钮Submit、Clear,Flag为中文,修改additional_inputs标签。

展示如图 Submit、Clear、additional_inputs标签 Submit、Clear修改 修改gradio库中interface.py additional_inputs标签 同一文件下 flag修改 flag展示

vscode批量编辑行头行尾

ctrlf查找那儿将最后的星星选中即为正则表达式模式 ^ 表示行头$ 表示行尾 例如,在行首添加大括号{ : vsCode中可以使用正则表达式模式找到换行。指定字符替换成换行,在替换字符串里将换行用\n表示就可以了。 查找换行符也是在查找那儿使用\…

【C语言进阶】- 内存函数

内存函数 1.1 内存函数的使用1.2 memcpy函数的使用1.3 memcpy函数的模拟实现2.1 memmove函数的使用2.2 memmove函数的模拟实现2.3 memcmp函数的使用2.4 memset函数的使用 1.1 内存函数的使用 内存函数就是对内存中的数据进行操作的函数 1.2 memcpy函数的使用 void* memcpy ( …

机器学习: 绪论(基础概念)

文章目录 一、机器学习做什么二、机器学习的基本术语2.1、数据相关2.1.1、数据集2.1.2、特征(Feature)2.1.3、样本空间(Sample Space) 2.2、任务相关2.2.1、分类2.2.2、回归2.2.3、聚类2.2.4、监督学习和无监督学习 三、机器学习思…

在CentOS 8.5.2111下安装vncserver

# 参考: 如何在 CentOS 8/RHEL 8 上安装配置 VNC 服务器 安装CentOS 8.5.2111 及 vncserver # 标准安装步骤 安装GNOME桌面环境使用屏幕号:1。安装VNC服务器(tigervnc-server tigervnc)设置VNC密码设置VNC服务器配置文件开启vnc服务。开放防…

设计模式25--策略模式

定义 案例一 案例二 优缺点

火鸟门户系统—旅游度假模块

旅游度假 简介 旅游度假功能为用户提供一站式旅游度假服务,车站、酒店民宿、门票、跟团游、货运、签证等多个方面,满足用户多样化的旅游需求。 功能 订单:提供订单预订服务,用户可以根据自身需求选择合适的旅行产品。酒店民宿…