收藏 分销(赏)

EDA实验报告.doc

上传人:精*** 文档编号:10600608 上传时间:2025-06-04 格式:DOC 页数:17 大小:319.01KB 下载积分:8 金币
下载 相关 举报
EDA实验报告.doc_第1页
第1页 / 共17页
EDA实验报告.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
数字系统设计基础实验报告 实验名称: 1.组合电路设计___ 2.失序电路设计___ 3.计数器的设计___ 4.原理图设计加法器 学 号:___ 08093342__ ____ 姓 名:___ 姚 伟_______ 班 级: __ 计科09-1班_____ 老 师:__ ______ 中国矿业大学计算机学院 2011年10月27日 实验一:组合电路的设计 一. 实验目的 熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、仿真和硬件测试。 二. 实验任务 任务1:利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤,得出仿真波形。最后在试验系统上进行硬件测试,验证本项设计的功能。 任务2:将此多路选择器看成是一个元件mux21a,利用元件例化语句描述电路图,并将此文件放在同一目录中。 对于任务中的例子分别进行编译、综合、仿真,并对其仿真波形作出分析说明。 三. 实验过程 1. 新建一个文件夹,取名CNT10。 2. 输入源程序。 3. 文件存盘,文件名为cnt10,扩展名为.vhd。 4. 创建工程,按照老师要求对软件进行设置。 5. 进行失序仿真,得到仿真图形。 四. 实验程序 任务1: entity CNT10 IS port (a,b,s:in bit; y:out bit); end entity CNT10; architecture one of CNT10 is begin process (a,b,s) if s='0' then y<=a; else y<=b; end if; end process; end architecture one; 任务2: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MUXK IS PORT (s0,s1: in STD_LOGIC; a1,a2,a3: in STD_LOGIC; outy: out STD_LOGIC ); END ENTITY MUXK; ARCHITECTURE double OF MUXK IS SIGNAL tmpout,tmp:STD_LOGIC; BEGIN u1: PROCESS(s0,a2,a3,tmp) BEGIN IF s0='0' then tmp<=a2; else tmp<=a3; END IF ; END PROCESS u1 ; u2: PROCESS(s1,a1,tmp,tmpout) BEGIN IF s1='0' then tmpout<=a1; else tmpout<=tmp; END IF ; END PROCESS u2 ; outy<=tmpout; END ARCHITECTURE double; 五. 实验结果 任务1: 任务2: 六. 实验体会 在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解,课上对于一些编程也是学的很模糊,因为学习过模拟电路与数字电路,所以总认为器件仿真要用电脑模拟器件或者直接用实物,但是通过本次实验对QuartusⅡ的初步接触,了解了其功能的强大。通过实验我初步掌握了软件的使用技巧,对下节课的实验打下了很好的基本功。 实验二:时序电路设计 一. 实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。 二. 实验任务 任务1:设计触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。 任务2:设计锁存器,同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。 三. 实验过程 a) 新建一个文件夹,取名second。 b) 输入源程序。 c) 文件存盘,文件名为second,扩展名为.vhd。 d) 创建工程,按照老师要求对软件进行设置。 e) 进行失序仿真,得到仿真图形。 四. 实验程序 任务1: library ieee; use ieee.std_logic_1164.all; entity second is port(clk,d:in std_logic; q:out std_logic); end; architecture bhv of second is signal q1:std_logic; begin process(clk,q1) begin if clk'event and clk ='1' then q1<=d; end if; end process; q<=q1; end bhv; 任务2: library ieee; use ieee.std_logic_1164.all; entity suocun is port (clk,d:in std_logic; q:out std_logic); end; architecture bhv of suocun is begin process (clk,d) begin if clk='1' then q<=d; end if; end process; end; 五. 实验结果 任务1: 任务2: 六. 实验体会 本次实验虽然是参照书上的例子,但是由于书上只提供了结构体部分,所以实体部分需要自己来设计。虽然难度不是很大,但是觉得自己的收获还是非常不小。本次实验分别设计了锁存器和触发器,唯一的不足就是得到的波形图与书上稍微有些出入,由于自己弄的是时序仿真,所以会有很大的延时。总之,这次实验的收获还是很大的。 实验三:加法计数器的设计 一. 实验目的 学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。 二. 实验任务 任务1:在QuartusⅡ上对加法计数器进行编辑、编译、综合、适配以及仿真。说明例中各语句作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。 任务2:引脚锁定以及硬件下载测试。引脚锁定后进行编译、下载和硬件测试实验,将实验过程和实验结果写进实验报告。 三. 实验过程 依据以前实验步骤,对加法器进行设计,得出时序仿真图。 四. 实验程序 任务1: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jiafa is port (clk,rst,en:in std_logic; cq:out std_logic_vector(3 downto 0); cout:out std_logic); end jiafa; architecture behav of jiafa is begin process(clk,rst,en) variable cqi:std_logic_vector(3 downto 0); begin if rst='1' then cqi:=(others=>'0'); elsif clk'event and clk='1' then if en='1' then if cqi<9 then cqi:=cqi+1; else cqi:=(others=>'0'); end if; end if; end if; if cqi=9 then cout<='1'; else cout<='0'; end if; cq<=cqi; end process; end behav; 五. 实验结果 任务1: 任务2: 六. 实验体会 本次实验主要涉及到了硬件仿真的内容,但是实验完成的并不是很顺利,由于机箱的原因,自己并没有亲自进行操作,而是和别人共同完成。即使如此,我也初步掌握了下载文件的操作,对机箱有了一些认识。本次实验内容不多,但是涉及范围比较广,所以学到了很多知识点。 实验四:原理图输入法设计全加器 一. 实验目的 熟悉利用QuartusⅡ原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 二. 实验任务 任务1:完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真和实验板上硬件测试,并将此全加器电路设置成一个硬件符号入库。 任务2:建立一个高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 三. 实验过程 a) 打开QuartusⅡ软件,选择File->New命令,并选择Block Diagram/Schematic File选项,打开原理图编辑窗口。 b) 右击鼠标,选择Insert->Symbol命令,在窗口中点击“…”按钮找到基本单元库路径,然后选择原件,编辑原理图。 c) 保存所创建的原理图,文件取名为banjia.bdf。 d) 选择File->Create/Update->Create Symbol File for Current File命令,将上述得到的文件变成一个元件符号存盘,留着设计全加器调用。 e) 在打开一个原理图编辑窗口,调用半加器元件后对全加器进行设计,然后存盘,取名为quanjia.bdf。 f) 然后按照以前的步骤创建名为quanjia的工程,并得到时序仿真波形。 g) 全加器设计: 设计8位全加器即把一位全加器转变为一个元件符号存盘,然后按照一位全加器设计方法,利用8个一位全加器连接,构成一个8位全加器。 四. 实验程序及原理图 任务1: 半加器程序: LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY work; ENTITY banjia IS PORT ( a : IN STD_LOGIC; b : IN STD_LOGIC; co : OUT STD_LOGIC; so : OUT STD_LOGIC ); END banjia; ARCHITECTURE bdf_type OF banjia IS SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC; BEGIN 或门程序: 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; 全加器程序(例化): -- Copyright (C) 1991-2009 Altera Corporation -- Your use of Altera Corporation's design tools, logic functions -- and other software and tools, and its AMPP partner logic -- functions, and any output files from any of the foregoing -- (including device programming or simulation files), and any -- associated documentation or information are expressly subject -- to the terms and conditions of the Altera Program License -- Subscription Agreement, Altera MegaCore Function License -- Agreement, or other applicable license agreement, including, -- without limitation, that your use is for the sole purpose of -- programming logic devices manufactured by Altera and sold by -- Altera or its authorized distributors. Please refer to the -- applicable agreement for further details. -- PROGRAM "Quartus II" -- VERSION "Version 9.0 Build 184 04/29/2009 Service Pack 1 SJ Full Version" -- CREATED ON "Fri Oct 28 15:29:12 2011" LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY work; ENTITY quanjia IS PORT ( ain : IN STD_LOGIC; bin : IN STD_LOGIC; cin : IN STD_LOGIC; cout : OUT STD_LOGIC; sum : OUT STD_LOGIC ); END quanjia; ARCHITECTURE bdf_type OF quanjia IS COMPONENT banjia PORT(a : IN STD_LOGIC; b : IN STD_LOGIC; so : OUT STD_LOGIC; co : OUT STD_LOGIC ); END COMPONENT; SIGNAL SYNTHESIZED_WIRE_0 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_1 : STD_LOGIC; SIGNAL SYNTHESIZED_WIRE_2 : STD_LOGIC; BEGIN b2v_inst : banjia PORT MAP(a => ain, b => bin, so => SYNTHESIZED_WIRE_2, co => SYNTHESIZED_WIRE_0); b2v_inst1 : banjia PORT MAP(a => SYNTHESIZED_WIRE_0, b => cin, so => SYNTHESIZED_WIRE_1, co => sum); cout <= SYNTHESIZED_WIRE_1 OR SYNTHESIZED_WIRE_2; END bdf_type; 半加器原理图: 元件符号存盘: 全加器原理图: 元件符号存盘: 8位全加器原理图: 五. 实验结果 任务1: 任务2: 六. 实验体会 本次实验内容比较多,也比较复杂,一开始并不是很清楚该怎么做,也犯过很多错误,最后经过多次问老师,在老师的指导下,明白了一些脉络。由于对8位全加器的设计很陌生,所以在网上查了许多资料,通过一点一点学习,掌握了一些基本原理。虽然这次实验用了很长时间,并且效果也并不怎么好,但是总体来说,收获还是很多的。 总体收获 通过以上四次实验,不但增强了我的动手能力,对EDA的编程熟练了许多,更主要的是建立了我对这门课程的兴趣,非常有助于我在今后对于专业课的强化学习。感谢这次实验,真的让我收获很多,给了我自信。 第16页(共16页)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服