EDA实验指导书精品 下载本文

实验一 MAX+PLUSII软件的使用

[实验目的] 掌握MAX+PLUSII软件的使用。

[实验内容] 学习MAX+PLUSII软件的设计操作步骤。 [实验原理] MAX+PLUSII软件介绍。

MAX+PLUSII软件功能简介:

1 原理图输入(Graphic Editor)

MAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块。

2 硬件描述语言输入(Text Editor)

MAX+PLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。

3 波形编辑器(waveform Editor) 在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(*.SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。

4 编译与仿真

当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确。

5 器件编程

当设计全部完成后,就可以将形成的目标文件下载到芯片中,实际验证设计的准确性。 [实验步骤]

设计过程如下:

1) 输入项目文件名(File/Project/Name)

2)输入源文件(图形、VHDL、AHDL、Verlog和波形输入方式)

(Max+plusⅡ/graphic Editor, Max+plusⅡ/Text Editor, Max+plusⅡ/Waveform Editor) 3)指定CPLD型号(Assign/Device)

4)设置管脚、下载方式和逻辑综合的方式

(Assign/Global Project Device Option,Assign/Global Logic Synthesis) 5)保存并检查源文件(File/project/Save & Check) 6)指定管脚(Max+plusⅡ/Floorplan Editor)

7)保存和编译源文件(File/project/Save & Compile) 8)生成波形文件(Max+plusⅡ/Waveform Editor) 9)仿真(Max+plusⅡ/Simulator)

10) 下载配置(Max+plusⅡ/Programmer) [实验报告要求] 不做要求。

实验二 简单组合逻辑电路设计

[实验目的] 1 通过本实验提供的实例,掌握组合逻辑电路的设计方法。

2 初步了解PLD设计的全过程和相关软件的使用。

[实验内容]

1 设计一个3-8线译码器。 2 设计一个8-3线优先编码器。 3 设计一个8位数值比较器。 4 设计一个优先权排队电路。 [实验原理]

1、3-8线译码器,8-3线优先编码器,8位数值比较器在数字电路教材中有详细的论述 此处略。

2、优先权排队电路,排队顺序为:A=1 最高优先级,B=1 次高优先级,C=1 最低优先 级输出端最高只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”,即该输出端所对应的灯亮。 [实验步骤]

注:本章的实验内容均以ALTERA公司的EPF10K10适配板为基础编写。 (一)3-8线译码器: 启动Max plusⅡ软件,打开工程Test1/3-8decoder文件,下载3-8decoder.sof程序;(先插上下载线,再打开交流开关,然后打开直流开关APW1,最后打开通用下载模块的电源开关XPW1,点击软件中的下载编程或者配置按钮即可开始下载所需要的程序。后面所有的下载操作步骤均一样将不在重复介绍)。

将拨码开关AS1(2)(3)设置“ON” (当不使用数码管时AS1(1)设置“ON”)。 实验现象:拨位开关KD1~KD3分别代表图中的C、B、A;发光二极管LED1~LED8分别代表图中的LED1~LED8。当C、B、A依次从000~111拨动时,发光二极管LED1~LED8依次从左至右被选亮。

(二)8-3线优先编码器: 启动Max plusⅡ软件,打开工程Test1/encode文件,下载encode.sof程序;将拨码开关AS1(2)(3)(4)设置“ON”;按照下表1所示的真值表完成该实验。

实验现象:拨位开关KD1~KD8,KD16分别代表程序中的D0~D7,EIN;发光二极管L ED1~LED5分别代表程序中的A2N,A1N,A0N,GSN, EON。真值表输出数据中的‘1’代码所对应的发光二极管将会被点亮。

8-3线优先编码器真值表 输 入 EIN 1 0 0 0 0 0 0 0 0 0 D0 X 1 X X X X X X X 0 D1 X 1 X X X X X X 0 1 D2 X 1 X X X X X 0 1 1 D3 X 1 X X X X 0 1 1 1 D4 X 1 X X X 0 1 1 1 1 D5 X 1 X X 0 1 1 1 1 1 D6 X 1 X 0 1 1 1 1 1 1 D7 X 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 输 出 A2N A1N A0N 1 1 0 1 0 1 0 1 0 1 GSN 1 1 0 0 0 0 0 0 0 0 EON 1 0 1 1 1 1 1 1 1 1 1—高电平;0—低电平;X—任意,输入低电平有效。

(三)8位数值比较器:

启动Max plusⅡ软件,打开工程Test1/bijiaoqi文件,下载bijiaoqi.sof程序。 将拨码开关AS1(2)(3)(4)设置“ON”。

实验现象:拨位开关KD1~KD16分别代表图中的A7~A0(从高到低),B7~B0(从高到低);发光二极管LED1~LED3分别代表图中的LAMP1~LAMP3。当A[7..0]>B[7..0]时,LED3被点亮;当A[7..0]=B[7..0]时,LED2被点亮;当A[7..0]

(四)优先权排队电路:

启动Max plusⅡ软件,打开工程Test1/gate2文件,下载gate2.sof程序。 拨码开关AS1(2)(3)设置“ON”。

实验现象:拨位开关KD1~KD3分别代表图中的A,B,C;发光二极管LED1~LED3分别代表图中的LAMP1~LAMP3,在该实验中A的优先级最高。当KD1=‘1’时,发光二极管LED1被点亮;当KD1=‘0’,KD2=‘1’时,发光二极管LED2被点亮;当KD1=‘0’,KD2=‘0’,KD3=‘1’时,发光二极管LED3被点亮。 [实验报告]

要求用VHDL语言编程完成以上3-8译码器,8-3线优先编码器,8位数值比较器的设计。比较图形输入法与语言输入法的优劣。

实验三 简单时序电路设计

[实验目的]

1、 掌握基本RS触发器、D触发器、JK触发器的逻辑功能。 2、 掌握时序电路的设计方法。 3、 熟悉触发器之间相互转换的方法。 [实验内容]

1 通过模拟和仿真分析和验证三种触发器的逻辑功能及触发方式。 2 设计基本RS触发器、D触发器、JK触发器。

3 扩展任务:设计其它触发器如T触发器,并研究其相互转化的方法。 [实验原理]

1、RS基本触发器:(见相关数字电路教材,此处略)

2、D触发器:

正沿触发的D触发器的电路符号如下图所示。它是一个正边沿触发的D触发器,有一个数据输入端d,一个时钟输入端clk和一个数据输出端q。D触发器的真值表如下表所示。从表中可以看到,D锁存器的输出端只有在正沿脉冲过后,输入端d的数据才可以传递到输出端q。

D锁存器真值表

数据输入端 D X X 0 1 时钟输入端 CLK 0 1 ↑ ↑ 数据输出端 Q 不变 不变 0 1 3、JK触发器:

带有复位/置位功能的JK触发器电路符号如下图所示。JK触发器的输入端有置位输入prn,复位输入clrn,控制输入j和k,时钟信号clk;输出端q和反向输出端NQ。JK触发器的