⑴ VHDL如何把定义的一个模块引用到主程序中,在哪定义这个模块
另外写一个VHDL的设计实体描述(.vhd源文件),实体名称就是你想要调用的元件名称。端口与元件调用的端口相一致,将该文件与顶层描述(你所说的所谓“主程序”)放在一个项目文件(.pqf)中,编译时就会一起编译了。
⑵ 如何将VHDL 源文件生成功能模块求Quartusii中具体步骤
这不是一两句话可以说明白的。笼统地讲,①创建工程项目文件→ ②输入设计文件→ ③全程编译→ ④波形仿真→ ⑤引脚锁定→ ⑥重新编译→ ⑦下载编程→ ⑧目标板硬件验证。
科学出版社出版的《VHDL数字系统设计》一书中的第5章“VHDL描述的实现”,通过一个设计实例详细地介绍了如何用QuartusII完成一个设计的过程。你可以参考一下,按照书上介绍的步骤一步步做下来,就有体会了。
很多书中都有介绍QuartusII的应用,你也可以参考。
⑶ 跪问用VHDL编写的程序编译通过后怎么生成.bdf格式的原理图 EDA设计有很多模块 如何将各模块整合起来 仿出
quartus II里的file目录下creat/update,然后 creat symbol files for current file可以生成模块,然后新建一个bdf文件,双击空白处,会跳出对话框,加入你要的模块即可。
EDA设计有很多模块 如何将各模块整合起来 仿出?这个问题应该是你的程序只有子模块,没有顶层模块,写一个顶层模块,就可以整合起来仿真了....
⑷ 用VHDL语言编写在Quartus II 软件上编译仿真的按键选通模块,U为加键,D为减键,当sel为000时把U给U0、D给
library ieee;
use ieee.std_logic_1164.all;
entity choise is
port ( u,d : in std_logic;
sel: in std_logic_vector(2 downto 0);
u1,u2,u3,u4,u5,u6,d1,d2,d3,d4,d5,d6 : out std_logic);
end entity;
architecture one of choise is
process ( sel ,u,d)
begin
case sel is
when "001" => u1 <= u,d1<=d;
when "010" => u2 <=u,d2<=d;
when "011" => u3 <= u,d3<=d;
when "100" => u4 <=u,d4<=d;
when "101" => u5 <= u,d5<=d;
when "110" => u6 <=u,d6<=d;
when others => null;
end case;
end process;
end architecture;
⑸ 如何利用VHDL来实现功能模块的手动切换
多个模块之间的信号通过port map的方式,实现模块之间的信号互联。比如说你的顶层模块是top,下面有A和B,A是输入模块,B是输出模块,A和B之间有个控制信号start相连。
entity top is port(aaa: in std_logic;
bbb: out std_logic );
aaa是它的输入,bbb是他的输出。它内部有两个模块A和B
先定义一个连线信号signal start: std_logic;
component A;声明A 简单写了,详见VHDL语法书
component B;声明B
t_a: A port map(aaa => aaa, --aaa连到top的aaa
start => start); --start连到B的start
t_b: B port map(start => start, --start连到A的start
bbb => bbb); --bbb连到top的bbb。
找本书看看吧,简单的很。
⑹ vhdl编程中遇到编译的问题,各模块仿真成功,顶层设计出错,求高手指点,有哪些常出错点
就表面看报错提示的很清楚,你有一些变量调用错名了,导致编译认为你没定义。(如变量d)--> u1:adc_state port map (datain(7 downto 0)=>d(7 downto 0)。
而实际的错误确是,你的元件例化语法使用错了。你的子元件和顶层元件端口书写前后反了;应改为:
u1:adc_state port map (d(7 downto 0)=>datain(7 downto 0) ……后边同理。
改改试试吧!
⑺ 在VHDL语言中常见的有几种库库有哪些部分组成
1、标准设计库:std,
2、用户现行工作库:work,
3、IEEE设计库:IEEE。
设计库由若干程序包组成,每个程序包都有一个包声明和一个可选的包体声明。在设计库中,包声明和包体声明是分别编译的。
(1) VHDL 语言功能强大,设计方式多样
VHDL 语言具有强大的语言结构,只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时,它还具有多层次的电路设计描述功能。此外,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现,这是其他硬件描述语言所不能比拟的。
VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法; 既支持模块化设计方法,也支持层次化设计方法。
(2) VHDL 语言具有强大的硬件描述能力
VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路,也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。
同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。
⑻ 一个vhdl程序一般有五部分组成,它们分别是什么,都有什么作用。 大
实体,结构体,库,程序包,配置
1、实体:用于描述所设计系统的外部接口特性;即该设计实体对外的输入、输出端口数量和端口特性。
2、结构体:用于描述实体所代表的系统内部的结构和行为;它描述设计实体的结构、行为、元件及内部连接关系。
3、库:存放已经编译的实体、构造体、程序包集合和配置。
4、程序包:存放各设计模块可以共享的数据类型、常数、子程序库。
5、配置;实体对应多个结构体时,从与某个实体对应的多个结构体中选定一个作为具体实现。