文章目录

  • 一、实验目的
  • 二、实验内容
  • 三、实验设计

一、实验目的

掌握一般性计数器的VHDL设计方法,熟悉程序文本和原理图结合方法设计电路。掌握CASE语句的基本使用方法。

二、实验内容

  1. 首先用VHDL语言设计10进制计数器,要求电路具有复位端和使能端,仿真验证其正确性,并将其封装成一个元件;
  2. 用两个10进制计数器扩展成一个100进制计数器,注意两个10进制计数器间管脚的连接方式,画出其原理图并用QUARTUSⅡ软件仿真验证,仿真验证所设计电路的功能;
  3. 首先用CASE语句设计7段显示译码器电路,仿真验证其正确性,并将其封装成一个元件;用7段显示译码器将100进制计数器的两组4位二进制输出转换为10进制显示,画出其原理图并用QUARTUSⅡ软件仿真验证.

三、实验设计

1.首先用VHDL语言设计一个10进制计数器,该计数器具有复位端和使能端,因此需要使用条件语句实现其功能,并且应该是四位的输入输出。VHDL代码如下:

Library ieee;
Use ieee.Std_Logic_1164.All;
Use ieee.Std_Logic_Unsigned.All;
Entity count10 isport(clk,rst,en,load: in Std_Logic;data: in Std_Logic_Vector (3 downto 0);dout: out Std_Logic_Vector (3 downto 0);cout: out Std_Logic);
End Entity count10;
Architecture bhv of count10 is
beginprocess (clk,rst,en,load)variable q: Std_Logic_Vector (3 downto 0);beginif rst='0' then q:=(others=>'0');elsif clk 'event and clk='1' thenif en='1' thenif (load='0') then q:=data; elseif q<9 then q:=q+1;else q:=(others=>'0');end if;end if;end if;end if;if q="1001" then cout<='1';else cout<='0';end if;dout<=q;End process;
End Architecture bhv;

验证其正确性,仿真波形图如下:

2. 用两个10进制计数器扩展成一个100进制计数器,注意其引脚的连接方式。

仿真验证其正确性,波形图如下:

3. 用CASE语句设计7段显示译码器电路,根据不同数字对应显示不同数码管的情况,设计正确的对应关系。VHDL代码如下:

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL ;
use Ieee.std_logic_unsigned.all;
entity led7 isport (indata: in std_logic_vector(3 downto 0);odata: out std_logic_vector(6 downto 0));
end entity led7;
architecture bhv of led7 isbeginprocess (indata)begincase (indata) iswhen "0000" => odata<= "0111111" ;when "0001" => odata<= "0001110" ;when "0010" => odata<= "1011011" ;when "0011" => odata<= "1001111" ;when "0100" => odata<= "1100110" ;when "0101" => odata<= "1101101" ;when "0110" => odata<= "1111101" ;when "0111" => odata<= "0000111" ;when "1000" => odata<= "1111111" ;when "1001" => odata<= "1101111" ;when others => null;end case;end process;
end architecture bhv;

将其封装成一个元件。在VHDL描述页面,选file→create/update→create symbol files for current file,把编写的代码封装成一个元件。

用7段显示译码器将100进制计数器的两组4位二进制输出转换为10进制显示。原理图如下:

验证其正确性,仿真波形如下:

FPGA(5)--VHDL--10十进制计数器及7段显示译码器相关推荐

  1. FPGA(6)--7段显示译码器的加法计数器

    文章目录 一.实验目的 二.实验内容 三.实验设计与结果 四.实验思考与小结 一.实验目的 在上次加法计数器仿真实验的基础上,掌握端口的引脚配置.实验箱的接线及程序的下载.调试等. 二.实验内容 1. ...

  2. 74ls90设计十进制计数器电路图_利用555与74ls90制作电子秒表

    用555与74ls90制作电子秒表 编者按:电子秒表是测定段时间间隔的仪表,由振荡电路.计数器.译码器.显示电路等部分组成,其中振荡器组成标准秒信号发生器,由不同进制的计数器.译码器和显示器组成计时系 ...

  3. (90)FPGA十进制计数器设计-面试必问(十四)(第18天)

    (90)FPGA十进制计数器设计(第18天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)FPGA十进制计数器设计-面试必问(十四)(第18天) 5)技术交流 ...

  4. 笔记:FPGA与VHDL语言学习2

    FPGA与VHDL语言学习2 目录 1. 7位2进制计数器程序,要求计算器从0开始计数,计数到59(十进制的59,看到的是二进制数)后归零,重新循环计数 2. 2位十进制计数器程序,要求计数器从00开 ...

  5. 笔记:FPGA与VHDL语言学习3

    FPGA与VHDL语言学习3 目录 1. LPM_RAM的设置和调用方法,设计一个LPM_RAM 2. 简易正弦信号发生器(这里要使用的 data7X8 .mif 文件),要求用LPM设计一个七位计数 ...

  6. hdl四位二进制计数器_四位二进制计数器这样接成十进制计数器

    十进制计数器与4位二进制计数器有些相似,但4位二进制计数器需要计数到1111然后 才能返回到0000,而十进制计数器要求计数到1001 (相当于9)就返回0000.8421BCD码 十进制计数器是一种 ...

  7. 16 分频 32 分频是啥意思_CD4017是什么?十进制计数器分频器CD4017的逻辑功能呢?...

    一.CD4017功能概述 CD4017是5位Johnson十进制计数器分频器,时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制,CD4017 提供了16 引线多层陶瓷双列直 ...

  8. (50)VHDL实现增减计数器

    (50)VHDL实现增减计数器 1.1 目录 1)目录 2)FPGA简介 3)VHDL简介 4)VHDL实现增减计数器 5)结语 1.2 FPGA简介 FPGA(Field Programmable ...

  9. (24)System Verilog设计十进制计数器

    (24)System Verilog设计十进制计数器 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog设计十进制计数器 1.十进制计数器 ...

最新文章

  1. 剑指offer 算法 (分解让复杂问题简单)
  2. Linux的目录结构和头文件相关;哪里找- sys/types.h, sys/stat.h
  3. Springboot分模块开发详解(2):建立子工程
  4. oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110
  5. 免費玩雲端運算,Amazon Web Service 雲端運算平台攻略 【1】
  6. 25岁php,“最好的语言“ 25 岁了,PHP说要走向安全和开放!
  7. Android异常总结---W/System.err(661): java.lang.IllegalStateException: End of document.
  8. 绿色应用成主流,国内千款主流应用75%已达绿标
  9. mysql 分组之后统计记录条数
  10. CIO40知识星球—3年主管升职IT经理(28-30岁)
  11. epson连接计算机后无法打印,如何解决连接到Epson打印机后计算机无法打印的问题...
  12. c语言自动按键脚本,纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
  13. 分享图片至Facebook与Twitter
  14. python爬股指期货数据_新浪期货数据接口API(实时数据/历史数据)
  15. transforms及Compose
  16. html中的项目符号和编号,CSS重新定义项目符号和编号
  17. 深入探讨IGP协议:OSPF与ISIS的区别(区域类型比较,邻接关系比较,DR和DIS比较,如何计算路由以及性能的比较)
  18. 龙芯IPC追平Zen2 稳步推进产业生态
  19. 计算机毕业设计Java智慧防疫上报系统小程序端(源码+系统+mysql数据库+Lw文档)
  20. linux如何打印环境变量,在Linux中打印环境变量

热门文章

  1. 使用Jasper Reports以Java创建报告
  2. 使用Scala,Play和Akka连接到RabbitMQ(AMQP)
  3. MacOS 系统使用命令安装软件包
  4. Linux 命令之 ps -- 显示进程状态/查看进程信息
  5. 百度feeds联盟软件测试开发,UI 自动化测试用例整理举例-百度首页
  6. html 定时刷新 数据,js中,设置定时器 每隔几秒刷新一次页面数据
  7. 一天发多少短信会封号_枸杞一天吃多少?吃多了会怎样?黑枸杞红枸杞哪个好?...
  8. 输入一个正整数求所有素数因子_一起来聊聊素数的两个性质
  9. php中is_int用法,php – is_int()和ctype_digit()之间有区别吗?
  10. 几何画板200个经典课件_项目制学科联动 | 金芬娥首席工作室:灵动“画板”,研修创新,协同进步...