FPGA(5) 您所在的位置:网站首页 vhdl进制转换 FPGA(5)

FPGA(5)

2023-11-01 15:05| 来源: 网络整理| 查看: 265

一、实验目的

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

二、实验内容

首先用VHDL语言设计10进制计数器,要求电路具有复位端和使能端,仿真验证其正确性,并将其封装成一个元件;

用两个10进制计数器扩展成一个100进制计数器,注意两个10进制计数器间管脚的连接方式,画出其原理图并用QUARTUSⅡ软件仿真验证,仿真验证所设计电路的功能;

首先用CASE语句设计7段显示译码器电路,仿真验证其正确性,并将其封装成一个元件;用7段显示译码器将100进制计数器的两组4位二进制输出转换为10进制显示,画出其原理图并用QUARTUSⅡ软件仿真验证.

20210714203635674.png

20210714203642523.png

三、实验设计

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

Library ieee; Use ieee.Std_Logic_1164.All; Use ieee.Std_Logic_Unsigned.All; Entity count10 is port(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 begin process (clk,rst,en,load) variable q: Std_Logic_Vector (3 downto 0); begin if rst='0' then q:=(others=>'0'); elsif clk 'event and clk='1' then if en='1' then if (load='0') then q:=data; else if q'0'); end if; end if; end if; end if; if q="1001" then cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有