首页 第8章 常用EDA软件介绍

第8章 常用EDA软件介绍

举报
开通vip

第8章 常用EDA软件介绍null第八章 常用EDA软件介绍 第八章 常用EDA软件介绍 8.1 eProduct Designer软件介绍 8.2 Tanner使用指南 8.3 Cadence EDA软件的使用 8.1 eProduct Designer软件介绍8.1 eProduct Designer软件介绍 8.1.1 子系统设计 在ePD软件中, 对于基于原理图输入的数字系统设计, 一般的工作流程如下所示: null创建工程 ↓ 绘制电路图 ↓ 验证电路图 ↓ 仿真 ↓ 网表文件传给PCB生产...

第8章 常用EDA软件介绍
null第八章 常用EDA软件介绍 第八章 常用EDA软件介绍 8.1 eProduct Designer软件介绍 8.2 Tanner使用指南 8.3 Cadence EDA软件的使用 8.1 eProduct Designer软件介绍8.1 eProduct Designer软件介绍 8.1.1 子系统 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 在ePD软件中, 对于基于原理图输入的数字系统设计, 一般的工作 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如下所示: null创建工程 ↓ 绘制电路图 ↓ 验证电路图 ↓ 仿真 ↓ 网表文件传给PCB生产方 ←→Dashboard ←→ ViewDraw ←→ Schemetic Check ←→ Fusion ←→ Creat PCB Netlist null 1. 建立工程(Project Setup) 1) 关于工程 在使用eProduct Designer进行设计时, 首先必须创建一个工程。 一个工程就是一个路径, 用来说明当前的工作区。 null 2) 启动Dashboard 从开始菜单中, 点击Programs→Innoveda→eProduct Designer, 就启动了Dashboard。 Dashboard界面如图8 - 1所示。 null图 8 - 1 Dashboard界面 null 3) 创建ePD工程 通过使用Dashboard可以创建、 配置任意的ePD工程。 创建一个新工程的过程如下: (1) 在Dashboard主菜单中点击工程向导(Project Wizard)图标 , 打开工程向导, 使用这个向导创建、 配置ePD工程。 Project Wizard界面如图8 -2所示。 null图 8 - 2 Project Wizard界面 null (2) 选中Create or Open a project, 然后点击下一步,会弹出一个Specify Project Directory对话框, 在这里可以指定你所创建工程的路径和名称, 如图8 - 3所示。 null图 8 - 3 Specify Project Directory 对话框null (3) 在Project Directory栏内输入工程名及其路径F:\asic, 如图8 - 4所示。  (4) 点击下一步, 打开Specify Project Libraries对话框, 如图 8 - 5 所示。 在这里可以载入必要的库单元文件。 (5) 选中Add, 可弹出一个Add Library对话框, 如图 8- 6 所示。 点击Path后面的浏览键 , 选中所需的库单元后, 点击OK即可。 null图 8 - 4 输入工程名及其路径 null图 8 - 5 Specify Project Libraries对话框 null图 8 - 6 Add Library对话框 null (6) 加完库后, 在Specify Project Library对话框中会显示所加库的信息, 如图8 - 7 所示。 (7) 选择完成后会打开一个New Project Information对话框, 如图 8 - 8 所示。 (8) 点击OK按钮。 null图 8 - 7 显示所加库的信息 null图 8 - 8 New Project Information对话框 null 4) 在库的搜索命令中加入一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 库 用ePD进行一个设计时, 这个设计是由不同元件构成的。一般情况下,加入到该设计中的各种元件是从一个标准的器件库中复制过来的, 也可以加入先前已经创建好的用户自定义元件。 用户必须确认建立设计所需要的所有的库, 并且要把这些库加入到工程的库搜索命令中。 用户可以使用ePD的Dashboard, 把所需的库加入到自己的工程中;也可以通过下面的方法给工程加库。 null 给当前工程加入一个标准库的过程如下: (1) 使用鼠标左键选中工程asic, 点击鼠标右键, 弹出一个菜单, 如图8 - 9所示。 (2) 选中 Add Library, 打开Properties对话框, 如图8 - 10所示。 (3) 在Path后输入正确的路径或点击浏览选择所加的库, 如图8 -11所示。 (4) 点击确定, 这样就完成了标准库的添加。 null图 8 - 9 选中工程asic null图 8 - 10 Properties对话框 null图 8 - 11 输入路径或选择所加的库 null (4) 点击确定, 这样就完成了标准库的添加。 对于我们所举的这个实例, 所用到的库有builtin、 vl74s和vl74ls。 null 2. 设计输入(Design Capture) ViewDraw是ePD的图形编辑器, 设计人员可以使用ViewDraw创建和更新所有的图形设计。 设计人员也可以使用ViewDraw把任意一个设计转成符号, 那么在一个分层设计中就可以使用这个符号。 null 1) 在ViewDraw中进行设计输入 在进行一个设计之前, 首先要打开ViewDraw。 除了要设置项目之外, 设计人员还要通过Dashboard启动工具, 从Dashboard中打开ViewDraw。 (1) 打开Toolboxes按钮, 选中Board-level (PCB) Design图标, 如图8 - 12所示。 null图 8 - 12 选中Board-Level Design图标null (2) 在Dashboard工具区双击ViewDraw图标 , 就会打开ViewDraw的绘图界面, 如图8 - 13所示。 (3) 通过选择File→New, 打开New对话框, 如图 8- 14 所示。 (4) 点击OK按钮, 一个新的设计文件就建好了, 如图8 - 15所示。 null图 8 - 13 ViewDraw的绘图界面 null图 8 - 14 New对话框 null图 8 - 15 一个新的设计文件 null 2) 关于8位串并转换器 8位串并转换器电路的逻辑功能是实现串行输入并行输出转换, 主要由一个8位移位寄存器(74LS164)、 一个9位奇偶产生器(74LS280)、 一个8位D触发器(74LS273)、 一个二进制计数器(74LS163)、 3个4位的三态缓冲器(74LS244)、 两个1位的D触发器(74LS74)以及若干门组成。 8位串并转换器的电路原理图如图8 - 16所示。 null图 8 – 16 8位串并转换器原理图 null 3) 确认设计中的元件 所有ViewDraw的原理图都由不同的设计元件组成, 如元件、 连线、 总线等。 把鼠标的指针放在一个基本元件上, 点击鼠标左键, 就可以很快地确认这个元件。 点亮这个基本元件, 在原理图窗口的左下角就会显示出这个元件的名称。 null 4) 命名规则 对于一个原理图, ViewDraw给每一个基本元件安排一个惟一的标识符。 标识符的安排符合以下规则: $——确定原理图的页数, 比如$2表示原理图的页数是2; N——确定一个元件是连线还是总线, 比如N42表示连线42; I——确定一个元件的类型是部件(实例), 比如I236表示部件236。 null 5) 查看元件属性 ViewDraw中所有的元件除了有一个惟一的标识符以外, 还拥有属性(Properties)。 设计元件会拥有名称(Name)和特性(Attribute), 某些部件可能还包括管脚(Pin), 这些管脚可能又拥有它们自己的名称和属性。 (1) 选中一个元件, 点击鼠标右键, 弹出一个菜单。 (2) 选择Properties, 就会打开Component Properties对话框, 如图8 - 17所示。 null图 8 - 17 Component Properties对话框 null (3) Component Properties对话框中有三个按钮, 允许对一个元件进行命名以及编辑名称, 对这个元件设置特性和对这个元件的管脚命名及编辑特性。 (4) 选中Name按钮, 在元件区会指出这个元件的内部名称、 它的库和它的标识符。 (5) 点击取消按钮, 关闭Component Properties对话框。 null 6) 查看部件的层次标准器件库中的很多元件以及用户定义的原理图元件都有底层的原理图。 拥有底层原理图的标准元件。 查看74LS163电路图的方法如下: (1) 在原理图中选中74LS163, 点击鼠标右键, 弹出如图8 - 18所示的菜单。 null图 8 - 18 选中74LS163单击右键后弹出的菜单 null (2) 在弹出的菜单中选中Schematic, 就会打开74LS163的底层原理图, 如图8 - 19 所示。 (3) 在该底层原理图中, 选中一个UDFDL。 点击鼠标的右键, 弹出一个菜单, 在该菜单中选中symbol, 打开底层的符号图, 如图8 - 20所示。 (4) 使用Window→File, 可以同时查看所有的层次。 null图 8 - 19 74LS163的底层原理图null图 8 - 20 底层的符号图null 7) 给原理图加框 给这个原理图加一个边框, 步骤如下: (1) 选择Add→Component, 会打开Add Component对话框。 (2) 选择builtin库, 选中Csheet.1并把它拖到原理图中。 null 8) 给原理图加一个标 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 给原理图加入一个标题, 使得设计人员更容易识别设计。 给原理图加标题的步骤如下: (1) 在原理图的右下角处放大标题框。 (2) 选择使用Add→Text, 如图 8 - 21所示。 (3) 点击原理图中的标题框, 会弹出Text Properties的对话框。 (4) 在Annotation 区键入convertor, 把Size从10改为40。 (5) 点击确定, 在原理图中就加入了文本框, 如图8 - 22所示。 null图 8 - 21 选择Text null图 8 - 22 设置Text null 9) 加入一个元件 要完成设计, 还必须在设计中加入一些元件和连线, 其中要加入的元件就有74LS器件库中的NOR3, 加入的方法如下: (1) 选择Add→Component, 这样就会打开一个Add Component 对话框, 如图8 - 23 所示。 (2) 选择v174ls库, 在列表中选中74ls27.1, 把74ls27.1的符号图用鼠标拖至电路图中。 (3) 点击Close按钮, 关闭Add Component对话框。 null图 8 - 23 Add Component对话框 null 10) 连线 设计连线的方法如下: (1) 选择Add→Net。 (2) 用鼠标左键点中要连线的管脚, 按住左键, 拖拽至需要连线的另一个器件的对应管脚, 释放左键, 这样就完成了两个器件对应管脚之间的连线。 null 11) 给元件加入标记 标记就是用户对元件、 连线和总线进行命名。 我们以设计中的74ls27.1元件为例, 说明给元件加标记的步骤。 (1) 在设计中选中元件74ls27.1。 (2) 在弹出的菜单中选择Properties, 这样就会打开特性对话框。 (3) 在Label中键入NOR3, 如图8 - 24所示。 (4) 在Scope区中选中Local。 (5) 点击确定。 null图 8 - 24 在Label中键入NOR3 null 12) 改变特性值 所有电路元件都拥有特性。 特性的作用就是进一步确定元件的功能特性和物理特性。 标准库中的所有元件都有一系列默认的特性和特性值, 用户可以加入新的用户自定义的特性或者改变已存在的特性值。 null 对于convertor设计, 我们还是以74LS27为例, 来说明怎样改变一个元件的特性。 (1) 双击74LS27, 就会打开Component Properties对话框。 (2) 点击Attributes按钮, 会显示出这个元件的所有特性, 如图8 - 25所示。 null图 8 - 25 点击Attributes标签null (3) 在Attributes中, 选中属性REFDES( 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 指示), 在Value中键入U100。 (4) 点击Set, 这样就把属性REFDES的值从U?改为U100 。 (5) 选择File→Save, 保存设置。 null 13) 加入一列元件 (1) 选择Add→Array, 这样就打开了Array对话框, 如图8 - 26所示。   (2) 点击OK即可加入一列元件。 null图 8 - 26 Array对话框 null (2) 相对间距是指对象之间的距离, 比如行的相对间距是40, 是指拷贝对象最底边界与原始对象最上面边界的距离是4个网格单元(每一个网格单元默认值为10)。 14) 加入总线 加入总线只要选择Add→Bus即可。 null图 8 - 27 8位串行输入并行输出转换器电路图 null 3. 检查设计连接(Verifying the Design's Connectivity) 在完成了电路的原理图输入以后, 必须要检查这个电路图的电连接是否正确, 同时要生成一个wire文件。 这个wire文件在以后的仿真或者转成一个CAD系统的版图文件时要用到。  (1) 选择File→Save&Check( ), 这样仅仅检查名为convertor.1的电路图的连接关系。 null (2) 选择Tools→Schematic Checker, 打开如图8 - 28所示的对话框。   (3) 在Process to Run中, 选中Check the design specified and all of the hierarchy, 这样就会检查项目中所有原理图的连接关系。 (4) 点击Run, 开始检查。 只有电路连接没有错误时才会通过检查, 此时会在Results中显示出没有错误和没有警告的信息, 如图8 - 29所示。 null图 8 - 28 Schematic Checker对话框 null图 8 - 29 在Results中显示通过 null 8.1.2 从原理图生成符号 符号是底层设计的抽象表示。 从前面的叙述中可以看出, 设计convertor中的很多符号都有底层的电路图。 沿用这个概念, 设计convertor也可以成为一个更大的层次化设计中的一个符号。 null 1. 加入输入管脚 加入输入管脚的方法如下: (1) 选择Add→Component。 (2) 打开builtin库, 选择IN.1元件。 (3) 将IN.1元件连到相应的输入端, 输入管脚的加入就完成了。 null 2. ViewGen的使用 使用ViewGen生成符号图的步骤如下: (1) 在Dashboard的Toolboxs中双击ViewGen的图标 。 (2) 打开ViewGen对话框, 如图8 - 30所示。 (3) 在输入(Input)区键入convertor, 在输出(Output)区键入convertor。 (4) 选中Generate top level symbol选项, 勾掉Generate schematic选项。 (5) 点击Advanced键, 打开Advanced Options对话框, 如图8 - 31所示。 null图 8 - 30 ViewGen对话框 null图 8 - 31 Advanced Options对话框 null (6) 点击Nets/Components/Pins按钮, 在Pins区域中输入合适的值。 (7) 点击确定, 关闭Advanced Options对话框。 (8) 点击确定, 生成符号。 当符号生成以后, 在ViewGen对话框中的输出结果区域中会显示信息, 如图8 - 32所示。 null图 8 - 32 输出结果 null 3. 观察符号 (1) 选择File→Open, 打开Open对话框。 (2) 在对话框底部的Type菜单中选择Symbol, 如图8 - 33所示。 (3) 选中convertor.1符号, 点击OK, 就会打开convertor的符号图, 如图8 - 34所示。 null图 8 - 33 在Open对话框中选择Symbol null图 8 - 34 convertor的符号图 null 4. 编辑符号 使用ViewGen从电路图中生成符号图, ViewGen就会从这个电路图中的每个输入输出管脚生成符号的管脚。 当ViewGen遇到反相信号时, ViewGen会使所有反相的信号名称都以非号“~”(tilde)开头。 在一个层次化的设计中使用已生成的符号, 符号的管脚名称必须符合底层电路图设计中的信号名称。 设计人员必须手动地去编辑这些符号的管脚, 去掉这些信号名称前面的非号(“~”)并且把这个信号改成相反的管脚。 null 我们还是就生成的convertor符号图为例来作说明。 (1) 双击~reset符号管脚, 会打开Pin Properties对话框。 (2) 把标记由~reset改为reset。 (3) 选中Inverted复选框。 (4) 点击OK。 (5) 重复以上步骤, 把其它的管脚名称作相应的修改。 null (6) 选择File→Save, 保存对符号的修改, 这样在ViewDraw的窗口中会有文本信息输出, 显示和符号有关的信息。 (7) 选择File→Close, 关闭符号窗。 null 8.1.3 设计仿真 1. 生成一个数字网表 在运行数字仿真时, 第一步是要生成一个数字网表。 网表是一个ASCII码文件, 可以确定设计中的所有连线、 总线、 属性、 元件和信号。 对任意一个基于原理图输入的数字设计进行仿真时, 都必须要先生成网表文件。 网表文件就是仿真的输入文件。 null 对于eProduct Designer, 通过ViewVSM可以生成网表文件。 ViewVSM可以从convertor设计中生成网表。 从ViewDraw中生成一个数字网表的步骤如下:   (1) 选择Tools→Creat Digital Netlist(common), 会打开ViewVSM, 如图8 - 35所示。 (2) 因为是在ViewDraw中调用ViewVSM, 所以在Design Name中自动包含了当前设计的设计名——convertor, 如图8 - 36所示。 null图 8 - 35 选择Creat Digital Netlist null图 8 - 36 View VSM对话框 null 选中Simulate After Netlisting, 这样就会在ViewVSM中生成网表后自动启动Fusion。 在ViewVSM中, 输入文件为原理图的设计文件convertor.1, 输出文件是以 .vsm为后缀的网表文件, 如图8 - 37所示。 null图 8 - 37 网表文件null (3) 点击Create Netlist, 开始数字网表的提取过程, Netlist Results就会打开并且显示出所有的状况和错误信息。 在提取完成后, Fusion会和Console Window以及它的Hierarchy Viewer一起打开, 如图8 - 38所示。 null图 8 - 38 网表提取的过程 null 2. 关于Fusion Fusion是ePD的逻辑仿真器, 设计人员可以使用Fusion仿真所有的数字设计。 Fusion可以仿真如下设计: ·原理图输入的数字设计(ViewSim); ·独立应用的VHDL模式(SpeedWave); ·独立应用的Verilog模式(VCS); ·在原理图上的VHDL\Verilog(Fusion HDL)。 null 3. 关于Console Window Console Window为仿真提供输入/输出区域。 设计人员通过Console Window输入仿真命令, 并且可以通过它来观察仿真过程当中产生的各种信息, 也可以从Console Window中观察设计中和连线有关的信息。 Console Window界面如图8 - 39所示。 null图 8 - 39 Console Window界面 null 4. 关于Hierarchy Viewer Hierarchy Viewer提供关于设计的结构视图, 它以图层的形式来显示设计的层次, 这些图层又可以向下扩展成更低层次的管脚和连线。 当把一个设计载入Fusion中时, Hierarchy Viewer只显示最顶层的设计, 如图8 - 40所示。 null 图 8 - 40 Hierarchy Viewer窗口 null 5. 关于门级数字仿真 Fusion可以通过菜单命令设置激励信号, 显示结果, 改善仿真器和其它仿真任务。 所有的仿真操作都可以通过Fusion的键盘命令来实现。 6. Hierarchy Viewer的使用 使用Hierarchy Viewer显示设计的层次, 其步骤如下: (1) 在左边的方框中点击放大镜图标旁边的加号, 这样就会展开层次, 以显示出原理图设计中所用的元件实例。 这些实例都是由ViewDraw实例名命名的, 如图 8 - 41 所示。 null图 8 - 41 展开层次以显示元件实例 null (2) 点击Hierarchy Viewer 左边方框中的$1I73元件旁的加号图标, 这样就会显示出和该元件相连的所有元件。 在右边的方框中会显示有9个信号和该元件相连。 (3) 在右边的方框中, 点击9 Signals旁的加号图标, 就会显示出和该元件相连的所有的总线和管脚, 如图8 - 42所示。 null图 8 - 42 显示与$1I73相连的所有总线和管脚null 7. 仿真前的准备工作 在实际仿真设计开始前, 需要进行设置以便更有效地对设计进行仿真。 设置时应先对PDATA总线中的单个信号产生一个向量, 然后改变被选信号的基数。 1) 产生一个向量 向量是数字信号的别称。 向量把多个信号合成一个单个的信号。 使用向量使得设计人员可以对一个向量中的所有信号进行相同的操作。 null 可以使用命令来产生一个向量。 在Console Window中的SIM>的提示符下输入仿真命令。 向量命令的语法是: V null 2) 改变一个信号的显示基数 在仿真时, Fusion显示每一个信号的当前值。 显示基数是Fusion用来显示仿真结果的基数。 Fusion可以用二进制、 十进制、 十六进制或者八进制来显示仿真结果。 null 3) 改变PDATA的基数 (1) 在Hierarchy Viewer右边的窗口中选中PDATA。 (2) 依次选择菜单Signals→Radix→Binary, 如图8 - 43所示。 null图 8 - 43 改变PDATA的基数 null8. 显示仿真结果 可以在三个不同的区域内显示仿真的结果: (1) 在Monitor窗口中可以显示每个信号的当前值。 (2) 在控制窗口可以通过命令指定显示某一个信号的结果。 (3) 在Vwaves 中以波形的形式显示。 null 9. 在Monitor中显示信号值 可以在Hierarchy Viewer窗口中选择信号使它在Monitor窗口显示, 这样的值就会在Monitor中显示, 而且值是随着仿真的进行而不断变化的。 null 向Monitor窗口加入信号的过程: 在Hierarchy Viewer窗口左边区域点击顶层信号图标, 在右边区域会显示出所有的底层设计的信号; 选择需要的信号, 并选择菜单View→Monitor Signals, 如图8 - 44所示, 这样就会打开Monitor窗口并显示选中的信号及其当前值, 如图8 - 45所示。 null图 8 - 44 向Monitor窗口加入信号 null图 8 - 45 显示选中的信号及其当前值 null 10. 在Vwaves中图形显示仿真结果 在数字波形显示器Vwaves中可以以图形的形式显示仿真结果, 这需要建立一个波形文件。 文件建立后, 还必须给该文件命名, 同时指定想要在VWaves显示结果的信号。 一旦仿真完成, 可以保存结果, 便于以后直接调用。 null 可以在Hierarchy Viewer中选择波形文件中要包含的信号, 这些信号会在Vwaves中显示, 其步骤如下: (1) 在Hierarchy Viewer右边区域内选择信号。 (2) 按住shift键选择两个信号, 这样这两个信号之间的所有信号都会被选中,然后选择Signals→Display in Vwaves, 如图8 - 46所示。 (3) 这时会弹出Waveform Files对话框, 用以指定波形文件名, 如图8 - 47所示。 (4) 点击OK后, 会启动Vwaves, 同时在Vwaves中的信号名显示区域会显示选中的信号, 如图8 - 48所示。 null图 8 - 46 选择信号 null图 8 - 47 Waveform Files对话框 null图 8 - 48 启动Vwaves null 11. 仿真器的设置 有很多设置能影响仿真的进行, 如步长值(stepsize)和节拍长度(kicksize), 因此必须知道这些设置。 步长值为电路时钟或者模式序列信号定义步长的值, 默认值为100 ns。 步长值决定仿真一次进行的时间。 null 改变仿真步长持续时间的方法如下: (1) 选择控制窗口中的Simulate→Simulator Settings, 如图8 - 49所示。 这时会弹出Simulator Settings对话框, 如图8 - 50所示。 (2) 在Step区域内改变步长值, 然后点击确定按钮。 改变步长后, 就需要为电路的输入信号赋值了。 null图 8 - 49 选择Simulator Settings null图 8 - 50 Simulator Settings对话框 null 12. 设置时钟 使用Hierarchy Viewer选择时钟信号。 指定时钟值的方法如下: (1) 在Hierarchy Viewer右边选择时钟信号CLK。 (2) 选择Hierarchy Viewer 菜单的Signals→Set Stimulus, 如图8 - 51所示。 这样会打开Signal Control Center窗口, 在Selected Signals栏内显示选中的信号, 如图8 - 52所示。 null图 8 - 51 选择Set Stimulus null图 8 - 52 显示选中的信号 null(3) 在“Type of Stimulus”中选中Clock。 (4) 在Clock框内输入值, 如: 0 then 1, 如图8 - 53所示。 (5) 点击Add。 null图 8 - 53 输入时钟的值 null 13. 数据信号赋值 仿真前要为数据信号赋值, 可以自定义信号的值是多少和什么时候给信号赋值。 比如, 要给信号RESET和~PAR-ACKN赋值, 因为它们在电路中起同步清零的作用(可连到一起), 所以赋值开始为0, 一直到150 ns变为1。 可以使用图形界面和wfm命令这两种方法对数据信号赋值。 null 利用图形界面赋值的方法如下: (1) 在Hierarchy Viewer右边选择信号。 (2) 按照上面的方法把信号加入Signal Control Center窗口。 (3) 在Type of Stimulus内选择Sequence。 (4) 在Sequence后面的框内写入: 0ns=0 150ns=1(注意空格), 如图8 - 54所示。 (5) 点击Add。 null 14. 给信号赋值为高 可以为任何一个数据信号赋值为1, 只需在Type of Stimulus中选择Value, 在后面的框内输入1, 然后再选择Force类型, 点击Add即可。 其命令语法为 high signal-name (high可缩写为h) null 15. 给信号赋值为低 给信号赋值为低的方法与赋值为高的相同, 只是将Value设为0, 如图8 - 55所示。其命令语法为 low signal-name (low可缩写为l) null图 8 - 54 利用图形界面赋值 null图8 – 55 给信号赋值为低null 16. 输入有限长度序列 本例中的输入SDATA为串行输入8位二进制数, 它必须在清零信号清零以后(150 ns之后)输入, 这就需要用到命令after。 这个命令无法在图形赋值界面Signal Control Centor中实现, 这就需要在控制窗口下用键盘命令赋值, 具体命令如下: after 150ns do (pattern-force "SDATA" 1 0 1 1 0 0 1 0) null 17. 对设计进行仿真 准备工作做好后就可以开始仿真了。 下面运行仿真器并仿真结果。 (1) 在控制窗口中选择Simulate→Run Simulation, 这时会弹出Run Simulation对话框, 如图8 - 56所示。 null图 8 - 56 Run Simulation对话框null(2) Run Simulation对话框中的4个选项分别为: For Time——这一项可以修改每次运行的步长; Until Time——这一选项可定义仿真运行停止的时间; Cycles——这一项可以定义所要运行的周期数。 null(3) 选择合适的选项后点击Run。 (4) 在控制窗口中会出现仿真中每一步的结果。 (5) 仿真结束后用File→Exit可以关闭仿真器和Vwaves。 null18. 仿真结果 仿真结果如图8 - 57所示。 图 8 - 57 仿真结果 null 19. 仿真结果分析 由于清零信号RESET设为前150 ns清零, 因此串行输入数据SDATA在150 ns后开始输入8位数10110010。 150 ns后, 当时钟CLK上升沿到来时, 计数器开始从0开始计数, 移位寄存器也开始工作。 但因为并行数据从三态缓冲器74LS244输出端口输出, 此时, 74LS244使能端为1, 表现为高阻, 所以PDATA定为zzzzzzzz。当1.8 μs左右, 计数器计到8(1000)时, 74LS244使能端为0, 输出端口有数据输出, 但由于缓冲器的作用, 数据延迟, 使数据输出在一小段时间内全为0, 然后, 数据正常输出为10110010, 此后达到稳定状态。 null PDATA8为奇偶校检端, 由于1的个数为偶数, 因此可以看到PDATA8输出为1, 所以, PDATA8~PDATA0所对应的数据为110110010, 这和我们最终得到的仿真结果是一致的, 从而说明我们设计的8位串行输入并行输出转换器的逻辑功能是正确的。 null 20. 在ViewDraw中去掉仿真结果 在默认情况下, ViewDraw中会显示仿真的结果。 仿真结束, 退出Fusion后ViewDraw 仍会显示最新的仿真结果。 通过以下步骤, 可以不显示仿真值。 (1) 选择Project→Settings, 如图8 - 58所示。 这样会弹出Project Settings对话框, 如图8 - 59 所示。 (2) 在Project块内去掉Value前面的对号。 (3) 点击确定按钮。 null图 8 - 58 选择Settings null图 8 - 59 Project Settings对话框null 8.1.4 VHDL仿真 1. VHDL语言输入和仿真 1) VHDL源代码的准备工作 通过一个模24计数器的设计和仿真, 使读者能够对VHDL的仿真环境有所了解。 2) 启动HDL Manager HDL Manager是一个独立的应用程序, 它允许设计人员生成、 配置HDL的工作空间, 分析VHDL的源文件, 把已分析过的模型载入Fusion。 null 可以在Fusion中启动HDL Manager, 其步骤如下: (1) 在Dashboard中点击Fusion图标 , 打开Fusion, 如图8 - 60所示。 (2) 通过选择File→Analyze VHDL Design, 打开HDL Manager, 如图8 - 61所示。 null图 8 - 60 打开Fusion null图 8 - 61 HDL Manager界面 null 3) 使用HDL Manager 在准备对一个包含有VHDL的设计进行仿真时, 有很多可选项可以使用。 但是为了成功地对一个VHDL设计进行分析和仿真, 设计人员必须完成以下6个基本任务。 (1) 创建一个HDL的工作区域。 (2) 在这个工作区域中加入一个或多个系统库文件。 null(3) 创建一个或多个用户库文件。 (4) 把设计的VHDL源文件加入到一个用户库文件中。 (5) 分析所设计的VHDL源文件。 (6) 保存工作区域。 设计人员可以在HDL Manager中执行以上每个过程。 null 4) 创建一个新的工作区域 在第一次打开HDL Manager时, 必须要生成一个新的工作区域或打开一个已存在的工作区域。 所谓工作区域, 是指整个HDL设计及其分析环境。 null 设计人员正是通过这个工作区域来进行分析、 调试并最终把语言模式编译成Fusion可以仿真的格式的。 创建一个新的工作区域的步骤如下: (1) 选择File→New, 这样会从HDL Manager窗口中清除所有已经存在的用户库和文件。 (2) 选择File→Save as, 打开Save as的对话框。 null (3) 在Filename 中输入新的工作区域的名称。 (4) 点击Save, 这样就完成了新的工作区域的创建。 所有和工作区域有关的信息都保存在工作区域文件(*.hws)中。 null 5) 在工作区域中添加一个系统库 添加一个系统库的步骤如下: (1) 在HDL Manager左边的窗口中(即库窗口)点击VHDL System Library旁边的加号, 这样会显示出该版本的ePD所包含的所有系统库文件, 如图8 - 62 所示。 null图 8 - 62 显示ePD所包含的所有的系统库文件 null (2) 选择synopsys.lib系统库。 (3) 选择Library→Include System Library, 这样就会把所选择的库加到工作区域中, 其标志是在库的前面有个“”。 (4) 重复以上的步骤, 在工作区域中加入以下的系统库: ieee.lib minc-vhd.lib pack1076.lib synth.lib [DW]vantage-logic.lib (5) 选择File→Save, 保存这些库, 使之成为工作区域的一部分。 null 6) 创建用户库 创建一个新用户库的步骤如下: (1) 选择Library→Create, 打开Create User Library 对话框, 如图8 - 63所示。 null图 8 - 63 Creat User Library 对话框null (2) 在Symbolic Name中输入库的名称, 在Library Path中通过浏览按钮给这个库选择一个路径。 (3) 点击OK。 用户库建好之后, 在用户库名counter24前面会出现一个“”, 表明用户库已经建立成功了。 null 7) 在用户库中添加源文件 为了把VHDL模型载入Fusion仿真环境中, 用户必须把VHDL源文件添加到一个用户库中。 VHDL分析工具仅对包含在用户库中的VHDL源文件进行分析和编译。 把源文件添加到用户库中的方法是: 选中所创建的用户库, 然后选择Library→Add Source Files, 在弹出的对话框中选择VHDL源程序, 如图8 - 64所示。 null图 8 - 64 把源文件添加到用户库中 null 8) 关于VHDL的分析 在做仿真之前, 用户必须要分析所有的VHDL源代码。 分析过程分两步进行:  (1) 分析VHDL源代码, 反馈错误信息并且显示出每一条错误语法的类型和位置。 (2) 在源代码中把所有的语法错误去除之后, 分析工具会从每个VHDL源文件中生成一个目标文件。 SpeedWave把这些目标文件作为仿真的输入文件。 null 9) VHDL源代码的分析 用户可以分析一个单独的VHDL源文件或者一个完整的用户库, 也可以只对源文件中指定的实体、 结构体、 包集合或配置进行分析。 null 10) 把设计载入Fusion中 对工作区域文件(*.hws)进行保存后, 就可以在VHDL仿真环境SpeedWave中调用该设计了。 在Fusion菜单中选择File→Load Design, 就会打开Load VHDL Design 对话框, 选中所需的设计结构体后点击确定按钮, 如图8 - 65所示。 然后会弹出两个窗口: Source Viewer和Hierarchy Viewer。 Source Viewer窗口会显示源程序, 如图8 - 66所示。 null图 8 - 65 Load VHDL Design对话框 null图 8 - 66 显示源程序 null 11) 仿真结果及其分析 仿真结果如图 8 - 67 所示。 从图中可以看出, 设计所实现的功能为二十四进制计数器, CLR为清零信号(0ns=0, 150ns=1), 前150 ns清零计数器不工作。 清零结束后, 当时钟信号上升沿到来时, 计数器计一次数。 这样计数器计数至24会自动清零复位, 重新开始计数, 同时CY24输出一个进位信号。 null图 8 - 67 仿真结果 null 2. 由VHDL模块生成符号图 运行ViewDraw, 选择 File→New, 然后选择Symbol Wizard后键入生成的符号图名counter并点击OK, 如图8 - 68所示。 由于是用VHDL模块生成符号图, 因此要选择第二项, 即图8 - 69 中的VDHL(Import from VHDL File)。 null图 8 - 68 键入生成的符号图名 null图 8 - 69 选择用VHDL模块生成符号图 null 根据VHDL模块生成符号图, 所生成的符号图根据VHDL源程序设置相应的管脚, 因此在这儿可不作设置, 直接点击下一步。 符号图的设置如图8 - 70所示。   在VHDL File一栏内输入VHDL源程序路径及其文件名(所生成的符号的路径与所载入的VHDL源程序路径是一致的), 在VHDL Entity Name一栏内输入VHDL源程序的实体名, 如图8 - 71所示。 null图 8 - 70 符号图的设置 null图 8 - 71 输入文件名及源程序实体名 null 在结果输出窗口中如果出现1 symbol(s) created, 则说明符号创建成功, 如图8 - 72 所示。   图 8 - 73 就是生成的符号图, 在以后的设计中可以直接调用它。 null图 8 - 72 符号创建成功 null图 8 - 73 生成的符号图null 如果想对某个管脚进行修改, 则先双击符号边框, 再在弹出的Symbol Properties对话框(如图8 - 74所示)中的Attribute栏内选择属性PINORDER, 在下面Value项内修改管脚的名称, 这时要注意对管脚属性的定义。 双击修改后的管脚, 出现一对话框, 在Name栏输入管脚的名字, 在Attribute栏
本文档为【第8章 常用EDA软件介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_515496
暂无简介~
格式:ppt
大小:9MB
软件:PowerPoint
页数:0
分类:工学
上传时间:2011-12-18
浏览量:25