欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数字系统设计技术实验指导书.docx

    • 资源ID:11605424       资源大小:57.42KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字系统设计技术实验指导书.docx

    1、数字系统设计技术实验指导书Experiment 2 Designing Number Comparer实验目的: 熟悉QuartusII的开发环境 熟练掌握编程开发流程学习VHDL的基本语法学习VHDL编程设计实验内容:数值比较器设计实验要求:熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程设计输入使用插入模板 (Insert Template)在QuartusII开发环境下对设计程序进行时序仿真将生成的配置文件下载到实验板,进行最终的实物测试验证实验原理:根据两位二进制数的大小得到对应的比较结果,其电路示意图及电路特性表为:比较器特性表A B In_s In_l

    2、In_e A B 0 0 1A B 1 0 0A = B 0 1 00 0 1A = B 1 0 01 0 0A = B 0 0 10 1 0A = B 0 0 0 A = B 1 1 A = B 1 1 A = B 1 1 比较器电路示意图 实验报告内容要求:(1)实验目的;(2)实验内容;(3)实验要求;(4)实验原理;(5)程序编写;(6)Y程序编译(首先选择器件具体型号);(7)功能仿真和芯片时序仿真;(8)芯片引脚设定;(9)适配下载结果及结论。Experiment 3 Designing 8 to1-Multiplxer实验目的: 熟悉QuartusII的开发环境熟练掌握编程开发流

    3、程学习VHDL的基本语法学习VHDL编程设计实验内容:八选一数据选择器设计。实验要求:熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程设计输入使用插入模板 (Insert Template)在QuartusII开发环境下对设计程序进行时序仿真将生成的配置文件下载到实验板,进行最终的实物测试验证实验原理:电路功能表及其电路外部符号如下:电路功能表 Sb A2 A1 A0Y1 0 0 0 0D00 0 0 1D10 0 1 0D20 0 1 1D30 1 0 0D40 1 0 1D50 1 1 0D60 1 1 1D7实验报告内容要求:(1)实验目的;(2)实验内容;(

    4、3)实验要求;(4)实验原理;(5)程序编写;(6)程序编译(首先选择器件具体型号);(7)功能仿真和芯片时序仿真;(8)芯片引脚设定;(9)适配下载结果及结论。Experiment 4 Designing module _60实验目的: 熟悉QuartusII的开发环境熟练掌握编程开发流程学习数字系统中层次化设计技巧学习显示译码电路 分频电路、计数电路的VHDL程序设计学习结构化设计的VHDL程序设计实验内容:基于数码管显示的60进制计数器设计实验要求:熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程将50MHz信号分频为1Hz信号以1Hz为60进制计数器使能信号

    5、,实现60进制计数功能计数结果用两位数码管显示计数进位持续时间1s用LED显示设计位同步时序电路在QuartusII开发环境下对设计程序进行时序仿真将生成的配置文件下载到实验板,进行最终的实物测试验证实验原理:先对50MHz时钟信号分频得到1Hz,然后调用两个10进制计数器,计数到59时回到初始0的计数状态,每个10进制计数的技术结果通过显示译码送到两位数码管上显示,结构框图如下:数码管数码管50MHz实验报告内容要求:(1)实验目的;(2)实验内容; (3)实验要求;(4)实验原理;(5)程序编写;(6)程序编译(首先选择器件具体型号);(7)功能仿真和芯片时序仿真;(8)结论。Experi

    6、ment 5 Designing shift_register实验目的: 熟悉QuartusII的开发环境熟练掌握编程开发流程学习VHDL的基本语法学习数字系统中移位寄存器设计及其VHDL编程实验内容:移位寄存器设计实验要求:熟练掌握QuartusII开发环境下对可编程逻辑器件进行程序化设计的整套流程设计输入使用插入模板 (Insert Template)在QuartusII开发环境下对设计程序进行时序仿真将生成的配置文件下载到实验板,进行最终的实物测试验证实验原理:根据两位二进制数的大小得到对应的比较结果,其电路示意图及电路特性表为:比较器特性表clr Clk load ctr 0 复位1

    7、0 置数1 1 0右移1 1 1左移Data_in(3.0) clkclr load ctr 比较器电路示意图 实验报告内容要求:(9)实验目的;(10)实验内容;(11)实验要求;(12)实验原理;(13)程序编写;(14)程序编译(首先选择器件具体型号);(15)功能仿真和芯片时序仿真;(16)芯片引脚设定;(17)适配下载结果及结论。实验2考程序Library ieee;Use ieee.std_logic_1164.all;Entity compare_2 isPort( data_a,data_b: in std_logic_vector(3 downto 0); In_s,In_l

    8、,In_e: in std_logic; Ys,Yl,Ye:out std_logic);End compare_2;Architecture rtl of compare_2 isSignal tmps,tmpe: std_logic;Begin Ys=tmps;Ye = tmpe; Yl = tmps nor tmpe;Aa:process(data_a,data_b, In_e) Begin If(data_a = data_b and In_e = 1) then tmpe=1; else tmpe=0; End if;End process aa;bb:process(data_a,

    9、data_b, In_s) Begin If(data_adata_b) then tmps=1; elsif(data_a=data_b and In_s=1) then tmps=1; Else tmps y y y y y y y y y=X;end case;elsey=0;end if; END PROCESS;END rtl;实体(entity)名称与文件名称一致;时序仿真时,波形编辑后先保存波形文件再进行时序仿真;分配管脚后,需要重现编译,然后才能下载。设计流程:新建项目新建源文件输入语言编译仿真分配管脚编译下载仿真流程:新建波形文件导入管脚信号并编辑输入信号仿真下载的时候选择硬

    10、件为:BytebBlasterLPT1实验4参考程序library ieee;use ieee.std_logic_1164.all;entity count_60 isport(clk,rst:in std_logic; count_data10,count_data1: out std_logic_vector(6 downto 0); en_out :out std_logic);end count_60;architecture rtl of count_60 iscomponent sec_out port(clk,rst:in std_logic; en_out :out std_

    11、logic );end component;component count_10 port(clk,rst,en_in,ld:in std_logic; data_in:in std_logic_vector(3 downto 0); data_out:out std_logic_vector(3 downto 0); en_out :out std_logic );end component;component dis_decode port(data_in:in std_logic_vector(3 downto 0); dis_num :out std_logic_vector(6 do

    12、wnto 0) );end component;signal cont_tmp10,cont_tmp1,data_in:std_logic_vector(3 downto 0);signal ld,sec_en,sec_en10,min_out:std_logic;beginld=sec_en10 and cont_tmp10(2) and cont_tmp10(0);data_in=0000;en_out=cont_tmp10(2) and cont_tmp10(0) and cont_tmp1(3) and cont_tmp1(0);U0:sec_out port map(clk,rst,

    13、sec_en);U1:count_10 port map(clk,rst,sec_en,ld,data_in,cont_tmp1,sec_en10);U2:count_10 port map(clk,rst,sec_en10,ld,data_in,cont_tmp10,min_out);U3:dis_decode port map(cont_tmp1,count_data1);U4:dis_decode port map(cont_tmp10,count_data10);end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_

    14、logic_unsigned.all;use ieee.std_logic_arith.all;entity count_10 isport(clk,rst,en_in,ld:in std_logic; data_in:in std_logic_vector(3 downto 0); data_out:out std_logic_vector(3 downto 0); en_out :out std_logic);end count_10;architecture rtl of count_10 issignal cont_tmp:std_logic_vector(3 downto 0);be

    15、gin en_out=en_in and cont_tmp(3) and cont_tmp(0); data_out=cont_tmp;process(clk,rst)begin if(rst=0)then cont_tmp=0000; elsif(clkevent and clk=1)then if(ld=1)then cont_tmp=data_in; elsif(en_in=1)then if(cont_tmp=1001)then cont_tmp=0000; else cont_tmp=cont_tmp+1; end if; end if; end if;end process;end

    16、 rtl;library ieee;use ieee.std_logic_1164.all;entity dis_decode isport(data_in:in std_logic_vector(3 downto 0); dis_num :out std_logic_vector(6 downto 0);end dis_decode;architecture rtl of dis_decode isbegin with data_in select dis_num=0111111 WHEN 0000, 0000110 WHEN 0001, 1011011 WHEN 0010, 1001111

    17、 WHEN 0011, 1100110 WHEN 0100, 1101101 WHEN 0101, 1111101 WHEN 0110, 0000111 WHEN 0111, 1111111 WHEN 1000, 1100111 WHEN 1001, 0000000 WHEN others;end rtl;library ieee;use ieee.std_logic_1164.all;entity sec_out isport(clk,rst:in std_logic; en_out :out std_logic);end sec_out;architecture rtl of sec_ou

    18、t iscomponent divide_5 port(clk,rst,en_in:in std_logic; en_out :out std_logic );end component;component divide_10 port(clk,rst,en_in:in std_logic; en_out :out std_logic );end component;signal en0,en1,en2,en3,en4,en5,en6:std_logic;begin U0:divide_5 port map(clk,rst,1,en0);U1:divide_10 port map(clk,rs

    19、t,en0,en1);U2:divide_10 port map(clk,rst,en1,en2);U3:divide_10 port map(clk,rst,en2,en3);U4:divide_10 port map(clk,rst,en3,en4);U5:divide_10 port map(clk,rst,en4,en5);U6:divide_10 port map(clk,rst,en5,en6);U7:divide_10 port map(clk,rst,en6,en_out);end rtl;library ieee;use ieee.std_logic_1164.all;use

    20、 ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity divide_5 isport(clk,rst,en_in:in std_logic; en_out :out std_logic);end divide_5;architecture rtl of divide_5 issignal cont_tmp:std_logic_vector(2 downto 0);begin en_out=en_in and cont_tmp(2);process(clk,rst)begin if(rst=0)then cont_tmp

    21、=000; elsif(clkevent and clk=1)then if(en_in=1)then if(cont_tmp=100)then cont_tmp=000; else cont_tmp=cont_tmp+1; end if; end if; end if;end process;end rtl;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity divide_10 isport(clk,rst,en_in:in s

    22、td_logic; en_out :out std_logic);end divide_10;architecture rtl of divide_10 issignal cont_tmp:std_logic_vector(3 downto 0);begin en_out=en_in and cont_tmp(3) and cont_tmp(0);process(clk,rst)begin if(rst=0)then cont_tmp=0000; elsif(clkevent and clk=1)then if(en_in=1)then if(cont_tmp=1001)then cont_t

    23、mp=0000; else cont_tmp=cont_tmp+1; end if; end if; end if;end process;end rtl;实验5参考程序library ieee; use ieee.std_logic_1164.all; ENTITY shift IS PORT(clr,clk,load,shift_en,ctr,sr,sl : IN STD_LOGIC; data_in : IN STD_LOGIC_VECTOR(7 downto 0); data_q : OUT STD_LOGIC_VECTOR(7 downto 0);END shift;ARCHITEC

    24、TURE arc OF shift IS SIGNAL data_tmp : STD_LOGIC_VECTOR(7 downto 0);Signal en_tmp1, en_tmp2, en_tmp: std_logic;BEGIN PROCESS(clr,clk) BEGIN IF (clr=0) THEN en_tmp1 =0; else en_tmp1 =shift_en; end if;end process;PROCESS(clr,clk) BEGIN IF (clr=0) THEN en_tmp2 =0; else en_tmp2= en_tmp1; end if;end proc

    25、ess; en_tmp= (not en_tmp1) and en_tmp2;data_q= data_tmp; PROCESS(clr,clk) BEGIN IF (clr=0) THEN data_tmp =00000000; ELSIF (clkEVENT AND clk=1) THEN IF load=0 THEN data_tmp = data_in; ELSIF (en_tmp =1 AND ctr=0) THEN data_tmp =sr & data_tmp (7 downto 1); ELSIF (en_tmp =1 AND ctr=1) THEN data_tmp = data_tmp (6 downto 0) & sl; END IF; END IF; END PROCESS;END arc;


    注意事项

    本文(数字系统设计技术实验指导书.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开