vhdl如何模拟VHDL测试平台模拟的示例如下:1 源代码-十六进制计数器代码图书馆ieee使用IEEE STD _ logic _ 1164 all;使用IEEE
vhdl如何模拟VHDL测试平台模拟的示例如下:
1.源代码
-十六进制计数器代码
图书馆ieee
使用IEEE . STD _ logic _ 1164 . all;
使用IEEE . STD _ logic _ arith . all;
使用IEEE . STD _ logic _ unsigned . all;
实体cnt6是
港口
(clr,en,clk:在std_logic中;
问:输出标准逻辑向量(2下降到0)
);
最终实体;
cnt6的架构rtl是
信号tmp:STD _ logic _ vector(2 down to 0);
开始
进程(时钟)
-变量q6:整数;
开始
if(clk'event and clk='1 ')然后
if(clr='0 ')则
tmp"="000";
elsif(en='1 ')然后
如果(tmp="101")那么
tmp"="000";
其他
tmp"=unsigned(tmp)' 1 '
结束if;
结束if;
结束if;
q"=tmp;
-QA"=q(0);
-QB"=q(1);
-QC “=q(2 );
结束进程;
结束RTL;
2、测试平台代码
Quartus II可以自动生成固定格式的testbench代码。
如果不想写这些固定格式的testbench,可以在quartus中自动生成testbench文件的模板,然后把信号写进去就行了。
步骤:处理-开始-开始测试平台模板编写
应注意,在生成测试平台之前,应在仿真选项中选择仿真工具。
-十六进制计数器测试平台代码
图书馆ieee
使用IEEE . STD _ logic _ 1164 . all;
实体cnt6_tb为
end cnt6 _ tb
cnt6_tb的架构rtl为
组件cnt6
端口(
clr,en,clk:在std_logic中;
问:输出标准逻辑向量(2下降到0)
);
末端组件;
信号clr:STD _ logic:=' 0 '
信号en:STD _ logic:=' 0 '
信号clk:STD _ logic:=' 0 '
信号q:STD _ logic _ vector(2 down to 0);
常数clk_period:时间:=20 ns
开始
即时:cnt6端口映射
(
clk=》clk,en=》en,clr=》clr,q=》q
);
clk_gen:进程
开始
等待clk _ period/2;
clk"=' 1 '
等待clk _ period/2;
clk “=' 0 '
结束进程;
clr_gen:进程
开始
clr “=' 0 '
等待30 ns
clr “=' 1 '
等等;
结束进程;
en_gen:流程
开始
en"=' 0 '
等待50ns
en"=' 1 '
等等;
结束进程;
结束RTL;
vhdl语言的基本结构在VHDL程序中,实体和体系结构这两种基本结构是必不可少的,它们可以构成最简单的VHDL程序。通常,最简单的VHDL程序结构也包含另一个最重要的部分,即库和包。
1.实体
1.1功能:
描述这个设计实体和外部电路之间的接口。
1.2常见的句子结构
实体实体名称为
【通用(通用列表);]
【端口(端口表);]
结束实体实体名称;
1.3实体名称
无论设计实体有多大或多复杂,实体中定义的实体名称就是设计实体的名称。在实例化(现有组件的调用和连接)中,可以用这个名称调用相应的设计实体。
1.4一般通用描述声明
通用参数是一个端口接口常数,通常以描述的形式放在实体或块结构之前的描述部分。书写格式如下:
1泛型([常量名:数据类型[:设置值]])2 {;常量名称:数据类型[:设置值]};
1.4端口描述
物理端口描述的一般书写格式如下:
1端口(端口名:端口模式数据类型;2 {端口名:端口模式数据类型});
2.结构
2.1功能
结构是由实体定义的设计实体的组成部分。该结构描述了设计实体的内部结构和/或外部设计实体的端口之间的逻辑关系。
2.2构成
数据类型、常数、信号、子程序和组件的描述。
描述实体逻辑行为的功能描述语句,用各种描述方式表示,包括各种形式的顺序描述语句和并行描述语句。
以组件实例化语句为特征的外部原始(设计实体)端口之间的连接模式。
2.3结构的一般语言格式
1建筑结构实体名称的名称是
2[描述语句]
3开始
4[功能描述语句]
5端建筑结构名称;
边肖推荐阅读:
vhdl语言运算符_vhdl语言有什么用?
什么是vhdl语言_简述vhdl语言的特点
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们