步骤6、给输入、输出引脚命名 电路图绘制完成后,给输入、输出引脚命名,即将 PIN NAME改为:ab,c和yo,y1yy, 如图1-2-6所示 y3 图1-2-6给输入、输出引脚命名 步骤7、保存原理图 在菜单 File save下保存原理图,对于第一次输入的新原理图,出现类似文件管理的 对话框,将文件存入用户库、文件名为L38gdf 步骤8、编译 启动MAX+ plusll \Compiler菜单,按Stat开始编译,如图1-2-7,若电路中有错,则 显示出错提示。若电路无错,则编译通过,生成sof和pof文件,以备硬件下载或编程时 Database Logic Timing Netlist PartitionerFitter Assembler 图1-2-7编译 用,同时生成rpt文件,可详细查看编译结果 步骤9、时序模拟仿真 编译通过以后就可以进行时序模拟仿真 1.建立波形输入文件 100
步骤 6、给输入、输出引脚命名 电路图绘制完成后,给输入、输出引脚命名,即将PIN_NAME改为:a,b,c和y0,y1,……y7, 如图 1-2-6 所示。 图 1-2-6 给输入、输出引脚命名 步骤 7、保存原理图 在菜单 File \Save 下保存原理图,对于第一次输入的新原理图,出现类似文件管理的 对话框,将文件存入用户库、文件名为 L38.gdf。 步骤 8、编译 启动 MAX+plusII \Compiler 菜单,按 Start 开始编译,如图 1-2-7,若电路中有错,则 显示出错提示。若电路无错,则编译通过,生成.sof 和.pof 文件,以备硬件下载或编程时 用,同时生成.rpt 文件,可详细查看编译结果。 图 1-2-7 编译 步骤 9、时序模拟仿真 编译通过以后就可以进行时序模拟仿真。 1.建立波形输入文件 100
(1)在菜单Fil/New下选择 Waveform editor file.scf,如图1-2-8所示。 File Type C Graphic Editor file「 C Symbol Editor file C Iext Editor file file . scf OK 图1-2-8打开波形输入编 (2)波形编辑器窗口如图1-2-9所示,在Name下方单击鼠标右键,出现浮动菜单, 选择 Enter nodes from sne,进入对话框如图1-2-10所示 Eu Enter Nodes from SHF Ayailable Nodes Groups: Selected Nodes Group V Preserve Existing Nodes l! nputs厂 Registered Show Al Node Name Synonyms Outputs Combinatorial 厂A 厂 图1-2-10添加输入、输出节点 (3)在Type区选择 Inputs和 outputs,单击List按钮,则在 Available nodes& Groups
(1)在菜单 File/New 下选择 Waveform Editor File .scf,如图 1-2-8 所示。 图 1-2-8 打开波形输入编 (2)波形编辑器窗口如图 1-2-9 所示,在 Name 下方单击鼠标右键,出现浮动菜单, 选择 Enter Nodes from SNF……,进入对话框如图 1-2-10 所示。 图 1-2-9 波形编辑器窗口 图 1-2-10 添加输入、输出节点 (3)在 Type 区选择 Inputs 和 outputs,单击 List 按钮,则在 Available nodes &Groups 101
中出现所有输入、输出节点名称,选择需要仿真的节点名称,单击→>按钮,则它们被添加 到 Selected Nodes& Groups中,OK。 2.编辑输入节点波形 (1)在图1-2-11所示的界面中对输入节点波形进行编辑,可以设置的项有:在菜单 Options中选择 Snap to Grid(画线时网格对齐)、 Show grid(显示网格),并打开Grid Sie.…,设置网格大小(如200ns),并点击 file/End Time设置模拟时间的长短(如2μs)。 (2)用波形绘制工具条绘制输入节点ab,c的波形。 (3)选 File\save保存文件,生成扩展名为scf的波形文件。 回 End:160Ons Interval: 800ns 60 n5 1400ns1600ns 质x波形绘制 &grid s 图1-2-11波形编辑选项 3.时序模拟仿真 (1)选择菜单Max+ plusll Simulator,界面如图1-2-12所示 (2)单击 Start,开始模拟仿真 (3)仿真完毕后,单击 Open SCF,打开仿真结果,如图1-2-13所示。分析仿真结 果可见,波形图满足表1-2-1所列的3线-8线译码器的真值表(注意有仿真 延时和竞争冒险现象)。 口 Simulation Input: 3-8. scf Simulation Time:0.0ns Start Time: 0.Ons End Time: 1.Ous Use device 厂 Oscillation 0.ns Setup/Hold 厂 Check Outputs 厂 Glitch o.ns 独3-8sf- Tave for"Id五tar Time: 132.9ns Intervat-271ns 160 Ons 200ns 图-2-12时序模拟仿真界面 图1-2-13仿真结果
中出现所有输入、输出节点名称,选择需要仿真的节点名称,单击=>按钮,则它们被添加 到 Selected Nodes & Groups 中,OK。 2.编辑输入节点波形 (1) 在图 1-2-11 所示的界面中对输入节点波形进行编辑,可以设置的项有:在菜单 Options 中选择 Snap to Grid(画线时网格对齐)、Show Grid(显示网格),并打开 Grid Size…..,设置网格大小(如 20.0ns),并点击 file/End Time 设置模拟时间的长短(如 2µs)。 (2) 用波形绘制工具条绘制输入节点 a,b,c 的波形。 (3) 选 File\save 保存文件,生成扩展名为.scf 的波形文件。 图 1-2-11 波形编辑选项 波形绘制 工具条 3.时序模拟仿真 (1) 选择菜单 Max+plusII\Simulator,界面如图 1-2-12 所示; (2) 单击 Start,开始模拟仿真; (3) 仿真完毕后,单击 Open SCF,打开仿真结果,如图 1-2-13 所示。分析仿真结 果可见,波形图满足表 1-2-1 所列的 3 线-8 线译码器的真值表(注意有仿真 延时和竞争冒险现象)。 102 图 1-2-12 时序模拟仿真界面 图 1-2-13 仿真结果
表1-2-13线-8线译码器真值表 yoy1y2y3y4y5y6y7 00 10000000 001 01000000 010 00100000 011 00010000 00001000 101 00000100 110 00000010 111 00000001 步骤10、管脚分配 仿真模拟正确后,就可以准备下载至PLD芯片进行硬件验证了。在下载前需要进行 管脚分配,启动MAX+ plusll\ Floorplan Editor菜单,则显示该设计项目的信号列表和目标 芯片的管脚图图,如图1214所示。在MAX+pus2中,管脚分配有自动和手动两 种方式,自 动方式由软件自动完成管脚分配,手动方式则由用户完成管脚分配。 过程如下 (1)按键,所有的输入、输出口出现在 Unassigned Nodes栏内,用户可以用 手动方式分配管脚 (2)用鼠标左键按住某输入隃输出口名称,拖到下面芯片的某一管脚上,松开鼠标, 便完成一个管脚的分配。 (3)按原|键,软件自动分配管脚 注意:芯片上有一些特定功能的管脚,进行管脚编辑时一定要注意不能使用它们。另 外,在实验步骤3中若选择器件为Auto,则不允许对管脚进行再分配
表 1-2-1 3 线-8 线译码器真值表 a b c y0y1y2y3y4y5y6y7 000 1 0 0 0 0 0 0 0 001 0 1 0 0 0 0 0 0 010 0 0 1 0 0 0 0 0 011 0 0 0 1 0 0 0 0 100 0 0 0 0 1 0 0 0 101 0 0 0 0 0 1 0 0 110 0 0 0 0 0 0 1 0 111 0 0 0 0 0 0 0 1 步骤 10、管脚分配 仿真模拟正确后,就可以准备下载至 PLD 芯片进行硬件验证了。在下载前需要进行 管脚分配,启动 MAX+plusII\ Floorplan Editor 菜单,则显示该设计项目的信号列表和目标 芯片的管脚 图,如图 1-2-14 所示。在 MAX+plus2 中,管脚分配有自动和手动两 种方式,自 动方式由软件自动完成管脚分配,手动方式则由用户完成管脚分配。 过程如下: (1)按键,所有的输入、输出口出现在 Unassigned Nodes 栏内,用户可以用 手动方式分配管脚。 (2)用鼠标左键按住某输入/输出口名称,拖到下面芯片的某一管脚上,松开鼠标, 便完成一个管脚的分配。 (3)按 键,软件自动分配管脚。 注意:芯片上有一些特定功能的管脚,进行管脚编辑时一定要注意不能使用它们。另 外,在实验步骤 3 中若选择器件为 Auto,则不允许对管脚进行再分配。 103
管脚分配时应注意实验箱的实际情况,选择自动或手动分配管脚。如图1-2-15所示 北京理工达盛科技有限公司生产的以EPM7128SLC84-6为目标芯片的实验箱,其PLD芯片 的引脚与外部的开关、LED显示、数码管显示等没有连接在一起,要求程序设计员在数字 系统下载后手工连接以验证设计,则管脚分配为自动分配和手动分配皆可。若实验箱本身 已经将PLD芯片的引脚与外部的开关、LED显示、数码管显示等锁定在一起,不能改变 则管脚分配时只能根据管脚与外部器件的对应表用手动方式分配,如图1-2-16所示,东南 大学东迅通公司生产的以EPF10Kl10LC84-3为目标芯片的实验箱,管脚与外部器件的锁 定关系如表1-2-2所列,则分配管脚时,输入逻辑信号ab,c只能分配给28、29、30.….….中 的任三个管脚与信号开关相连,输出电平yoy1…y只能分配给25、24、23.…中的任8 个管脚与发光管相连。 Chip Name:[38(EPF10K1OLC84-4) ored Node磊Pn □ Unrouted □ Row FastTrack □ Column FastTrack elected Nodefa)& Pineal ■ Nonassignable bao, aKUSHO 69b0o. INIT DONE) 10 图1-2-14管脚分配 尽管自动分配管脚操作简单,但由于自动分配管脚的任意性,会给用户在连线和验证 设计时带来很多不便,所以建议使用手动方式分配管脚。 (4)管脚分配结束后,再进行一次编译。 表1-2-2F10K10与外部器件管脚锁定表
管脚分配时应注意实验箱的实际情况,选择自动或手动分配管脚。如图 1-2-15 所示, 北京理工达盛科技有限公司生产的以EPM7128SLC84-6 为目标芯片的实验箱,其PLD芯片 的引脚与外部的开关、LED显示、数码管显示等没有连接在一起,要求程序设计员在数字 系统下载后手工连接以验证设计,则管脚分配为自动分配和手动分配皆可。若实验箱本身 已经将PLD芯片的引脚与外部的开关、LED显示、数码管显示等锁定在一起,不能改变, 则管脚分配时只能根据管脚与外部器件的对应表用手动方式分配,如图 1-2-16 所示,东南 大学东迅通公司生产的以EPF10K110LC84-3 为目标芯片的实验箱,管脚与外部器件的锁 定关系如表 1-2-2 所列,则分配管脚时,输入逻辑信号a,b,c只能分配给 28、29、30……中 的任三个管脚与信号开关相连,输出电平y0,y1,……y7只能分配给 25、24、23……中的任 8 个管脚与发光管相连。 图 1-2-14 管脚分配 尽管自动分配管脚操作简单,但由于自动分配管脚的任意性,会给用户在连线和验证 设计时带来很多不便,所以建议使用手动方式分配管脚。 (4)管脚分配结束后,再进行一次编译。 表 1-2-2 F10K10 与外部器件管脚锁定表 104