《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 ISPORT(CLK,CLR,ENA:IN STD_LOGIC;CA,CB:BUFFER STD_LOGIC_VECTOR(5 DOWNTO 0)); END ENTITY MS;ARCHITECTURE ARE OF MS ISSIGNAL CAI:STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL CBI:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGINPROCESS (CLK,CLR,ENA) ISBEGINIF CLR='1' THENCAI<="000000";CBI<="000000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF 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 ISPORT(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 ISTYPE STATE_TYPE IS(S0,S1,S2,S3,S4,S5,S6,S7,S8);SIGNAL STATE:STATE_TYPE;BEGINPROCESS(CLK,RESET,INS) ISBEGINIF RESET='1' THENSTATE<=S0;ELSIF CLK'EVENT AND CLK='1' THENCASE STATE ISWHEN S0=>IF INS='1' THEN STATE<=S1;ELSE STATE<=S0;END IF;WHEN S1=>IF INS='0' THEN STATE<=S2;ELSE STATE<=S1;ENDIF;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)BEGINCASE STATE ISWHEN 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)、计数脉冲形成电路:将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。