Quartus Prime Lite Edition 设计1位二进制全加器(f_adder)
·
目录:
1、实验目标
通过本实验,掌握使用VHDL硬件描述语言设计一个1位二进制全加器,做出仿真波形。
注意:
创建项目、文件的具体操作细节可参考以下文章:
Quartus Prime Lite Edition 使用教程(创建项目与仿真)
2、创建 Project

f_adder 项目创建成功。
3、创建 VHDL 文件
全加器由两个半加器和一个或门连接而成,
所以就需要先设计好半加器和或门,然后全加器来调用半加器和或门就可以了。
①创建半加器 h_adder.vhd 文件
写入如下代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY h_adder IS
PORT ( a, b : IN STD_LOGIC;
co, so : OUT STD_LOGIC);
END ENTITY h_adder;
ARCHITECTURE fh1 OF h_adder IS
BEGIN
so <= NOT(a XOR (NOT b)) ; co <= a AND b ;
END ARCHITECTURE fh1;

②创建或门 or2a.vhd 文件
写入如下代码:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY or2a IS
PORT (a, b : IN STD_LOGIC; c : OUT STD_LOGIC );
END ENTITY or2a ;
ARCHITECTURE one OF or2a IS
BEGIN
c <= a OR b ;
END ARCHITECTURE one ;

③创建全加器 f_adder.vhd 文件
写入如下代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_adder IS
PORT (ain, bin, cin : IN STD_LOGIC;
cout, sum : OUT STD_LOGIC);
END ENTITY f_adder;
ARCHITECTURE fd1 OF f_adder IS
COMPONENT h_adder
PORT ( a, b : IN STD_LOGIC;
co, so : OUT STD_LOGIC);
END COMPONENT;
COMPONENT or2a
PORT (a, b : IN STD_LOGIC;
c : OUT STD_LOGIC);
END COMPONENT;
SIGNAL d, e, f : STD_LOGIC;
BEGIN
u1 : h_adder PORT MAP(a=>ain, b=>bin, co=>d, so=>e);
u2 : h_adder PORT MAP(a=>e, b=>cin, co=>f, so=>sum);
u3 : or2a PORT MAP(a=>d, b=>f, c=>cout);
END ARCHITECTURE fd1;

④编译

编译成功。
4、查看 RTL 图
如下:

查看完成。
5、仿真
写入测试数据如下:

仿真结果:

符合设计要求,仿真成功。
更多推荐
所有评论(0)