学法指导:通过演示操作使学生了解SignalTapII的用法。 作业:自行编译QuestaSim下QuartusⅡ仿真库文件 小结:这一章主要是以实践操作为主,没有Verilog语法知识,因此要求学 生多练习,课堂讲解也以演示操作为主,启动互动为辅助。 详细大纲 1 SignalTa即Ⅱ原理及应用 传统意义上,可逻辑逻辑器件的硬件电路级调试手段是逻辑分析仪,但它只 能从器件引脚处观测信号的变化情况,随着逻辑设计复杂性的不断增加,可编程 逻辑器件的调试难度急剧上升,而且现在主流FPGA基本均采用了BGA封装, 除非专门在PCB板上留有专用观测焊点,否则无法使用逻辑分析仪抓捕信号。 另一方面,专业的逻辑分析仪价格昂贵,从数十万到数百万RMB不等,这 也限制了逻辑分析仪的大规模应用。 在线逻辑分析仪 原理 利用FPGA某一内部时钟作为触发时钟,并使用片内RAM作为信号缓存, 在符合触发条件时,通过TAG端口将捕捉到的信号数据上传至电脑端进行详细 分析。 典型产品 Altera:SignalTap IⅡ Xilinx:Chipscope Pro Lattice:Reveal 优点 价格低廉(随FPGA开发工具集成,只需数千美元): 只需使用器件内部的存储器作为信号缓存,典型记录长度可达65536点以上, 满足绝大多数系统需要: 无需占用器件10端口,支持触发变量数量多且可灵活修改,一般可达200 条以上。 缺点 使用在线逻辑分析仪会占用芯片逻辑及存储资源,在资源紧张或低档芯片场 38
28 学法指导:通过演示操作使学生了解 SignalTapII 的用法。 作业:自行编译 QuestaSim 下 Quartus II 仿真库文件。 小结:这一章主要是以实践操作为主,没有 Verilog 语法知识,因此要求学 生多练习,课堂讲解也以演示操作为主,启动互动为辅助。 详细大纲 1 SignalTap II 原理及应用 传统意义上,可逻辑逻辑器件的硬件电路级调试手段是逻辑分析仪,但它只 能从器件引脚处观测信号的变化情况,随着逻辑设计复杂性的不断增加,可编程 逻辑器件的调试难度急剧上升,而且现在主流 FPGA 基本均采用了 BGA 封装, 除非专门在 PCB 板上留有专用观测焊点,否则无法使用逻辑分析仪抓捕信号。 另一方面,专业的逻辑分析仪价格昂贵,从数十万到数百万 RMB 不等,这 也限制了逻辑分析仪的大规模应用。 在线逻辑分析仪 原理 利用 FPGA 某一内部时钟作为触发时钟,并使用片内 RAM 作为信号缓存, 在符合触发条件时,通过 JTAG 端口将捕捉到的信号数据上传至电脑端进行详细 分析。 典型产品 Altera:SignalTap II Xilinx:Chipscope Pro Lattice:Reveal 优点 价格低廉(随 FPGA 开发工具集成,只需数千美元); 只需使用器件内部的存储器作为信号缓存,典型记录长度可达65536点以上, 满足绝大多数系统需要; 无需占用器件 IO 端口,支持触发变量数量多且可灵活修改,一般可达 200 条以上。 缺点 使用在线逻辑分析仪会占用芯片逻辑及存储资源,在资源紧张或低档芯片场
合下不适用: 触发深度无法与专业逻辑分析仪相比,不适用于超长时间记录: 触发频率受设计工程及芯片自身限制,一般很难超过200MHz,超高速场合 下观测能力有限。 Signal Tap本质是使用高速时钟采样记录待观测信号,因此必须保证工作时 钟频率高于信号的变化频率: 应合理设置触发信号数量及触发深度,数量过多或深度过大都会耗费大量资 源,且影响整个工程的最高工作频率: 在调试完成后,应及时删除工程中的SignalTa即文件,并重新编译工程,确 保获得最好的资源时序性能。 2嵌入式逻辑分析仪使用方法 1)在Quartus中打开待调试工程,然后点击Filenew,选择Signal Tap IⅡLogic Analyzer File 2)打开SignalTa即Ⅱ编辑窗口,修改Instance实例化名字 3)双击光标所在位置,加入待观测信号 4)SignalTap即IⅡ工作时钟设置 5)SignalTap IⅡ捕捉条件设置(BASIC模式) 6)保存SignalTap子工程信息,返回Quartus II,重新编译工程 7)编译下载,既可通过Programmer下载sof文件,也可直接通过SignalTap 下载 8)启动SignalTapⅡ进行采样与分析 3 MegaWizard IP Core核的使用 MegaWizard工具是Altera提供的参数可设置IP核生成工具,包括算术类、 通信类、数字信号处理类、组合逻辑类、输入输出端口类、高速接口类、JTAG 调试类、存储器及寄存器类等大量免费/收费IP核。合理使用IP核可大大减轻开 发编程压力,同时代码质量及性能也比较有保障 常用P核: 乘法(累加)器:完成硬件乘法器或乘累加器(MAC),数字信号处理中应用 极为频繁: 29
29 合下不适用; 触发深度无法与专业逻辑分析仪相比,不适用于超长时间记录; 触发频率受设计工程及芯片自身限制,一般很难超过 200MHz,超高速场合 下观测能力有限。 SignalTap 本质是使用高速时钟采样记录待观测信号,因此必须保证工作时 钟频率高于信号的变化频率; 应合理设置触发信号数量及触发深度,数量过多或深度过大都会耗费大量资 源,且影响整个工程的最高工作频率; 在调试完成后,应及时删除工程中的 SignalTap 文件,并重新编译工程,确 保获得最好的资源/时序性能。 2 嵌入式逻辑分析仪使用方法 1) 在 Quartus 中打开待调试工程,然后点击 File|new,选择 SignalTap II Logic Analyzer File 2) 打开 SignalTap II 编辑窗口,修改 Instance 实例化名字 3) 双击光标所在位置,加入待观测信号 4) SignalTap II 工作时钟设置 5) SignalTap II 捕捉条件设置(BASIC 模式) 6) 保存 SignalTap 子工程信息,返回 Quartus II,重新编译工程 7) 编译下载,既可通过 Programmer 下载 sof 文件,也可直接通过 SignalTap 下载 8) 启动 SignalTap II 进行采样与分析 3 MegaWizard IP Core 核的使用 MegaWizard 工具是 Altera 提供的参数可设置 IP 核生成工具,包括算术类、 通信类、数字信号处理类、组合逻辑类、输入输出端口类、高速接口类、JTAG 调试类、存储器及寄存器类等大量免费/收费 IP 核。合理使用 IP 核可大大减轻开 发编程压力,同时代码质量及性能也比较有保障。 常用 IP 核: 乘法(累加)器:完成硬件乘法器或乘累加器(MAC),数字信号处理中应用 极为频繁;
存储器(RAM/ROM):最常用的IP组件之一,用于大容量数据存储缓冲 跨时钟域交换等: FIFO:常用于数据缓冲、数据速率转换、读写时钟分离的异步FFO多用于 解决跨时钟域数据同步: 时钟管理模块PLL:用于完成时钟信号再生、整形、倍频、分频等处理: FIR数字滤波器:数字信号处理中最常用组件,实现数字域滤波。 4 ModelSim下Mega Core的仿真 对含有Mega Core源文件的设计工程,如果要进行功能或时序仿真,均需要 事先编译Altera公司的产品库,否则仿真软件无别识别Mega Core源文件,同样 地,如果使用Xilinx公司的FPGA,也需要编译Xilinx IP库。 QuestSim与ModelSim编译步骤完全相同。 为确保每次打开ModelSim时自动加载Altera库,可打开modelsim.ini文件, 确认是否有相关语句,确认完毕后恢复该文件的只读属性。 (七)课程有关说明 本大纲重点加强了Verilog实用化设计以及相关应用的内容。本课程的必备 先修课程为数字电子技术课程。同时本课程与信号与系统、通信原理电路等课程 也有一定关系。执行本大纲要注意Verilog语法讲解与应用实例讲解的有机结合。 Verilog的代码风格是本大纲新引入的内容,也是学习的重点和难点。目前,国 内的主流EDA教材对HDL代码风格重视程度明显不够,多数教材甚至直接缺 失该部分内容。这导致许多学生虽然学习了FPGA课程,但在工作后从事FPGA 开发时代码书写混乱,几乎没有可维护性,并不能真正完成具有工程实用性的 FPGA设计。而代码风格上的要求恰恰是目前FPGA课堂教学最为欠缺的。本课 程教学采用多媒体教学,考核方式为开放设计实验、撰写学术报告等。 (八)主要教学方法与媒体要求 本课程教学采用多媒体教学,需要多媒体计算机和投影机等相关设备。 EDA技术发展快,涉及面广、实践性强,对教师和学生的要求较高。掌握 EDA技术,提高解决实际工程问题的能力需要一个不断积累、不断探索的过程。 在EDA技术教学方法上逐步进行革新,改变过去以教师为中心、以课堂讲授为 主、以传授知识为基本目的的传统教学模式,而采用教师讲授与学生实践相结合, 30
30 存储器(RAM/ROM):最常用的 IP 组件之一,用于大容量数据存储/缓冲、 跨时钟域交换等; FIFO:常用于数据缓冲、数据速率转换、读写时钟分离的异步 FIFO 多用于 解决跨时钟域数据同步; 时钟管理模块 PLL:用于完成时钟信号再生、整形、倍频、分频等处理; FIR 数字滤波器:数字信号处理中最常用组件,实现数字域滤波。 4 ModelSim 下 Mega Core 的仿真 对含有 Mega Core 源文件的设计工程,如果要进行功能或时序仿真,均需要 事先编译 Altera 公司的产品库,否则仿真软件无别识别 Mega Core 源文件,同样 地,如果使用 Xilinx 公司的 FPGA,也需要编译 Xilinx IP 库。 QuestSim 与 ModelSim 编译步骤完全相同。 为确保每次打开 ModelSim 时自动加载 Altera 库,可打开 modelsim.ini 文件, 确认是否有相关语句,确认完毕后恢复该文件的只读属性。 (七)课程有关说明 本大纲重点加强了 Verilog 实用化设计以及相关应用的内容。本课程的必备 先修课程为数字电子技术课程。同时本课程与信号与系统、通信原理电路等课程 也有一定关系。执行本大纲要注意 Verilog 语法讲解与应用实例讲解的有机结合。 Verilog 的代码风格是本大纲新引入的内容,也是学习的重点和难点。目前,国 内的主流 EDA 教材对 HDL 代码风格重视程度明显不够,多数教材甚至直接缺 失该部分内容。这导致许多学生虽然学习了 FPGA 课程,但在工作后从事 FPGA 开发时代码书写混乱,几乎没有可维护性,并不能真正完成具有工程实用性的 FPGA 设计。而代码风格上的要求恰恰是目前 FPGA 课堂教学最为欠缺的。本课 程教学采用多媒体教学,考核方式为开放设计实验、撰写学术报告等。 (八)主要教学方法与媒体要求 本课程教学采用多媒体教学,需要多媒体计算机和投影机等相关设备。 EDA 技术发展快,涉及面广、实践性强,对教师和学生的要求较高。掌握 EDA 技术,提高解决实际工程问题的能力需要一个不断积累、不断探索的过程。 在 EDA 技术教学方法上逐步进行革新,改变过去以教师为中心、以课堂讲授为 主、以传授知识为基本目的的传统教学模式,而采用教师讲授与学生实践相结合
理论知识与现实工程问题相结合的灵活的教学方式,留给学生充分的思考和实践 时间,鼓励学生勤于思考,善于把握问题实质,不断提高自己解决实际问题的能 力。 讲课时突出重点、难点,注重知识点重组。既注重理论基础,又强调实践实 用,即保持学术前沿性,又兼顾趣味性,师生互动。教学中重视培养学生的运用 知识,解决实际问题的能力,课程中引入大量的EDA实际例题,充分调动了学 生的学习积极性。多元化教学方法包括: )交互讨论式教学法:为调动学生独立思考的积极性,理论课教学中教师或 学生提出问题,师生之间、学生之间互动讨论,调动学生的积极参与性:在设计 与综合实验中,教师引导学生讨论方案、方法等。 2)标驱动教学法:教师给出课外作业、实验项目及其目标,学生根据任务 目标完成实验的各个环节,如资料查找、实验方案设计、仪器调试、实验结果测 量与处理等。这种方法使学生任务目标明确,充分发挥学生的自主性,有利于培 养其独力工作能力。 3)研究式教学法:采用研究的观点、研究的思路、研究的方法讲授课程内容, 设置研究性的作业和实验项目。 4)现场不讲授只指导的方法:对于学生能够独立完成的实验项目,指导教师 不统一讲授,只对学生提出的问题进行答疑指导。这种方法有利于学生自主学习, 让学生独力思考,自主学习。 5)开放式自主实践教学法:开放实验室,达到学生自主实验和学习的目的。 6)课外科技活动指导方法:分小组进行实践活动,开展合作、研究性学习。 7)学生参与教师科研项目方法:学生在学习过程中可参与教师的科研,教师 指导其学习与研究。 8)网络辅导方法:学生可通过网络与教师交流,教师通过网络进行辅导。 多样化实验教学方法主要体现为不同内容、不同对象、不同背景、不同项目 情况下多种形式和多种方法的结合,其主要目的是以学生为中心,因材施教,因 内容施教,充分激发学生的实践创新积极性,达到提高教学质量、实现创新能力 培养的目的。例如,在基础实验阶段,主要采取现场授课与指导方法:在学生掌 握了基本技术与方法之后,在设计性、综合性、创新性实验中进行只指导不讲授 31
31 理论知识与现实工程问题相结合的灵活的教学方式,留给学生充分的思考和实践 时间,鼓励学生勤于思考,善于把握问题实质,不断提高自己解决实际问题的能 力。 讲课时突出重点、难点,注重知识点重组。既注重理论基础,又强调实践实 用,即保持学术前沿性,又兼顾趣味性,师生互动。教学中重视培养学生的运用 知识,解决实际问题的能力,课程中引入大量的 EDA 实际例题,充分调动了学 生的学习积极性。多元化教学方法包括: 1)交互讨论式教学法:为调动学生独立思考的积极性,理论课教学中教师或 学生提出问题,师生之间、学生之间互动讨论,调动学生的积极参与性;在设计 与综合实验中,教师引导学生讨论方案、方法等。 2)目标驱动教学法:教师给出课外作业、实验项目及其目标,学生根据任务 目标完成实验的各个环节,如资料查找、实验方案设计、仪器调试、实验结果测 量与处理等。这种方法使学生任务目标明确,充分发挥学生的自主性,有利于培 养其独力工作能力。 3)研究式教学法:采用研究的观点、研究的思路、研究的方法讲授课程内容, 设置研究性的作业和实验项目。 4)现场不讲授只指导的方法:对于学生能够独立完成的实验项目,指导教师 不统一讲授,只对学生提出的问题进行答疑指导。这种方法有利于学生自主学习, 让学生独力思考,自主学习。 5)开放式自主实践教学法:开放实验室,,达到学生自主实验和学习的目的。 6)课外科技活动指导方法:分小组进行实践活动,开展合作、研究性学习。 7)学生参与教师科研项目方法:学生在学习过程中可参与教师的科研,教师 指导其学习与研究。 8)网络辅导方法:学生可通过网络与教师交流,教师通过网络进行辅导。 多样化实验教学方法主要体现为不同内容、不同对象、不同背景、不同项目 情况下多种形式和多种方法的结合,其主要目的是以学生为中心,因材施教,因 内容施教,充分激发学生的实践创新积极性,达到提高教学质量、实现创新能力 培养的目的。例如,在基础实验阶段,主要采取现场授课与指导方法;在学生掌 握了基本技术与方法之后,在设计性、综合性、创新性实验中进行只指导不讲授
或开放式自主实践方法:在理论课和综合实验中采用互动讨论的方法:安排课外 作业或科技活动,则采用课外指导方法:目标驱动法则可充满各环节之中。各种 方法综合运用的目的是,培养学生自己获取知识的能力,让学生充分发挥主观能 动性和创造性。 在多媒体优化教学上,教学网络空间上有EDA教学课件、教师讲课录像等 各种学习资源,学生可进行远程学习与接受辅导:建有多媒体教室,实验室配备 了投影、实时摄像投影等多媒体教学设备,理论和实验教学均采用多媒体辅助教 学,全面实现了计算机仿真实验与实际实验的结合,课堂教学与远程网上辅助教 学的结合,现场实时投影与教师演示的结合。 根据教学的不同阶段、不同内容和课内外情况,采用了上述多媒体优化实验 教学。例如,课前学生进行网上预习,课外可通过网络进行同学间、师生间的交 流与辅导:实验课上讲授基本内容时采用CAI课件,演示仪器使用时采用实时 摄像投影,学生在实验阶段采用计算机和网络辅助,遇到困难,除向教师询问外 还可自主到网上资源库查询。多种媒体优化使用,以达到最佳效果。 (九)使用教材及主要参考书 1.夏字闻:Verilog数字系统设计教程(第3版)M北京航空航天大学出版 社,2010年7月版 2.杜慧敏:基于Verilog的FPGA设计基础M,西安电子科技大学出版社, 2006年2月版 3.EDA先锋工作室:AlteraFPGA/CPLD设计(基础篇)第2版M,人民 邮电出版社,2014年2月版 4.EDA先锋工作室:AlteraFPGA/CPLD设计(高级篇)第2版M,人民 邮电出版社,2010年2月版 5.徐文波,田耘编:Xilinx FPGA开发实用教程(附光盘第2版)M,清华 大学出版社,2013年7月版 (十)推荐的散学网站和相关专业文献网站 EETOP设计论坛:bbs.eetop.cn PUDN资源网:www.pudn..com (十一)其他
32 或开放式自主实践方法;在理论课和综合实验中采用互动讨论的方法;安排课外 作业或科技活动,则采用课外指导方法;目标驱动法则可充满各环节之中。各种 方法综合运用的目的是,培养学生自己获取知识的能力,让学生充分发挥主观能 动性和创造性。 在多媒体优化教学上,教学网络空间上有 EDA 教学课件、教师讲课录像等 各种学习资源,学生可进行远程学习与接受辅导;建有多媒体教室,实验室配备 了投影、实时摄像投影等多媒体教学设备,理论和实验教学均采用多媒体辅助教 学,全面实现了计算机仿真实验与实际实验的结合,课堂教学与远程网上辅助教 学的结合,现场实时投影与教师演示的结合。 根据教学的不同阶段、不同内容和课内外情况,采用了上述多媒体优化实验 教学。例如,课前学生进行网上预习,课外可通过网络进行同学间、师生间的交 流与辅导;实验课上讲授基本内容时采用 CAI 课件,演示仪器使用时采用实时 摄像投影,学生在实验阶段采用计算机和网络辅助,遇到困难,除向教师询问外, 还可自主到网上资源库查询。多种媒体优化使用,以达到最佳效果。 (九)使用教材及主要参考书 1. 夏宇闻:Verilog 数字系统设计教程(第 3 版) [M]北京航空航天大学出版 社,2010 年 7 月版 2. 杜慧敏:基于 Verilog 的 FPGA 设计基础[M],西安电子科技大学出版社, 2006 年 2 月版 3. EDA 先锋工作室:AlteraFPGA/CPLD 设计(基础篇) 第 2 版[M],人民 邮电出版社,2014 年 2 月版 4. EDA 先锋工作室:AlteraFPGA/CPLD 设计(高级篇) 第 2 版[M],人民 邮电出版社,2010 年 2 月版 5. 徐文波,田耘编:Xilinx FPGA 开发实用教程(附光盘第 2 版)[M],清华 大学出版社,2013 年 7 月版 (十)推荐的教学网站和相关专业文献网站 EETOP 设计论坛:bbs.eetop.cn PUDN 资源网:www.pudn.com (十一)其他