1、版权所有 侵权必究电子设计电子设计自动化EDA Electronic Design Automation版权所有 侵权必究1 9.1 Max+plus II 概述1 9.2 VHDL硬件描述语言设计输入方法1 9.3 原理图逻辑设计输入方法1 9.4 波形设计输入方法1 9.5 层次设计输入方法版权所有 侵权必究版权所有 侵权必究 支持 Altera 公司的多种可编程逻辑器件。提供了一套完整的可编程逻辑器件集成化设计环境,可以在其功能强大而易于使用的界面下,完成整个数字系统设计流程。设计输入工具有硬件描述语言、电路原理图、波形图等。可与其他工业标准的设计输入、综合、校验工具等链接。MAX+pl
2、us II 是 Altera 公司开发的可编程逻辑器件设计开发工具软件。MAX+plus II 软件主要特点:版权所有 侵权必究 逻辑设计输入。MAX+plus II 软件提供了硬件描述语言、电路原理图、波形图等多种逻辑输入方式,对较复杂的逻辑设计,还可考虑采用层次化设计。设计综合。利用编译器,可对逻辑设计输入进行设计规范检查、编译网表提取、数据库建立、逻辑综合、逻辑适配、定时模拟网表文件的提取、装配等设计处理。设计检验。以波形的方式仿真分析设计输出信号是否符合设计题目要求。器件编程。利用 MAX+plus II 编译器生成的编程文件,通过编程器对 Altera 可编程器件进行下载编程。使用
3、MAX+plus II 软件进行逻辑设计主要有以下四步:版权所有 侵权必究 下面我们通过一个带异步清零十进制计数器设计示例,说明 VHDL 硬件描述语言设计输入方法。9.2.1 建立设计项目 9.2.2 建立VHDL逻辑输入源文件 9.2.3 编译器选项设置 9.2.4 设计编译 9.2.5 逻辑功能仿真分析 9.2.6 定时分析 9.2.7 器件编程版权所有 侵权必究版权所有 侵权必究启动 Max+plus II,打开 Max+plus II 项目管理器窗口。单击 File=Project=Name 子命令,在【Project Name】对话框中,选择要建立设计项目的路径,输入设计项目名,然
4、后按“OK”按钮。建立设计项目主要操作步骤:版权所有 侵权必究 在文本编辑器中,输入带异步清零十进制计数器VHDL逻辑设计源文件。注意 VHDL 源文件名必须与实体名一致。在 Text Editor 窗口,单击 File=Save 子命令,在 File Name 选项中输入 VHDL 源文件名。注意后缀名一定改为改为“.vhd”。在 Max+plus II 项目管理器窗口,单击 File=New 子命令,打开【New】对话框。选择“Text Editor file”选项,然后打开 Text Editor 窗口。在 Max+plus II 项目管理器窗口,单击 File=Project=Save
5、&Check 子命令,在文件保存的同时,开始检查VHDL源文件的语法。语法检查结束,将弹出信息框。如果无语法错误,则指示编译成功,否则出现 MessagesCompile 窗口,指示错误或警告信息。版权所有 侵权必究 在 Max+plus II 编译器窗口,根据设计需要,可设置以下编译器选项:指定器件 设置保护位 激活Design Doctor工具版权所有 侵权必究单击 Assign=Device子命令,打开【Device】对话框。Max+plus II 软件支持 Altera 公司的 Max7000、Max9000、FLEX6000、FLEX8000 和 FLEX 10K 等多系列可编程逻辑
6、器件,门数为 600 250 000 门。指定器件操作步骤:在【Device】对话框中,选择所需器件系列及器件型号,然后单击“OK”按钮,退出该对话框。选择器件系列 选择器件型号版权所有 侵权必究单击 Assign=Global Project Device Options 子命令,打开【Global Project Device Options】对话框。Altera 公司可编程逻辑器件设有保护位。当我们设置了保护位操作后,该器件将不能被重新编程,以防止他人非法取得器件内部编程信息。设置保护位操作步骤:在【Global Project Device Options】对话框中,激活“Securi
7、ty Bit”选项,然后单击“OK”按钮。设置保护位版权所有 侵权必究单击 Processing=Design Doctor 子命令,当确认标记出现在该命令的左边,则 Design Doctor 工具被激活。利用 Design Doctor 工具,可检查设计项目中所有设计文件,以便发现可编程逻辑器件中可能存在的不可靠逻辑。激活 Design Doctor 工具操作步骤:单击 Processing=Design Doctor Settings 子命令,选择设计规则。激活 Design Doctor 工具如已选择MAX7000系列器件,则应选择 EPLD Rules 选项。版权所有 侵权必究设计编
8、译操作步骤:在编译窗口中,单击“开始”按钮,开始对设计项目进行编译处理。在设计编译过程中,如果有错误发生,选中该错误信息,然后按“Locate”按钮,就会找到该错误在设计文件中的位置。编译结束后,编译器将会自动产生相应的输出文件。双击文件图标,可以打开输出文件浏览。版权所有 侵权必究 当一个设计项目编译完成后,能否实现设计题目所要求的逻辑功能,我们可通过设计仿真分析检验。逻辑功能仿真分析就是人为输入适当的激励信号,仿真分析设计输出信号是否符合设计题目要求。主要操作步骤:创建波形图文件提取引脚或节点编辑输入波形浏览逻辑功能仿真波形版权所有 侵权必究创建新的波形图文件。在 Max+plus II
9、项目管理器窗口,单击 File=New子命令,然后选择“Waveform Editor File”,从下拉列表框中选择“.scf”扩展名,并按“OK”按钮。在进行设计的功能仿真之前,应建立一个后缀名为.scf 的波形图文件。创建波形图文件操作步骤:设置显示时间间隔。单击 Options=Grid Size 子命令,在出现的【Grid Size】对话框中,输入显示时间间隔值,然后单击“OK”按钮。设置仿真结束时间。单击 File=End Time 子命令,在出现的【End Time】对话框中,输入显示波形结束时间,然后单击“OK”按钮。版权所有 侵权必究在波形编辑器中,单击 Node=Enter
10、 Nodes from SNF 子命令,弹出【Enter Nodes from SNF】对话框。提取引脚或节点操作步骤:选中 Type 框中“Inputs”、“Outputs”和“Group”选项,然后单击“List”按钮。根据逻辑功能仿真需要,依次选中所需波形显示的输入引脚 R、CP 及输出引脚 CO、Q,其中 Q 是输出引脚 Q3、Q2、Q1、Q0 的集合,然后单击“=”按钮。单击“OK”按钮,此时波形编辑器左边 Name 栏下将显示输入、输出引脚图标。输入引脚输出引脚版权所有 侵权必究编辑清零信号 R。首先单击 Name 为“R”图标,再单击窗口左下方编辑工具条“1”图标。然后再选中该信
11、号的0 20 ns时间段,单击编辑工具条“0”图标。编辑输入波形操作步骤:编辑时钟信号 CP。首先单击 Name 为“CP”图标,再单击窗口左下方编辑工具条“时钟”图标。在【Overwrite Clock】对话框中,设置时钟起始电平值为“1”。单击 File=Save 子命令,保存已建好的波形文件。版权所有 侵权必究在 Max+plus II 项目管理器窗口,单击 Max+plus II=Simulator 子命令。在弹出的仿真器窗口,单击“Start”按钮,开始波形仿真。当上述波形文件建好后,我们就可以浏览设计项目的输出波形。浏览逻辑功能仿真波形操作步骤:仿真结束,若无错误,则显示零错误信息
12、框。我们单击“OK”按钮,将出现仿真波形。由仿真波形可知,波形显示为带异步清零十进制计数器。版权所有 侵权必究 Max+plus II 的定时分析程序提供三种时间分析模块:延迟时间分析、寄存器性能分析和建立-保持时间分析。定时分析主要操作步骤:在项目管理器窗口,单击 Max+plus II=Timing Analyzer子命令,一般软件最初默认为延迟时间分析。在 Timing Analyzer 窗口,单击“Start”按钮,定时分析器立即开始对设计项目进行延迟时间分析。在定时分析窗口,单击 Analysis=Registered Performance 子命令,在 Timing Analyze
13、r 窗口,单击“Start”按钮,定时分析器立即开始对设计项目进行寄存器性能分析。输入时钟CP到输出CO、Q0、Q1、Q2和Q3的延迟时间寄存器正常存储所需的最小时钟周期为10.3ns寄存器正常存储所需的最高工作频率为97.08MHz版权所有 侵权必究 要使可编程逻辑器件具有设计所要求的逻辑,还必须将上述设计通过的逻辑写入到可编程逻辑器件中,这一过程成为“器件编程”。器件编程操作步骤:将编程硬件与计算机正确连接。在项目管理器窗口,单击 Max+plus II=Programmer 子命令。如果选择为 MAX7000 系列,则“Program”有效,如果选择 FLEX10K 系列,则“Confi
14、gure”有效。单击“Program”或“Configure”按钮,则编程数据将写入可编程逻辑器件中。版权所有 侵权必究 原理图逻辑设计步骤与 VHDL 硬件描述语言逻辑设计步骤基本相同,主要不同的是原理图逻辑设计源文件建立方法。用原理图逻辑设计方法设计带异步清零十二进制计数器。建立原理图源文件步骤:放置元器件符号 定义输入和输出引线 逻辑符号之间的连接 改变图纸大小 原理图保存及基本错误检查 建立默认逻辑符号 关闭文件 创建新原理图文件版权所有 侵权必究在Max+plus II 项目管理器窗口,单击File=New子命令。创建新原理图文件操作步骤:在【New】对话框中,选择 Graphic
15、Editor file 选项。在 Graphic Editor 窗口,单击 File=Save 或 Save As 子命令,选择建立项目的目录,输入原理图文件名。项目的路径原理图文件名版权所有 侵权必究在 Graphic Editor 窗口,单击 Symbol=Enter Symbol 子命令,打开【Enter Symbol】对话框。放置元件符号操作步骤:根据设计题目需要,放置元器件符号。根据需要,还可调整元件符号的位置、旋转等操作。版权所有 侵权必究放置输入、输出引线符号。利用放置元件符号的方法,在【Enter Symbol】对话框的 Symbol Name 文本框中,输入文本“input”
16、或“output”。定义输入和输出引线操作步骤:输入、输出引线命名。双击“input”或“output”的默认名“PIN_NAME”,然后分别键入输入引线名“CP”和“CR”,对输出总线应输入总线名 Q3.0。版权所有 侵权必究连接线型选择。单击Options=Line Style子命令,在出现的【Line Style】对话框中选择所需连接线型。逻辑符号之间的连接操作步骤:画一般连接线。鼠标移动到要连接的一个元件符号的引脚,当鼠标指针变为十字形时,单击鼠标左键,然后按住鼠标拖至另一元件符号引脚处,释放鼠标左键。画命名连接线。鼠标移动到要连接的一个元件符号的引脚,当鼠标指针变为十字形时,单击鼠标
17、左键,然后按住鼠标拖至连接线终点处,释放鼠标左键。再选中该连接线,在终点处单击鼠标右键,在弹出的对话框中选择Enter Node/Bus Name命令,然后输入引线名。画总线连接线。单击 Options=Line Style 子命令,在【Line Style】对话框中选择粗实线类型。然后根据画命名连接线方法,即可画一条总线。版权所有 侵权必究单击 File=Size 子命令,弹出【Size】对话框。改变图纸大小操作步骤:在 Orizontal 选项中,根据需要选择图纸方向。在 Size 选项中,选择图纸大小。版权所有 侵权必究单击 File=Project=Save&Check 子命令,则文件
18、被保存,同时将打开MAX+plus II编译器窗口,检查该文件的设计规范,并给出检查报告。若无错误和警告信息,则选择“OK”按钮,关闭信息对话框。单击 Compiler 窗口关闭按钮,返回原理图编辑器窗口。原理图保存及基本错误检查 建立默认逻辑符号单击 File=Creat Default Symbol 子命令,则 MAX+plus II软件会自动为当前设计文件创建一个同名的逻辑符号。关闭文件单击 File=Close 子命令或原理图编辑器左上角“关闭”按钮,原理图编辑器窗口及原理图文件同时关闭。版权所有 侵权必究 波形设计输入最适合于已完全确定了输入信号与输出信号之间时序关系的电路设计,例如
19、控制电路、计数器等。用波形逻辑设计方法设计带异步清零六进制计数器。波形逻辑设计源文件建立步骤:创建输入、输出和隐埋节点 设置显示方式 编辑输入、输出波形 波形图文件的保存及基本错误检查 建立默认逻辑符号 关闭文件 创建新波形文件版权所有 侵权必究在 Max+plus II 项目管理器窗口,单击 File=New 子命令,打开【New】对话框。创建新波形文件操作步骤:在【New】对话框中,选择 Waveform Editor file和“.wdf”选项,然后单击“OK”按钮。在 Waveform Editor 窗口,单击 File=Save 或 Save As子命令,在【Save As】对话框中
20、,选择建立项目的目录,输入波形文件名,然后单击“OK”按钮。版权所有 侵权必究创建输入节点 CP。在 Waveform Editor 窗口 Name 下方空白处双击鼠标左键,在【Insert Node】对话框中设置参数。创建输入、输出和隐埋节点主要操作步骤:版权所有 侵权必究创建输入、输出和隐埋节点主要操作步骤:创建输入节点 CR。在输入节点 CP 下方空白处双击鼠标左键,在【Insert Node】对话框中设置参数。创建隐埋节点 COUNT。在输入节点 CR 下方空白处双击鼠标左键,在【Insert Node】对话框中设置参数。创建输出节点 COUT。在隐埋节点 COUNT 下方空白处双击鼠
21、标左键,在【Insert Node】对话框中设置参数。版权所有 侵权必究设置网格尺寸。单击 Options=Grid Size 子命令,在出现的【Grid Size】对话框中,输入显示时间间隔值,然后单击“OK”按钮。设置显示方式操作步骤:设置仿真结束时间。单击 File=End Time 子命令,在出现的【End Time】对话框中,输入显示波形结束时间,然后单击“OK”按钮。设置显示网格。单击 Options=Show Grid 子命令。版权所有 侵权必究编辑输入时钟信号 CP。单击Name为“CP”图标,选中该行,再单击窗口左下方编辑工具条“时钟”图标。在【Overwrite Clock
22、】对话框中,设置时钟起始电平值和时钟周期。编辑输入、输出波形操作步骤:编辑输入异步清零信号 CR。选中该信号的 0 30 ns 时间段,单击编辑工具条“1”图标,实现高有效异步清零信号输入。编辑隐埋节点 COUNT波形。在COUNT的 Value 处单击鼠标左键,然后单击 Edit=Overwrite=State Name 子命令,在【Overwrite State Name】对话框中输入状态名“S0”,再单击“OK”按钮。其次,选中 60 ns 100 ns时间段,设置该段状态名为“S1”。依次可设置S2、S3、S4、S5、S0、S1。编辑输出节点 COUT。选中隐埋节点 COUNT 在状态
23、名为“S5”时间段,单击编辑工具条“1”图标,设置六进制计数器溢出指示信号。版权所有 侵权必究单击 File=Project=Save&Check 子命令,则文件被保存,同时将打开 MAX+plus II 编译器窗口,检查该文件的设计规范,并给出检查报告。若无错误和警告信息,则选择“OK”按钮,关闭信息对话框。单击 Compiler 窗口关闭按钮,返回波形编辑器窗口。波形图文件的保存及基本错误检查 建立默认逻辑符号单击 File=Creat Default Symbol 子命令,则 MAX+plus II软件会自动为当前设计文件创建一个同名的逻辑符号。关闭文件单击 File=Close 子命令
24、或原理图编辑器左上角“关闭”按钮,波形编辑器窗口及波形文件同时关闭。版权所有 侵权必究 当设计项目比较复杂时,我们一般先将其划分若干个子模块,对各子模块分别设计和调试,然后再合成一个完整的设计。9.5.1 混合逻辑设计方法 9.5.2 VHDL硬件描述语言逻辑设计方法版权所有 侵权必究版权所有 侵权必究 利用混合逻辑设计方法,设计一个可控计数器。要求:(1)当模式控制信号 MODE=0 时,为 12 进制 BCD 计数器;当 MODE=1时,为 24 进制 BCD 计数器;(2)计数器计数结果由两位 BCD 七段显示译码输出。底层模块 count12 设计 底层模块 count24 设计 底层
25、模块 decode 设计 底层模块 outcon 设计 低层模块 count 设计 顶层模块 top 设计 设计项目的划分混合逻辑设计方法是将一个较大的设计项目划分为若干个子模块,然后利用硬件描述语言、原理图或波形图等对各子模块分别设计,生成功能子模块,最后用一个顶层原理图文件调用这些功能模块。版权所有 侵权必究确定顶层文件名称及输入、输出引脚。设顶层文件名为TOP,输入引脚为CP和MODE,输出引脚为A1G1和A2 G2。根据设计题目要求,我们按照下面操作步骤进行:根据设计题目要求,将该设计划分 4 个模块。确定模块名称和设计输入方式。确定设计项目结构。版权所有 侵权必究建立一个项目文件,即
26、一个独立的子文件夹topcount count12 和项目名称 count12.acf。底层模块count12设计主要操作步骤:建立波形文件 count12.wdf。波形图文件的保存及基本错误检查。建立逻辑符号 count12。版权所有 侵权必究建立一个项目(Project)文件,即一个独立的子文件夹topcountcount24 和项目名称 count24.acf。底层模块 count24 设计主要操作步骤:建立 VHDL 源文件 count24.vhd。VHDL 源文件的保存及基本错误检查。逻辑功能仿真分析。建立逻辑符号 count24。版权所有 侵权必究建立一个项目(Project)文件
27、,即一个独立的子文件夹topcountdecode 和项目名称的 decode.acf。底层模块 decode 设计主要操作步骤:建立图形文件 decode.gdf。电路原理图文件的保存及基本错误检查。逻辑功能仿真分析。建立逻辑符号 decode。版权所有 侵权必究建立一个项目(Project)文件,即一个独立的子文件夹topcountoutcon 和项目名称 outcon.acf。底层模块 outcon 设计主要操作步骤:建立 VHDL 源文件 outcon.vhd。VHDL 源文件的保存及基本错误检查。逻辑功能仿真分析。建立逻辑符号 outcon。版权所有 侵权必究建立一个项目(Proje
28、ct)文件,即一个独立的子文件夹top count 和项目名称的 count.acf。低层模块 count 设计主要操作步骤:建立图形文件 count.gdf。电路原理图文件的保存及基本错误检查。层次化浏览操作。双击逻辑模块符号,可展开内部逻辑设计。建立逻辑符号 count。版权所有 侵权必究建立一个项目(Project)文件,即一个独立的子文件夹 top和项目名称的 top.acf。顶层模块 top 设计主要操作步骤:建立图形文件 top.gdf。电路原理图文件的保存及基本错误检查。层次化浏览操作。双击逻辑模块符号,可展开内部逻辑设计。层次结构浏览操作。逻辑功能仿真分析。版权所有 侵权必究
29、利用 VHDL 硬件描述语言逻辑设计方法,设计一个可控计数器。要求:(1)当模式控制信号 MODE=0 时,为 12 进制 BCD 计数器;当 MODE=1 时,为 24 进制 BCD 计数器;(2)计数器计数结果由两位 BCD 七段显示译码输出。底层模块 count12 设计 底层模块 count24 设计 底层模块 outcon 设计 底层模块 decode 设计 顶层模块 count 设计 设计项目的划分版权所有 侵权必究根据设计题目要求,将该设计划分 4 个模块。设计项目的划分主要操作步骤:确定模块名称和各模块输入、输出引脚。确定设计项目层次结构。版权所有 侵权必究建立一个项目(Pro
30、ject)文件,即一个独立的子文件夹countcount12 和项目名称 count12.acf。底层模块 count12 设计主要操作步骤:建立 12 进制 BCD 计数器 VHDL 源文件 count12.vhd。VHDL 源文件的保存、基本错误检查及逻辑功能仿真分析。建立一个项目(Project)文件,即一个独立的子文件夹countcount24 和项目名称 count24.acf。底层模块 count24 设计主要操作步骤:建立 24 进制 BCD 计数器VHDL源文件 count24.vhd。VHDL 源文件的保存、基本错误检查及逻辑功能仿真分析。版权所有 侵权必究建立一个项目(Pr
31、oject)文件,即一个独立的子文件夹countoutcon 和项目名称 outcon.acf。底层模块 outcon 设计主要操作步骤:建立输出模式控制电路 VHDL 源文件 outcon.vhd。VHDL 源文件的保存、基本错误检查及逻辑功能仿真分析。建立一个项目(Project)文件,即一个独立的子文件夹countdecode 和项目名称 decode.acf。底层模块 decode 设计主要操作步骤:建立七段显示译码模块 VHDL 源文件 decode.vhd。VHDL 源文件的保存、基本错误检查及逻辑功能仿真分析。版权所有 侵权必究建立一个项目(Project)文件,即一个独立的子文件夹count 和项目名称的 count.acf。顶层模块 count 设计主要操作步骤:建立顶层模块 count 设计 VHDL 源文件 count.vhd。将文件 count12.vhd、count24.vhd、decode.vhd和outcon.Vhd 拷到 count 目录下。VHDL 源文件的保存、基本错误检查及逻辑功能仿真分析。单击 Max+plus II=Hierarchy Display 命令,浏览设计层次结构。版权所有 侵权必究第 9 章 完
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。