EDA实验指导
电气与自动化学院 EDA实验室
一、EDA工具软件
目前在教学上主要用三家公司的EDA软件和对应芯片:
Max+plus II 、 quartus II (Altera公司) Expert (Lattice公司) Fundation (Xilinx公司)
具有CPLD设计输入、编译,摸拟仿真、下载制片等功能;
具有原理图输入和文本输入两种输入方式。
(AHDL、VHDL、Verilog HDL)
1.1 MAX+PLUS II 10.0(BASELINE) 支持的器件:
1、FLEX10K10系列
如EPF10K10LC84-4
2、MAX7000S系列
如EPM7128SLC84-15
1.2 HDL语言
AHDL
Verilog HDL
VHDL(Very High Speed Intergated Circuit Hardware Description Language)
参见《EDA与课程设计》教材第二、三章
1.3 EDA设计步骤
1、设计输入
2、编译(检查语法错误)
3、仿真 (时序检查)
4、管脚分配
5、编译(检查系统设计错误)
6、下载
7、实验验证
6在计算机上完成
二、MAX+PLUS II软件使用指导
2.1设计输入方式
1.图形输入方式(.gdf文件)
2.文本输入方式
AHDL (The Altera Hardware Description Language)
VHDL
Verilog HDL
图形输入方式的过程(1)
1.双击 :我的电脑图标,进入F:盘,新建一个文件夹,用英文字母命名。zwy00
2.进入Windows桌面,双击Max+ plus II 10.0 BASELINE 图标
3. (或者 E:\maxplus2\max2win.exe)
4.启动File/Project/Name 菜单,弹出对话框,输入设计项目的名称(在自己的文件夹下)zand1;(扩展名为*.ACF)
5..点击Assign/Device菜单,弹出对话框,选择器件:
6..Device family 选 FLEX10K,
7..Device 选 EPF10K10LC84-4
8.启动File/New菜单,选择Graphic Editor,打开原理图编辑器;
图形输入方式的过程(2)
1.元器件放置(双击编辑工作区空白处,弹出对话框)
2..在元器件之间添加连线, copy, 放大
3.添加输入、输出引脚,并给它们命名;
4.保存原理图在自己的目录下,方法:FILE/SAVE AS
5.输入文件名:如 zand1 (扩展名为.GDF)
6.(画图过程中定时保存文件,以免文件丢失)。
2.2 编译(项目文件)
1. 把当前文件转换成顶层文件
2. 点击Assign/Device菜单,弹出对话框,选择:
Device family 选 FLEX10K,
Device 选 EPF10K10LC84-4
3. 启动Max+plus II/Compiler菜单,选择Start,开始编译;
若电路有错,编译器停止编译,并显示出错信息;
若电路无错,则编译通过,
生成扩展名为*.sof文件,以备硬件下载时用。
2.3 计算机仿真(时序模拟)编译通过后进行时序模拟
2.3.1 建立波形输入文件 扩展名是*.scf
1.打开菜单File/New,选Waveform Editor File(.scf),OK;
2.在波形编辑器窗口中单击鼠标右键,选Enter Nodes from SNF,打开对话框;
3.在Type 区选中Inputs和 Outputs,单击 List按钮,可在 其右下方看到设计中的输入输出信号,单击“=>”可将这些信号选到Selected Nodes & Groups区,OK。
2.3.2 编辑输入节点波形
1. 在菜单Options中选中Snap to Grid 和Show Grid,打开 Grid Size(20ns) ,设置网格时间大小; 点击File/End Time 设置摸拟时间的长短(如2us)。
2. 使用绘制图形工具条绘制输入各个节点波形,高、低电平,CLK周期选择等。
3. 可以将Q3、Q2、Q1、Q0作为一个组Q[3..0]来观测。
4. 选File/Save as存盘,生成zand1.SCF波型文件。
2.3.3 时序模拟
1. 在菜单Maxplus2中选Simulator,打开对话框,可以改变摸拟Start time 和 End time。
2. 单击Start,开始模拟;
3. 模拟完毕,单击Open *.SCF得模拟结果,可对模拟结果进行检查。
(注意动态响应的滞后
2.4 管脚分配
1. 启动Max+plus II / Floorplan Editor菜单,对话框中,显示该设计项目的信号列表和目标芯片的管脚图;
2. 选择不同的下载板(器件),管脚分配方法不一样。
东南大学板(参见表1-2-2)
北京理工板
3.管脚分配好后,再进行编译。
4. *用Assign/pin location chip 可以对分配好的管脚进行修改,*用Assign/clear project assignments 删除已分配的管脚。
2.5下载
1. 关电源。
2. 将实验板接口线与计算机并口连接,删除计算机内并口输出控制按钮;(屏幕右下角greelight)
3.如果是第一次使用该软件,启动 Options/Hardware setup菜单,
在Hardware Type中选ByteBlaster(MV);
4.启动Max+Plus II/Programmer菜单,对话框中
File : zand1.sof,
device: EPF10K10LC84-4
5. 选择 Configure 完成下载
*如果在下载对话框中给出的文件不正确,
*可在File/slect Pogramming File 中选择要下载文件,重新下载。
友情提示:
1.随时可利用帮助信息,解决疑难问题;( ? )
2.编译操作对象是顶层文件
3.相同名字的导线,在电气上相连
4.*.gdf文件可生成一个扩展名为*.sym符号体
(File/Creat default symbol )
5.器件可以旋转,复制,放大,缩小等
6.一组输入信号或一组输出信号,可用Bus(组);
7.改变管脚后,应再编译一次,没有错误才能下载。
*特别提示
设计输入有两种方式:
1. 原理图设计输入对应的文件名称是zadd1.gdf,其扩展名称是 .gdf,产生的波形文件名是zadd1.scf,编译后产生的下载文件是zadd1.sof
2. Verilog HDL设计输入对应的文件名称是sub.v,其扩展名称是 .v产生的波形文件名是sub,scf,编译后产生的下载文件是sub.sof, File/Create default symbol产生符号文件名称是sub.sym,此符号在原理图输入时当作一个元件使用。
3. *.gdf 与 *.v 文件名称不能相同。
如果在一个文件夹中出现相同名称的文件,如zadd.v和zadd.gdf,将产生非常严重的错误。
解决问题的办法是:在该文件夹中,保留zadd.v文件,删除与zadd同名的其他文件,重新产生zadd.sym文件。
2.6 Verilog HDL语言输入操作方法
1 进入Windows操作系统,打开Max+plus II 10.0 ;
2 启动File/Project/Name 菜单,输入设计文件的名称和文件存储位置);
3 点击Assign/Device菜单,选择器件EPF10K10LC84-4;
4 启动File/New菜单,选择Text Editor file,打开文本编辑器,输入文件;
5 输入文件后,点击File/Save as保存,扩展名为.v
文件;
6 把当前文件转换成顶层文件
点击Assign/Device菜单,弹出对话框,选择:
Device family 选 FLEX10K,
Device 选 EPF10K10LC84-4
COMBILE (编译);
7 关闭编译对话框,启动File/Creat default symbol,生成扩展名为*.sym符号文件,再编译一次。
该符号文件可以看作一个元器件使用。
文本文件也可以进行仿真、管脚分配、下载,方法同上所述。
三、EDA 实验装置使用说明
3.1 东南大学东讯通电子生产的以 EPF10K10LC84-4为目标芯片的实验板;
RAM型芯片,管脚与外围信号已连接好,必须按下表手工进行管脚分配
表一、(东南大学板)管脚对应表(EPF10K10)
主要器件名称
信号名
兼容器件名称
信号名
F10K10A
引脚
输出发光管
L12R
25
输出发光管
L12G
24
输出发光管
L11
23
输出发光管
L10
22
输出发光管
L9
21
输出发光管
L8
19
输出发光管
L7
18
输出发光管
L6
65
输出发光管
L5
64
输出发光管
L4
62
输出发光管
L3
61
输出发光管
L2
60
输出发光管
L1G
59
输出发光管
L1R
58
数码管
M4
M4A
动态显示
MS1~MS8
七段显示
器信号
a
17
M4B
b
16
M4C
c
11
M4D
d
10
数码管
M3
M3A
e
9
M3B
f
8
M3C
g
7
M3D
dot
6
数码管
M2
M2A
MS5
5
M2B
MS6
3
M2C
MS7
83
M2D
MS8
81
数码管
M1
M1A
MS4
80
M1B
MS3
79
M1C
MS2
78
M1D
MS1
73
数据开关
K1
28
数据开关
K2
29
数据开关
K3
30
数据开关
K4
35
数据开关
K5
36
数据开关
K6
37
数据开关
K7
38
数据开关
K8
39
数据开关
K9
47
数据开关
K10
48
数据开关
K11
49
数据开关
K12
50
数据开关
K13
51
数据开关
K14
52
数据开关
K15
53
数据开关
K16
54
扬声器
SP
27
时钟信号
CP1
1
时钟信号
CP2
43
注:1、千万不要选择自动分配管脚
MAX+PLUS II在管脚分配时按照此表进行手动分配管脚,
2、在实验板上所有连线已经接好。
3、三色数码管:有两个输入端;一个为红色,另一个为绿色,
当两个脚同时亮时为黄色;
4、两路时钟信号源在实验板上。
表二、实验板右上部CZ1开关控制功能表:
编号
控制名称
作 用
实验选定
1
静态/动态
控制八个七段显示器
静态显示/动态显示
动态(左)
2
开关、小键盘控制
K1~K16和小键盘
D1~D16起作用/失效
按键(左)
3
电平/脉冲(1)
K1~K8电平信号/脉冲信号
电平A(右)
4
电平/脉冲(2)
K9~K16电平信号/脉冲信号
电平B(右)
5
L7~L12
L7~L12工作/不工作
L1~L6(右)
6
L1~L6
L1~L6工作/不工作
L7~L12(右)
7
232(T1-IN)
232工作
任意
8
232(R1-OUT)
232工作
任意
9
A/D信号OUT
A/D工作/不工作
任意
东南大学板器件位置图:
MAX+PLUS II在管脚分配时
必须按照信号下方标注的数字分配管脚
3.2 北京理工大学达胜科技有限公司生产的以 EPF10K10LC84-4为目标芯片的实验板; RAM型芯片,管脚与外围信号没有连接,需在实验时根据管脚分配用导线连接 都是使用Altera公司的Max+plus II 10.0。
表一、(北京理工板)管脚对应表(EPF10K10LC84-4)
引出接线
端口标号
位置
对应EPF10K
的引脚号
电特性
备注
PIN12~31
芯片左侧
12~31
I/O
可编程
PIN33~52
下侧
35~53
I/O
可编程
PIN54~74
右侧
54~74
I/O
可编程
PIN4~11
75~81
上侧
5~11
78~84
I/O
可编程
CLK1
CLK0
左上方
43
1
CLK
CLK
两路
时钟输入
CLR
83
RESET
清零输入
OE
3
OE
使能输入
注:1、MAX+PLUS II管脚分配时按照此表进行手动分配管脚,
千万不要选择自动分配管脚
2、按照分配的管脚在实验板上用导线连接。
表二、(北京理工板)时钟源(EPF10K10LC84-4)
六路时钟,
CLK0,CLK1,JPCK直接对4MHZ晶振进行分频
CLK2,CLK3,CLK4,CLK5是对JPCK进行再分频
输出时钟名称
调节对象
输出频率范围
输出频率举例
JPCK
跳线排
=256Hz
CLK0
跳线排
256k~16kHz
CLK1
跳线排
16kHz~256Hz
CLK2
跳线排
CLK4
跳线排
CLK3
跳线排
CLK5
跳线排
北京理工板器件位置图:
四、动态显示控制电路原理
当用七段显示器显示的位数较多时,例如显示八位BCD码十进制数,为了节省硬件开支,常用动态显示方法,即对各显示管进行循环扫描,分时使用显示器驱动电路。
该电路由五个部分组成:四位同步计数器74161,3线-8线译码器,四位八选一数据选择器,BCD-七段显示译码器和八位显示器等。
1、四位同步计数器:
四位同步计数器的输入时钟CLK,计数器输出信号,取扫描信号和数据选择信号=,所用时钟CLK的频率决定动态显示循环扫描频率,利用人眼的视觉惯性,扫描频率应大于50HZ,根椐计数器的分频关系,同步计数器的输入时钟CLK=400HZ左右.
2、3-8线译码器:
在输入时钟CLK某一周期内,3-8译码器输入扫描信号,译码器输出八位显示器位控信号。如表1所示,此刻,位控信号只选通一个显示器。
3、四位八选一数据选择器和BCD-七段显示译码器:
在输入时钟CLK某一周期内,具体显示哪一位数是由数据选择信号控制的(如表1所示),数据选择器根椐数据选择信号的数值从八路输入数据中选择一位BCD码十进制数,通过BCD-七段显示译码器译成七段显示码(如表2所示),送给七段显示器,与此同时,由位控信号选通一个显示器,实现一位十进制数的显示。
4、在连续8个时钟周期内,八个显示器轮流点亮一个时钟周期,只要输入连续时钟CLK,就能实现八位十进制数的动态显示。
表1 由控制显示器、数据选择顺序表
扫描信号
MS8 MS7 MS6 MS5 MS4 MS3 MS2 MS1
(位控信号输出)
数据选择器输出
000
0 0 0 0 0 0 0 1
D0[3..0]
001
0 0 0 0 0 0 1 0
D1[3..0]
010
0 0 0 0 0 1 0 0
D2[3..0]
011
0 0 0 0 1 0 0 0
D3[3..0]
100
0 0 0 1 0 0 0 0
D4[3..0]
101
0 0 1 0 0 0 0 0
D5[3..0]
110
0 1 0 0 0 0 0 0
D6[3..0]
111
1 0 0 0 0 0 0 0
D7[3..0]
表2 BCD-七段显示译码电路的真值表
十进
制数
BCD
码
七段显示码SEG
gfedcba
0
0000
0111111
1
0001
0000110
2
0010
1011011
3
0011
1001111
4
0100
1100110
5
0101
1101101
6
0110
1111100
7
0111
0000111
8
1000
1111111
9
1001
1100111