- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机09-3班 郑秀枫 PAGE
PAGE 2
实验一 四位全加器的实现
实验目的
掌握Quartus9.0图形编辑输入法
掌握Quartus环境下文件的编译、仿真及下载方法
了解VHDL语言的设计流程
掌握quartus环境下VHDL的使用方法
实验内容
1、用图形/原理图法实现4位全加器。
2、用VHDL语言实现4位全加器,必须使用元件例化。
3、仿真并通过。
3、下载到实验板,并验收
实验步骤
图形编辑发设计4位加法器
新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。
图1-1
将设计好的一位全加器进行例化,操作为file?Create/Update?Create symbol files for currentfile,完成此操作后会在元器件符号表里找到刚刚做好的一位全加器。
再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。编辑好后保存文件,在文件列表里找到该文件,右键?Set as Top-level Entity,将其设置为顶层文件,点击编译按钮就行编译。
图1-2
新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。若不正确,查找问题所在并解决问题;若正确,则进行管脚分配,分配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文件下载到开发板进行验证。
用VHDL语言设计4位加法器
新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL实现一位全加器,其VHDL代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY adde1r IS
PORT(A,B,Ci:IN STD_LOGIC;
S,Co:OUT STD_LOGIC);
END adder1;
ARCHITECTURE qadder OF adder1 IS
BEGIN
PROCESS(A,B,Ci)
VARIABLE n1,n2,n3:STD_LOGIC;
BEGIN
n1:=A AND B;
n2:=A XOR B;
n3:=Ci AND n2;
Co=n3 OR n1;
S=n2 XOR Ci;
END PROCESS;
END qadder;
再新建一个VHDL源文件,命名为adder4.vhd,在这里将adder一位全加器例化并使用它,做成四位全加器,代码如下:
library ieee;
use ieee.std_logic_1164.all;
entity adder4 is
port(A,B:in std_logic_vector(3 downto 0);
S:out std_logic_vector(3 downto 0);
Co:out std_logic;
Ci:in std_logic);
end adder4;
architecture adder_4 of adder4 is
component adder
port(
A:in std_logic;
B:in std_logic;
Ci:in std_logic;
Co:out std_logic;
S:out std_logic);
end component;
signal c1,c2,c3:std_logic;
begin
u1:adder port map(A(0),B(0),Ci,c1,S(0));
u2:adder port map(A(1),B(1),c1,c2,S(1));
u3:adder port map(A(2),B(2),c2,c3,S(2));
u4:adder port map(A(3),B(3),c3,Co,S(3));
end adder_4;
保存文件后将adder4设置为顶层文件并编译,编译通过后按照与图形编辑发一样的仿真、管脚分配方式进行操作,最后下载到开发板验证
实验现象
两种方式实现的四位加法器下载到DE2开发板后都可正常工作,其中使用SW0作为低位的进位,SW4~1作为数据B,SW8~5作为数据A,LDG3~0作为输出的结果,LEDG4作为输出的进位。当SW4~1闭合 SW8~5和SW0断开时,只有LEDG3~0这四个灯亮;当SW8~0全闭合时,LEDG4~0灯全亮。
中国石油大学(华东)
实 验 报 告
课题名称 EDA设计
实验项目名称 实验一四位全加器的设计
专业 计算机科学与技术
文档评论(0)