




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FPGA-CPLD原理及应用 第2、3章 Altera Quartus II软件开发ASIC设计流程Requirement BookFunctional DesignRTL Design所需功能的自然语言描述所需功能的“逻辑语言” 描述用寄存器、存储器、运算单元和状态机等实现逻辑功能细化RTL设计中的模块到触发器和逻辑门用三极管、电容、电阻等实现电路IC版图的设计和规则检查Logic DesignCircuit DesignPhysical DesignFPGA设计流程Requirement BookFunctional DesignRTL Design所需功能的自然语言描述所需功能的“逻辑语
2、言” 描述用寄存器、存储器、运算单元和状态机等实现逻辑功能用综合软件细化RTL到触发器和逻辑门布局布线时序检查SynthesisPlace & RouteTiming Extraction设计流程范例 (1)电子钟定时闹铃手动调时定时误差微调Requirement BookFunctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extraction设计流程范例(2)Requirement BookFunctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extr
3、action主计数器 显示译码 比较和闹铃电路分频器 误差微调 时间调整 定时输入设计流程范例(3)Requirement BookFunctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extraction小时计数 主计数器分计数 秒计数 秒时钟 计数加载 时 钟 预 置 数 据设计流程范例(4)Requirement BookFunctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extraction设计流程范例(5)Requirement BookFun
4、ctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extraction设计流程范例(6)Requirement BookFunctional DesignRTL Level DesignSynthesisPlace & RouteTiming Extraction硬件实现2.1.1 Quartus II软件的特点 Altera Quartus II设计软件提供完整的多平台设计环境,含有FPGA/CPLD 设计所有阶段的解决方案。 为可编程芯片系统(SOPC)提供全面的设计环境;也为DSP Builder软件提供了集成综合环境;
5、支持基于VHDL、Verilog HDL和AHDL的设计;支持原理图设计方式。 支持第三方的综合、仿真工具。如支持综合工具Leonardo Sspectrum、Synplify Pro等,支持仿真工具ModelSim。支持第三方的EDIF文件。支持与结构无关的设计、提供强大的逻辑综合与优化功能。 Quartus II支持的器件包括:Stratix系列、Cyclone系列、HardCopy系列、APEX 系列、FLEX系列和MAX系列等。2.4.3 使用RTL和状态机查看器分析综合结果 使用Quartus II的RTL Viewer和State Machine Viewer可以查看所设计的原理示
6、意图。单击Processing|Start|Start Analysis & Elaboration命令,对设计进行分析。然后使用RTL Viewer。1RTL 查看器2.4.3 使用RTL和状态机查看器分析综合结果2状态机查看器2.4.3 使用RTL和状态机查看器分析综合结果3采用技术映射查看器分析综合结果 提供的是设计的底级或基元级专用技术原理表征,它展示的是综合后的电路结构。2.6 仿真 完成了设计输入以及成功综合、布局布线后,只能说明设计符合一定的语法规范。但是否满足设计者要求的功能,是不能保证的,还需要通过仿真流程对设计进行验证。仿真的目的就是在软件环境下,验证电路的行为和设想中的行
7、为是否一致。申请授权许可证( license )在Windos界面下,使用命令 开始 | 运行 | cmd ,出现DOS命令提示符, 在DOS命令提示符下键入命令: ipconfig /all 在屏幕显示的结果中,在 physical address 后面有一串12位的16进制数,这就是本计算机的NIC(每2个数字之间有连字符隔开)。 例如:00-0F-7D-86-3E-25。 - 准备工作:查找当前计算机的NIC - -(Network Interface Card )*18申请授权许可证( license )访问ALTERA网站,申请 license。 ALTERA 通过 EMAIL 发送
8、授权文件 license.dat 给你。用查看得到的结果替换LICENSE文件中的HOSTIDTools license Setup三、 QUARTUSII的基本操作步骤双击Quartus II图标Quartus II主界面 File菜单的一个实例 Quartus II主界面的一个实例 用户定制主界面 选择命令ToolsCustomize 在对话框中操作: Quartus II设计流程编写VHDL程序(使用Text Editor)编译VHDL程序(使用Compiler)仿真验证VHDL程序(使用Waveform Editor,Simulator)进行芯片的时序分析(使用Timing Analy
9、zer)安排芯片管脚位置(使用Floorplan Editor)下载程序至芯片(使用Programmer)开始一个新项目Project: 项目,工程,设计 Quartus2只对项目进行编译,模拟,编程. 而不对单独的文件,除非把该文件设置为项目任何一项设计都是一个项目(Project),都必须为此项目建立一个放置与此项目相关文件的文件夹,如果各个设计都不加整理地放在默认的目录下,势必造成文件管理的混乱。此文件夹中不仅包括设计输入的源文件(.vhd),还包括编译过程中产生的一系列文件。此文件夹被默认为工作库(Work library)注意事项对于一个设计,创建一个单独的目录,该目录的路径从根目录
10、开始都必须是英文名称,任何一级目录都不能出现中文字样,且不能包含空格,否则在读文件时会发生错误; 将设计的源文件(.vhd)放在对应的目录底下,编译等过程中产生的文件也就自动放在该目录下了。指定新项目的工作目录及名称 选择命令File | New Project Wizard 在对话框中操作: (1)指定工作目录 (4)点击Next (3)本项目顶层 Entity名称 建议顶层文件名与顶层Entity同名; 建议顶层文件名与项目名称相同。 (2)指定项目名称 将本项目所需文件包含进来的窗口 为本项目指定目标器件 (1)选择器件系列 (2) 选择Auto或具体器件(3)点击Next 指定所需的第
11、三方EDA工具 点击Finish 或 Next 进入文本编辑器文本编辑器窗口文件名后缀:VHDL: .vhd;Verilog: .v;AHDL: .tdf。 在文本编辑器中利用VHDL模板选择Edit | Insert Template| VHDL(或点击鼠标右键 ) (1)选择VHDL (2)选择所需的VHDL模板 插入Entity模板后的文本编辑器窗口 将带双下划线的虚拟标识符替换为用户自己的标识符 4 位加法器的VHDL代码 LIBRARY ieee; - 第1行 USE ieee.std_logic_1164.ALL; - 第2行 USE ieee.std_logic_unsigned
12、.ALL; - operator + is overwrited in the package ENTITY Adder4 IS GENERIC ( width : integer := 4 ); - 定义一个类属参数width,其默认值为4 PORT ( a, b: IN std_logic_vector ( width - 1 DOWNTO 0 ); cin: IN std_logic; cout: OUT std_logic; Sum: OUT std_logic_vector ( width - 1 DOWNTO 0 ) ); END Adder4; 4 位加法器的VHDL代码(续)
13、ARCHITECTURE behav OF Adder4 IS SIGNAL temp: std_logic_vector ( width DOWNTO 0 ); BEGIN temp = ( 0 & a ) + b + cin; cout = temp (width); sum = temp ( width - 1 DOWNTO 0 ); - 第20行 END behav; - 第21行 综合和编译 编译前的准备工作Quartus II 只对项目进行编译 方法1:先借助于New Project Wizard创建一个新项目,再创建设计输入文件(已介绍)。方法2:先建立设计输入文件,再将其设置为
14、顶层文件,进一步确定其为项目。选择命令ProjectSet as Top-Level Entity, 进入编译器 选择命令ProcessingCompiler Tool ,打开编译器窗口:编译器包含5个主模块,可以连续运行5个模块,也可以单独运行某模块。编译器的 5 个主模块分析和综合(Analysis & Synthesis)模块:把原始描述转化为逻辑电路,映射到所选定的可编程器件。装配(Fitter)模块:将前一步确定的逻辑元件在目标芯片上布局、布线; 组装(Assembler)模块:形成编程文件;时序分析(Timing Analyzer)模块;产生EDA工具网表(EDA Netlist
15、Writer)模块:目的是与其他EDA工具相衔接。 编译结果的报告本例为加法器的编译结果:容易出现的错误错将设计文件存入了根目录,并将其设定成工程,找不到工作库时,报错为: Error:Cant open VHDL “WORK”文件后缀名不是.vhd,在设定工程后编译时,报错为: Error:Line1,File e:half_adderhalf_adder.tdf:TDF syntax error 设计文件名与实体名不符时,如写成adder.vhd,编译时,报错为: Error:Line1,VHDL Design File “adder.vhd“ must contain 发现并纠正VHDL
16、代码中的错误故意制造一个错误:例如将第20行末尾处的分号删除 重新编译; 编译器将产生出错报告 ;点击确定。点击确定*46发现并纠正VHDL代码中的错误(续)在消息窗口中找到第1条出错信息:它告诉我们与第21行的文字“end”相邻的地方缺少1个分号。鼠标双击该消息,文本编辑器中的出错位置被高亮度显示; 纠正该错误 重新编译 通过;本例说明出错消息的不准确性,应首先纠正第1个错误。 第1条出错信息 编译的成功为项目创建一个编程文件,能够保证了设计输入的基本正确性,不能保证该项目的逻辑关系的正确性,也不能保证时序的正确性。 设计输入和编译成功 设 计 成 功模拟验证 模拟前的准备工作 准备好网表(
17、netlist)文件 : 如果准备进行功能模拟,在Analysis & Synthesis之后,使用命令 ProcessingGenerate Functional Simulation Netlist;如果准备进行时序模拟:则使用完整的编译命令准备好测试向量文件 :用波形编辑器(Vector / Waveform Editor)画出输入信号的激励波形(即测试向量);以波形文件形式保存(后缀为.vwf)。打开波形编辑器绘制测试向量波形选择命令 FileNew 执行以下操作 打开波形编辑器窗口:波形编辑器窗口指定模拟终止时间选择命令 EditEnd Time 在对话框中操作 (本例为300 ns
18、) 引入欲观察的结点(信号)名选择命令Edit Insert Node or Bus;或直接键入结点名;或点击Node Finder出现结点查找器窗口搜索结点名在结点查找器窗口中查找结点 (1)选择Pins: all (2)点击 List (3)从左边方框选择结点,移至右边方框 (4)点击 OK 从右向左移 从左向右移 结点名引入波形编辑器后的操作 编辑输入激励信号波形: (1)拖动鼠标,选择一个时间段 (2)在工具条中选择一个值,给信号赋值 输入激励信号波形编辑完毕后的结果 形成完整的测试向量(本实例为半加器的输入激励波形):执行模拟(本例为功能模拟)使用命令ProcessingSimula
19、tor Tool ,出现模拟器窗口: (4) 点击 Start启动模拟器(5) 点击 OPEN 观察测试向量波形(6) 点击 Report观察模拟结果波形(3) 指定测试向量文件(2) 产生功能模拟网表(1)选择 Functional执行模拟(本例为时序模拟) (1)选择Timming (2)指定测试向量文件 (3)点击 Start (4)模拟完毕之后,点击 Report观察模拟结果 模拟结果示例(时序模拟)本实例为半加器时序模拟结果:可编程器件的物理实现(1) 确定电路的输入/输出端口和引脚的对应关系;(2)将设计结果下载到可编程器件中,使之变成所希望 的集成电路,这个过程称为编程( Pro
20、gramming )。引脚分配实例实例为前面介绍过的半加器,并且编译之前指定目标器件;编译之前未指定引脚分配;编译时由编译器自动指定引脚分配,其结果记录在文件half_adder.qsf中;为了观察编译器自动指定引脚分配情况:使用命令AssignmentsPins 打开引脚规划器 引脚分配实例引脚分配实例(观察引脚分配结果) 观察引脚分配结果的方法:鼠标移至已被分配的引脚(涂有深色) 将显示对应端口名称。 观察结果:x被分配到引脚24; y被分配到引脚21; half_sum被分配到引脚4; half_cout被分配到引脚5。 鼠标手工指定引脚分配部分改变上述引脚分配的实例: 输入端口 x 分
21、配给引脚8;输入端口 y 分配给引脚9其余引脚留给Quartus自动分配。在Pin Planner的引脚列表中操作: 观察手工指定引脚分配的结果使用命令 View | Show Fitter Placement(或者需要2次使用此命令) 使手工指定引脚分配有效重新编译才能使手工指定引脚分配有效;观察重新编译后的引脚分配 引脚24变白色;引脚21变白色;引脚8变红色;引脚9变红色;取消此前对引脚的指定使用命令Assignments | Remove Assignments 在弹出的窗口中操作: Pin, Location & Routing Assignments对目标器件编程仍然沿用前文所用加
22、法器的例子;实际上,编译完成之后就已经产生了编程文件(后缀为.pof); 编程之前再检查一遍,确保:已经选定了合适的目标器件;经过模拟验证,电路的功能和时序关系和预期相符;输入/输出端口的引脚分配符合要求 。可编程器件通过专用电缆和计算机相连 印制电路板 下载电缆 Byteblaster 的另 一端连接到计算机的并口 可编程逻 辑器件 USB接口 对目标器件编程的步骤 使用命令ToolsProgrammer打开编程模块窗口,目标器件名和编程文件名必须正确地显示在该窗口中点击Hardware Setup按钮 点击 Hardware Setup按钮 编程文件 目标器件 对目标器件编程的步骤(续)
23、在出现的硬件设置对话框中操作: (1) 选择下载电缆 ByteBlasterLPT1 (2)点击Close 对目标器件编程的步骤(续) 回到编程器窗口在该窗口中操作,启动编程 (1)点击此方框,表示选中 (2)点击S t a r t,启动编程 SignalTap II嵌入逻辑分析仪 传统硬件测试方法的缺点:1)缺少空余I/O引脚:设计中器件的选择依据设计规模而定,通常所选器件的I/O引脚数目和设计的需求是恰好匹配的。2)I/O引脚难以引出:设计者为减小电路板的面积,大都采用细间距工艺技术,在不改变PCB板布线的情况下引出I/O引脚非常困难。3)传统的逻辑分析仪价格昂贵:会加重设计方的经济负担。
24、嵌入式逻辑分析仪 SignalTap IIALTERA公司逻辑分析仪SignalTapII的工作原理:1)嵌入式逻辑分析仪SignalTapII随设计文件一起下载到目标芯片中;2)嵌入式逻辑分析仪将测得的信号样本暂存于目标芯片的嵌入式RAM中;3)嵌入式逻辑分析仪通过JTAG引脚捕捉目标芯片内部设计者感兴趣的信号信息,而不影响系统的正常工作。嵌入式逻辑分析仪 SignalTap IIALTER逻辑分析仪SignalTap II的优点:1)不增加引脚,使用专门的JTAG引脚;2)可实现方便简单的探测,不需要担心如何将探测信息连接到电路板上;3)内核便宜。嵌入式逻辑分析仪 SignalTap II
25、ALTERA逻辑分析仪SignalTapII的缺点:1)内核的尺寸限制了FPGA中逻辑资源的使用,同时,波形数据占用FPGA内部存储器,信号采样的数据量有限,开发人员不能采用相应的RAM资源进行工程设计;2)内部逻辑分析仪只工作于状态模式,捕获的数据与规定的时钟同步,而不能提供信号时序关系。嵌入式逻辑分析仪 SignalTap II第一步:在QuartusII中建立项目工程,查错,并编译通过;第二步:验证设计是否满足预想的要求; 在QuartusII中提供两个工具验证设计: (1)Simulator:波形仿真工具; (2)SignalTap II:嵌入逻辑分析仪。典型的FPGA项目设计 Sim
26、ulator:显示的波形(包括延时)是计算所得,与实际波形难免有差异。SignalTap:显示的波形(包括延时)是实际波形。利用FPGA中的资源形成嵌入式逻辑分析仪ELA,捕捉目标芯片内部信号节点的信息,而不影响原硬件系统的正常工作。ELA把采集的数据从JTAG口经ByteBlaster送往主机,显示有关信号的实测波形。 SignalTap与Simulator的比较 SignalTap II嵌入逻辑分析仪 SignalTap集成到Quartus II设计软件中,能够捕获和显示FPGA中实时信号的状态。支持的器件:APEXT系列,Cyclone系列、Stratix系列等 FPGASignalTa
27、p II的使用(1)设计人员在完成设计并编译工程后,建立SignalTapII(.stp) 文件并加入工程;(2) 配置STP文件;(3)编译并下载设计到FPGA(4)在QuartusII软件中显示被测信号的波形;(5)在测试完毕后将该逻辑分析仪从项目中删除。使用SignalTapII的一般流程SignalTapII的使用流程打开SignalTapII编辑器,创建一个.stp文件,在该文件中指定:欲观察的信号名;开始采样数据的触发条件;采样的数据量。启动Quartus的全程编译,生成编程文件对FPGA器件编程(该FPGA既包含原来的设计也包含ELA,ELA额外占用硬件资源)启动SignalTa
28、p II进行采样与分析(ELA采样的数据通过ByteBlaster传送到主机显示波形)使用逻辑分析仪SignalTapII的具体操作:1)在QuartusII环境下打开已建好的工程项目,选择file菜单,点击new。在new窗口中选择Verification/Dubugging Files项,选择SignalTap II Logic Analyzer File,出现SignalTap II编辑窗口。嵌入式逻辑分析仪 SignalTap IISignal ConfigurationJTAG Chain ConfigurationWaveform Viewer.STP文件Instance Mana
29、ger将默认的auto_signaltap_0 更名为sinoutsignal双击,打开测试信号添加对话框嵌入式逻辑分析仪 SignalTap II嵌入式逻辑分析仪 SignalTap II嵌入式逻辑分析仪 SignalTap II2)设置SignalTap II。在SignalTap II的Setup页中,单击全屏按钮,出现全屏编辑窗口。嵌入式逻辑分析仪 SignalTap II逻辑分析仪的工作时钟设置采样深度设置缓冲模式设置:环形缓冲、分段缓冲环形缓冲有四种触发方式:前触发、中触发、后触发、连续触发;分段缓冲用于捕捉周期事件触发电平、触发源设置JTAG链设置嵌入式逻辑分析仪 SignalT
30、ap II3)SignalTap II文件的使能、取消通过设置该选项选择是否将嵌入式逻辑分析仪文件编译到工程文件中嵌入式逻辑分析仪 SignalTap II4)编译、下载,对工程文件进行编译后,下载到芯片中:可以通过SignalTapII对话框的功能按钮或Programmer下载。工程文件下载区嵌入式逻辑分析仪 SignalTap II嵌入式逻辑分析仪 SignalTap II5)测试分析。点击相应的功能按钮运行逻辑分析仪,测试,分析5)测试分析。嵌入式逻辑分析仪 SignalTap II设计一个可调信号发生器,该信号发生器可通过参数选择产生正弦波、方波、三角波和锯齿波中的一种,其频率可通过参数改变。 该波形发生器主要由三部分组成:地址指针,数据ROM和D/A。地址指针用来产生地址,数据ROM中存放波形数据,包括正弦
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 轨道交通设备租赁合同
- 2025年度酒店客房地毯清洗及更换承包合同
- 电子制餐安全生产培训
- 二零二五年度旅游园区企业入驻共同发展协议
- 二零二五年度环保设备租赁及环保服务合同
- 二零二五年度跨境资金转入监管协议书
- 二零二五年度酒店退场员工安置与补偿协议
- 二零二五年度金融居间保密合作协议
- 二零二五年度亲子亲子关系咨询机构与家长孩子亲子关系和谐协议
- 二零二五年度房屋买卖合同解除通知及购房资格核实协议
- 幼儿园强制报告制度培训
- 《研学旅行课程设计》课件-辨识与研学旅行场混淆的概念
- GB/T 43700-2024滑雪场所的运行和管理规范
- 鲁迅《社戏》原文+赏析
- 部编版道德与法治三年级下册教案全册
- 幼儿教师之《幼儿游戏与指导》考试题库(通用版)
- 中国建设银行养老金融模式发展问题研究
- 关于布郎芬布伦纳发展心理学生态系统理论
- 我们身边的法律故事课件
- 执行律师服务方案
- 修建蓄水池施工合同协议书范本
评论
0/150
提交评论