层次化设计——元件例化语句的整理
背景
这是我上周的作业,做的过程中遇到很多问题,我想要是不及时整理下来很快就会忘记,上题目(很简单的一个问题,怪我没在课上好好听):
“用VHDL语言输入方法在Quaruts软件上设计二输入与门和二输入或门逻辑,并尝用元件例化语句进行层次化设计,实现顶层异或设计。”
(整理过程中不时地会插入我的碎碎念,请自动忽略)
过程(以作业题为例)
所用软件:quartus II 9.0
1、新建工作库目录用于存储工程项目文件,即建立一个文件夹。
2、创建工程:File->New Project Wizard,选择工程路径(第一步的文件夹),输入工程名称“zy7”以及顶层文件名"zy7"。
3、之后的我都按默认来了(里面有些步骤还是不太懂含义,但是就目前来说默认的就可以)
4、源文件输入,这里自然是采用VHDL语言输入,所以选择File->New…->VHDL file。这里我连续建了三个,底层与门(“add2”)或门(“huo2”)各一个,以及顶层(“zy2”)一个。
5、与门:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY add2 IS
PORT
(
pin_a : IN STD_LOGIC;
pin_b : IN STD_LOGIC;
pin_c : OUT STD_LOGIC
);
END add2;
ARCHITECTURE bdf_type OF add2 IS
BEGIN
pin_c <= pin_a AND pin_b;
END bdf_type;
(还没搞懂怎么在这插入代码,笑哭)
或门:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY work;
ENTITY huo2 IS
PORT
(
pin_A : IN STD_LOGIC;
pin_B : IN STD_LOGIC;
pin_c : OUT STD_LOGIC
);
END huo2;
ARCHITECTURE bdf_type OF huo2 IS
BEGIN
pin_C <= pin_A or pin_B;
END bdf_type;
顶层:
library ieee;
use ieee.std_logic_1164.all;
entity zy7 is
port(
x:in std_logic;
y:in std_logic;
z:out std_logic
);
end zy7;
architecture one of zy7 is
component add2
port(
pin_a:in std_logic;
pin_b:in std_logic;
pin_c:out std_logic
);
end component;
component huo2
port(
pin_A:in std_logic;
pin_B:in std_logic;
pin_C:out std_logic
);
end component;
signal m1,m2:std_logic;
begin
u1:add2
port map(
pin_a=>x,
pin_b=>y,
pin_c=>m1);
u2:huo2
port map(
pin_A=>x,
pin_B=>y,
pin_C=>m2);
z<=m1 xor m2;
end one;
6、综合分析(都写完后再测试,一个一个地不可以,最后测试的意思应该是将底层和顶层联系起来了吧,我感觉),然后生成RTL视图,Tools->Netlist Viewer->RTL Viewer.
7、接下来进行仿真,
额…无力吐槽,为什么不能图片旋转。纸张背景请忽略,我手头实在没纸了。
8、就我目前所学,就能归纳整理成这个样子了,之后再补再改吧。
话说,会不会有大佬看到啊,若是有的话,请不吝赐教。