EDA技术与应用的二选一选择器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA 技术与应用的二选一选择器

学院名称: 东方学院

专 业: 电子信息工程

班 级:

学 号:

姓 名:

指导教师姓名:

指导教师职称:

2007年 4 月24日

JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 本科课程设计(论文)

二选一选择器

一.设计目的

1.学习VHDL编程;

2.进一步熟悉实验箱电路;

二.设计指标及功能要求

设计指标:

(1)对所设计的小系统功能正确分析;

(2)基于VHDL语言描述系统的功能;

(3)在QUARTUSⅡ环境中编译通过;

(4)仿真通过,并得到正确的波形;

(5)给出相应设计报告;

功能要求:1.用VHDL语言设计可控加减计数器;

2.至少两层电路,底层有三种元件;

3.使得其执行可控加,减记数;

三.实验步骤

1.建立Light目录,用于存放本实验所建立的文本

2.点击“File New”,在出现的对话框中,选择“VHDL File”进入文本编辑器。

3.输入VHDL语言源文件。

4.点“Save as”,保存该源文件。

5.进行编译,点“start compilation”,若语句有错会有提示,修改后重新编译直到无错误。

6.点“File New”,选择“Vector Waveform File”,建立仿真输入文件.

7.点“End time”,输入终止时间(表示波形长度).点“light”将所有信号选中或部分选中。点“start simulation”.运行波形,直至正确。

四、电路工作原理

首先,用异或门控制输入端,加一个脉冲信号。在其后方分别加上加法计数器和减法计数器:来一个脉冲,当异或门输出为0时,减法计数器开始工作,当输出为1时,加法计数器工作。这样,利用给异或门加不同的信号来控制加减计数器。

五.各子模块设计与调试过程

library ieee;

use ieee.std_logic_1164.all;

entity ora is

port(a:in std_logic;

b:out std_logic);

end entity;

architecture one of ora is

begin

b<=not a;

end architecture;

library ieee;

use ieee.std_logic_1164.all;

entity noxa is

port(a,b:in std_logic;

c:out std_logic);

end entity;

architecture one1 of noxa is

begin

c <= a xor b;

end architecture;

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt10a is

port(CP,EN:in std_logic;

q:out std_logic_vector(3 downto 0)); end cnt10a;

architecture one of cnt10a is

begin

process(CP,EN)

variable q1:std_logic_vector(3 downto 0);

begin

if(CP'event and CP='1') then

if EN='1' then

if(q1<9) then q1:=q1+1;

else q1:=(others=>'0');

end if;

end if;

end if;

q<=q1;

end process;

end one;

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

use ieee.std_logic_arith.all;

entity cnt10b is

port(CP,EN:in std_logic;

q: out std_logic_vector(3 downto 0)); end cnt10b;

architecture one of cnt10b is

begin

process(CP,EN)

variable q1:std_logic_vector(3 downto 0);

begin

if(CP'event and CP='1') then

if EN='1' then

if(q1=0) then q1:="1001";

else q1:=q1-1;

end if;

end if;

end if;

q<=q1;

end process;

end;

library ieee;

use ieee.std_logic_1164.all;

entity kekong is

port(a1,b1,cp1:in std_logic;

cq1,cq2:out std_logic_vector(3 downto 0)); end entity;

architecture wowo of kekong is

component noxa is

相关文档
最新文档