为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

北邮数电VHDL实验报告

2020-03-08 12页 doc 28KB 5阅读

用户头像

is_180829

暂无简介

举报
北邮数电VHDL实验报告2009级数字电路实验报告 实验名称: EDA基础实验 学生姓名: 班    级: 班内序号:  学    号:  日    期:  1.实验要求 【实验目的】 1.熟悉用QuartusII原理图输入法进行电路设计和仿真; 2.掌握QuartusII图形模块单元的生成与调用; 3.熟悉用VHDL语言设计组合逻辑电路和时序电路的方法; 4.熟悉用QuartusII文本输入法和图形输入法进行电路设计; 5.熟悉不同的编码及其之间的转换; 6.掌握触发器的逻辑功能及使用方法; 7.熟悉计数器、寄存器、锁存器、分频器、移位...
北邮数电VHDL实验报告
2009级数字电路实验 实验名称: EDA基础实验 学生姓名: 班    级: 班内序号:  学    号:  日    期:  1.实验 【实验目的】 1.熟悉用QuartusII原理图输入法进行电路设计和仿真; 2.掌握QuartusII图形模块单元的生成与调用; 3.熟悉用VHDL语言设计组合逻辑电路和时序电路的方法; 4.熟悉用QuartusII文本输入法和图形输入法进行电路设计; 5.熟悉不同的编码及其之间的转换; 6.掌握触发器的逻辑功能及使用方法; 7.熟悉计数器、寄存器、锁存器、分频器、移位寄存器的设计方法 8.掌握VHDL语言的语法规范,掌握时序电路描述方法; 9.掌握多个数码管动态扫描显示的原理及设计方法。 【实验所用仪器及元器件】 1.计算机 2.直流稳压电源 3.数字系统与逻辑设计实验开发板 【实验内容】 1.用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。 2.用实验内容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功 能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信                      号。 3.用3线-8线译码器(74LS138)和逻辑门设计实现函数F,仿真验证其功能,并下 载到实验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 4.用VHDL语言设计实现一个3位二进制数值比较器,仿真验证其功能,并下载到实 验板测试。要求用拨码开关设定输入信号,发光二极管显示输出信号。 5.用VHDL语言设计实现一个4选1的数据选择器;一个8421码转换为格雷码的代码 转换器;一个举重比赛裁判器;一个带同步置位和同步复位功能的D触发器;一个 带异步复位的4位二进制减计数器;一个带异步复位的8421码十进制计数器;一 个带异步复位的4位自启动环形计数器;一个带控制端的8位二进制寄存器,当控 制端为‘1’时,电路正常工作,否则输出为高阻态;一个分频系数为12,分频输 出信号占空比为50%的分频器。仿真验证其功能,并下载到实验板测试。要求用拨 码开关和按键开关设定输入信号,发光二极管显示输出信号。(注:有几个不需要 下载到实验板测试) 2.程序分析 全加器: 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 a OF h_adder IS BEGIN so<= a XOR b; co<= a AND b; END; library ieee; use ieee.std_logic_1164.all; entity GKY07P3 is port(ain,bin,cin:in std_logic; cout,sum:out std_logic); end entity GKY07P3; architecture a of GKY07P3 is component h_adder port(a,b:in std_logic; co,so: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); cout<=d or f; end; 整体思路是按照实验的要求,先做出一个半加器,然后在这个半加器的基础上实现全加器的功能。 函数F: 3位二进制数值比较器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY GKY07P4 IS PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0); B:IN STD_LOGIC_VECTOR(2 DOWNTO 0); YA,YB,YC:OUT STD_LOGIC); END GKY07P4; ARCHITECTURE behave OF GKY07P4 IS BEGIN PROCESS(A,B) BEGIN IF(A>B)THEN YA<='1';YB<='0';YC<='0'; ELSIF(AY<=D0;YB<= NOT D0; WHEN"01"=>Y<=D1;YB<= NOT D1; WHEN"10"=>Y<=D2;YB<= NOT D2; WHEN"11"=>Y<=D3;YB<= NOT D3; WHEN OTHERS=>Y<='0';YB<='1'; END CASE; ELSE Y<='0';YB<='1'; END IF; END PROCESS; END behave; 主要是WHEN语句的运用,用两位二进制数示四种数据输出状态,再用WHEN语句具体实现。 8421码转换为格雷码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY GKY07P6 IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END GKY07P6; ARCHITECTURE behave OF GKY07P6 IS BEGIN PROCESS(A) BEGIN B(3)<=A(3); B(2)<=A(3) XOR A(2); B(1)<=A(2) XOR A(1); B(0)<=A(1) XOR A(0); END PROCESS; END behave; 本来是考察WHEN语句的运用,将所有的情况用WHEN语句列出来,但是因为8421码转换为格雷码的时候有一个相关的计算式子,采用这个式子可以使程序简化不少。 举重比赛裁判器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY GKY07P7 IS PORT(a:IN STD_LOGIC_VECTOR(2 DOWNTO 0); b:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END GKY07P7; ARCHITECTURE behave OF GKY07P7 IS BEGIN PROCESS(a) BEGIN CASE a IS WHEN"000" => b <= "000"; WHEN"001" => b <= "000"; WHEN"010" => b <= "000"; WHEN"011" => b <= "100"; WHEN"100" => b <= "100"; WHEN"101" => b <= "111"; WHEN"110" => b <= "111"; WHEN"111" => b <= "111"; END CASE; END PROCESS; END; 与前几题不同,这个更偏向应用。列出实际情况的状态表,发现三个裁判的不同判断各对应红黄绿灯的亮灭情况,故还是WHEN语句的应用。 D触发器: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY GKY07P8 IS PORT(d,clk,set,reset:IN STD_LOGIC; q,qb:OUT STD_LOGIC); END GKY07P8; ARCHITECTURE struc OF GKY07P8 IS BEGIN PROCESS(clk,set,reset)
/
本文档为【北邮数电VHDL实验报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索