第一范文网 - 专业文章范例文档资料分享平台

硬件描述语言与EDA技术实验指导书 - 图文

来源:用户分享 时间:2025/8/19 6:49:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

微电子学课程设计指导书

第二部分:时序逻辑电路设计、仿真和下载验证

实践项目性质:综合训练

所涉及课程:电路分析、数字电子技术基础、硬件描述语言与EDA技术 一、 实践目的:

1. 学习和掌握QuartusII软件的操作;

2. 通过设计24进制的计数器,掌握时序逻辑电路的设计方法; 3. 掌握基于可编程器件的VHDL硬件描述语言的设计方法。 二、 实践步骤: 1. 源程序输入

所有的实践步骤均类同于第一部分。不同之处:第一部分是原理图的设计文件格式.bdf;这一部分是VHDL文本的设计文件格式.vhdl。建立方法:选择File/New/Device Design Files/VHDL File,点击OK同,即可进行VHDL源程序的设计输入。

VHDL参考源程序: LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY counter24 IS

PORT(clk1:IN STD_LOGIC;

75

微电子学课程设计指导书

clk100:IN STD_LOGIC;

vga:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); seg_led:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END counter24;

ARCHITECTURE arch_counter24 of counter24 IS

SIGNAL sa: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL sb: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL bcd: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL scan: STD_LOGIC; BEGIN vga<=\p1:PROCESS(clk1) BEGIN

IF (clk1='1' AND clk1'EVENT) THEN

IF (sa=3 and sb=2) THEN sa<=\sb<=\ELSE

IF sa=9 THEN

sa<=\sb<=sb+1; ELSE

sa<=sa+1; END IF; END IF; END IF; END PROCESS p1; p2:PROCESS(clk100) BEGIN

IF (clk100='1' AND clk100'EVENT) THEN scan<= NOT scan;

76

微电子学课程设计指导书

END IF; END PROCESS p2; p3:PROCESS(scan)

BEGIN CASE scan IS

WHEN '0' => bcd<=sa(3 DOWNTO 0);

sel<=\

WHEN '1' => bcd<=sb(3 DOWNTO 0);

sel<=\

WHEN OTHERS=>bcd<=\

sel<=\

END CASE;

END PROCESS p3; WITH bcd SELECT

seg_led <= \ --0

\ --1 \ --2 \ --3 \ --4 \ --5 \ --6 \ --7 \ --8 \ --9 \ --其它

END arch_counter24; 2. 仿真结果

除了验证输入和输出引脚信号外,要验证中间信号或变量的情况时,打开波形

文件\\Edit\\Insert Node or Bus…\\Node Finder…\\Filter中选择“Design Entry(All names)”,再点击“List”,选择所要观察的信号。本例的仿真结果如下图所示:

77

微电子学课程设计指导书

从上图可以看出,随着计数时钟“clk1”的变化,个位sa从0~9变化,十位sb从0~2变化,但当十位sb为2时,个位sa变到3时,和十位一起回到0,从而实现24进制计数器的功能。随着扫描时钟“clk100”的变化,扫描信号“scan”0~1变化。当“scan”为“0”时,输出“11111110”(低电平有效)使最低位数码管亮,显示“sa”数字;当“scan”为“1”时,输出“11111101”使次低位数码管亮,显示“sb”数字,从而实现数码管的动态扫描。 3. 分配引脚。

记住,对于EL-EDA_VI型实验箱,要求将未分配的管脚置为三态输入:Assignments→Device…→Device→Device & Pin Options…→Unused Pins→Reserve all unused pins:AS input tri-stated。

分配管脚的结果如下图所示。

三、实践接线及说明

功能选择位VGA[3..0]状态为0010,即对应实验箱的右上角的8个数码管,数字总线的低8位BUS_D[7..0]与数码管的7段总和小数点相连,数字总线的高8位

78

硬件描述语言与EDA技术实验指导书 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3auet30hf941z4g1ryzq_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top