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