ustcanycall / OS

0 stars 0 forks source link

调研6 #10

Open ustcanycall opened 10 years ago

ustcanycall commented 10 years ago

ACTIVE-VHDL 实验:设计 138,仿真测试

设计目的

通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。

实验平台

Active-VHDL

有关VHDL语言

VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。 VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。

3-8译码器原理

3-8译码器内部电路:

1

3-8译码器引脚排列图

2

实验代码

---------------------------------------------------------------------------------------------------
--
-- Title       : usr1
-- Design      : i386
-- Author      : anycall
-- Company     : ustcanycall
--
---------------------------------------------------------------------------------------------------
--
-- File        : usr.vhd
-- Generated   : Sun Dec  1 13:21:09 2013
-- From        : interface description file
-- By          : Itf2Vhdl ver. 1.20
--
---------------------------------------------------------------------------------------------------
--
-- Description : 
--
---------------------------------------------------------------------------------------------------

--{{ Section below this comment is automatically maintained
--   and may be overwritten
--{entity {usr1} architecture {usr2}}

library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity usr1 is    
 port(
  A:in std_logic_vector(2 downto 0);
  EN:in std_logic;
  Y:out std_logic_vector(7 downto 0)
  );    
end usr1;

--}} End of automatically maintained section

architecture usr2 of usr1 is     
     signal sel:std_logic_vector(3 downto 0);
begin
 sel<=A&EN;

 with sel select
  Y<= "00000001" when "0001",
   "00000010" when "0011",
   "00000100" when "0101",
   "00001000" when "0111",
   "00010000" when "1001",
   "00100000" when "1011",
   "01000000" when "1101",
   "10000000" when "1111",
   "XXXXXXXX" when others;

     -- enter your statements here --

end usr2;

仿真结果

qq20131201141757