EDA技术基础实验报告

EDA技术基础实验报告
EDA技术基础实验报告

《EDA技术基础》

实验报告

学院:信息科学技术学院

专业:电子信息工程

指导教师:龙翔

完成日期:2013年12月

目录

实验一MAX-plusll 及开发系统使用 (3)

实验二高速四位乘法器设计 (6)

实验三秒表的设计 (9)

实验四序列检测器的设计 (13)

实验五数字频率计的设计 (18)

六实验总结 (20)

实验一

一:实验名称:

MAX-plusll 及开发系统使用

二:实验内容

1.利用MAX-plusII中的图形编辑器设计一半加器,进行编译、仿真,

并将其设置成为一元件。

2.建立一个更高的原理图设计层次,利用前面生成的半加器元件设计一个全加器,进行编译、仿真,并将其设置成为一个元件。

3.再建立一个更高的原理图设计层次,利用前面生成的半加器元件设计一个全加器,进行编译、仿真。

4.选择器件“Assign”“Device”“MAX7000S”“EPM7128SLC84-6”,并根据下载板上的标识对管脚进行配置。然后下载,进行硬件测试,检验结果是否正确。

三.实验程序

1).半加器图

2)全加器图

3)四位全加器

四:仿真图

1).半加器仿真图

2).全加器仿真图

3).四位全加器仿真图

实验二

一:实验名称

高速四位乘法器设计

二: 实验内容

1.利用MAX-plusⅡ中的图形编辑器设计1-4的二进制乘法器,进行编译、仿真,并将其设置成为一元件,命名为and14。

2.建立一个更高得原理图设计层次,利用前面生成的1-4的二进制乘法器和调用库中的74283元件设计一高速4位乘法器。

三:实验程序

1.

2.

四:仿真图

实验三

一:实验名称

秒表的设计

二:实验内容

(一)、实验步骤

1、采用自顶向下的设计方法,首先将系统分块;

2、设计元件,即逻辑块;

3、一级一级向上进行元件例化(本实验只需例化一次即可),设计顶层文件。

(二)、实验程序设计原理

实验程序如三所示,其中输入信号分别为使能信号ENA、清零信号CLR、时钟信号CLK,输出信号有秒针信号CA和分针信号CB。实验原理为通过始终信号,控制两个计数器的计数来实现的,当始终上升沿到来时,对信号CAI进行计数,当CAI计数达到59,则产生一个进位1,从而对信号CBI进行计数,即信号CAI每次达到59就对信号CBI进行计数一次,同时下个时钟上升沿到来时,信号CAI复位为0.当信号CBI达到59时,则下个时钟上升沿到

来时,信号CBI复位为0。

三.实验程序

LIBRARY IEEE;

USE MS IS

PORT(CLK,CLR,ENA:IN STD_LOGIC;

CA,CB:BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0)); END ENTITY MS;

ARCHITECTURE ARE OF MS IS

SIGNAL CAI:STD_LOGIC_VECTOR(5 DOWNTO 0);

SIGNAL CBI:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN

PROCESS (CLK,CLR,ENA) IS

BEGIN

IF CLR='1' THEN

CAI<="000000";

CBI<="000000";

ELSIF CLK'EVENT AND CLK='1' THEN

IF ENA='1' THEN

IF CAI="111011" THEN CAI<="000000";CBI<=CBI+1;

IF CBI="111011" THEN CBI<="000000";

ELSE CBI<=CBI+1;

END IF;

ELSE CAI<=CAI+1;

END IF;

END IF;

END IF;

END PROCESS;

CA<=CAI;

CB<=CBI;

END ARCHITECTURE ARE

四:仿真图

实验四

一:实验名称

序列检测器的设计

二:实验内容

(一)、实验步骤

1、序列检测器的基本工作过程:

序列检测器用于检测一组或多组由二进制码组成的脉冲序列信号,在数字通信中有着广泛的应用。当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新开始检测。方框图如下:

2、状态机的基本设计思想:

在状态连续变化的数字系统设计中,采用状态机的设计思想有利于提高设计效率,增加程序的可读性,减少错误的发生几率。同时,状态机的设计方法也是数字系统中一种最常用的设计方法。一般来说,标准状态机可以分为摩尔(Moore)机和米立(Mealy)机两种。在摩尔机中,其输出仅仅是当前状态值的函数,并且仅在时钟上升沿到来时才发生变化。米立机的输出则是当前状态值、当前输出值和当前输入值的函数。本实验要从一串二进制码中检测出一个已预置的8 位二进制码,每增加一位二进制码相当于增加一个状态,再加上一个初始态,用9个状态可以实现。其过程如下:

注意:此图作为参考,检测不同的二进制码其过程不同!

3、实验内容:

写出状态机的源程序,编译后进行仿真,看结果是否正确。

(二)、实验程序原理

实验程序如三所示,其中RESET为复位输入信号,CLK为时钟输入信号,INS为输入信号,OUTS为输出信号,DATAOUT为状态输出信号。实验原理为当时钟上升沿每到来一次,INS输入一个信号,如果INS依次输入“”时,OUTS就输出一个‘1’信号,否则其他情况OUTS都是输出‘0’信号。而DATAOUT则根据输

入信号INS来输出一个状态值。

三.实验程序

LIBRARY IEEE;

USE ZT IS

PORT(CLK,INS,RESET:IN STD_LOGIC;

OUTS:OUT STD_LOGIC;

DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ENTITY ZT;

ARCHITECTURE ART OF ZT IS

TYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5,S6,S7,S8);

SIGNAL STATE:STATE_TYPE;

BEGIN

PROCESS(CLK,RESET,INS) IS

BEGIN

IF RESET='1' THEN

STATE<=S0;

ELSIF CLK'EVENT AND CLK='1' THEN

CASE STATE IS

WHEN S0=>IF INS='1' THEN STATE<=S1;ELSE STATE<=S0;END IF;

WHEN S1=>IF INS='0' THEN STATE<=S2;ELSE STATE<=S1;END

IF;

WHEN S2=>IF INS='0' THEN STATE<=S3;ELSE STATE<=S1;END IF;

WHEN S3=>IF INS='0' THEN STATE<=S4;ELSE STATE<=S1;END IF;

WHEN S4=>IF INS='1' THEN STATE<=S5;ELSE STATE<=S0;END IF;

WHEN S5=>IF INS='1' THEN STATE<=S6;ELSE STATE<=S2;END IF;

WHEN S6=>IF INS='1' THEN STATE<=S7;ELSE STATE<=S2;END IF;

WHEN S7=>IF INS='0' THEN STATE<=S8;ELSE STATE<=S1;END IF;

WHEN S8=>STATE<=S0;

WHEN OTHERS=>STATE<=S0;

END CASE;

END IF;

END PROCESS;

PROCESS(STATE)

BEGIN

CASE STATE IS

WHEN S0=>DATAOUT<="00000000";OUTS<='0';

WHEN S1=>DATAOUT<="00000001";OUTS<='0';

WHEN S2=>DATAOUT<="00000010";OUTS<='0';

WHEN S3=>DATAOUT<="00000100";OUTS<='0';

WHEN S4=>DATAOUT<="00001000";OUTS<='0';

WHEN S5=>DATAOUT<="00010001";OUTS<='0';

WHEN S6=>DATAOUT<="00100011";OUTS<='0';

WHEN S7=>DATAOUT<="01000111";OUTS<='0';

WHEN S8=>DATAOUT<="";OUTS<='1';

WHEN OTHERS=>DATAOUT<="00000000";

END CASE;

END PROCESS;

END ARCHITECTURE ART;

四:仿真图

实验五

一:实验名称

数字频率计的设计

二:实验内容

(一)、实验步骤

1、测频原理

若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进制时间。频率计方框图如下:

(1)、时基T 产生电路:

提供准确的计数时间T。晶振产生一个振荡频率稳定的脉冲,通过分频整形、门控双稳后,产生所需宽度的基准时间T的脉冲,又称闸门时间脉冲。注意:分频器一般采用计数器完成,计数器的模即为分频比。

(2)、计数脉冲形成电路:

将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。

(3)、计数显示电路:

对被测信号进行计数,显示被测信号的频率。计数器一般采用多位10 进制计数器;控制逻辑电路控制计数的工作程序:准备——计数——显示——复位——准备下一次测量。

2、具体实现:

(1)、测频控制逻辑电路(以1 秒为例)

A)产生一个1秒脉宽的周期信号;

B)对计数器的每一位计数使能进行控制;

C)完成下一次测量前的计数器复位;

一种可能的时序关系:

a) 10 进制计数器

要求具有计数使能端CNTEN、复位端CLR、进位输出端CO。

3、元件例化图(方框图):

(二)、实验程序原理

实验程序如三所示,输入信号为复位信号CLR、输入信号CLK和CLK1,其中CLK 为时间计数,一个周期为1s,而CLK1为脉冲计数,一个周期为10ms。当信号SSI为‘0’时,信号CQI随着时钟信号CLK1的上升沿到来开始计数,没来一次上升沿计数一次。而当时钟信号CLK下降沿到来时,信号SSI变化为‘1’,则信号CQI停止计数。从而在1s时刻读取输出信号CQ的值,即为脉冲信号的频率。

三.实验程序

LIBRARY IEEE;

USE PLJ IS

PORT(CLK,CLR,CLK1:IN STD_LOGIC;

SS:OUT STD_LOGIC;

CQ:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));

END ENTITY PLJ;

ARCHITECTURE ART OF PLJ IS

SIGNAL CQI:STD_LOGIC_VECTOR(6 DOWNTO 0);

SIGNAL SSI:STD_LOGIC;

BEGIN

PROCESS(CLK,CLR) IS

BEGIN

IF CLR='1' THEN SSI<='0';

ELSIF CLK'EVENT AND CLK='0' THEN SSI<='1';

END IF;

END PROCESS;

PROCESS(CLR,CLK1) IS

BEGIN

相关主题
相关文档
最新文档