大纲说明
课程代码: 22142 课程名称:EDA原理与应用
总学时:56学时(讲课40学时,实验16学时) 总学分: 3学分 课程类别:必修 适用专业:电子信息工程
预修要求:模拟电子电路、数字电子电路、微机原理与应用 课程的性质、目的、任务:
在现代电子系统设计中,现场可编程ASIC器件(FPGA/CPLD)的使用越来越广泛。利用可编程器件的EDA工具,电子系统工程设计师可快速方便地实现数字系统的集成,这同时要求设计者必须掌握现代数字系统的设计技术,如VHDL、FPGA/CPLD、状态机设计等。
本课程以FPGA/CPLD为基本可编程ASIC器件,以硬件描述语言VHDL为基本EDA工具,阐述了进行现代数字系统设计的过程及关键技术,使学生基本具备了进行可编程ASIC设计的技术和能力。
教学基本方式:本课程以课堂讲授为主,应配有一定量的实验课时以提高学生的实际动手和分析能力。
教学方法和教学手段建议:讲授法与实验结合,建议可以去企业参观。
大纲的使用说明:多媒体教学和板书相结合,利用BB网站与学生互动,链接知名大学在线教学;作业是帮助学生理解基本概念、掌握基本分析方法、学会运用理论处理实际问题的重要环节之一,提交形式可以电子邮件形式。
大纲正文
第一章 概述 学时:6学时(讲课6学时)
基本要求:了解一些基本概念,如EDA、FPGA、CPLD、RTL、SOC、SOPC、IP、IP复用等,了解ASIC设计域和设计层次,掌握ASIC的设计流程,了解目前ASIC发展情况。
重点:掌握ASIC的设计流程,ASIC设计域和设计层次 难点:无 教学内容: 1、课程定位要求
2、一些基本概念及发展情况 3、可编程ASIC基本概念及分类 4、ASIC设计流程 5、ASIC设计域与设计层次 6、电子系统设计的发展趋势
第二章 可编程 ASIC 器件 学时:8学时(讲课 6学时,实验2学时) 基本要求:了解常用可编程器件的基本资源及编程原理,掌握CPLD和FPGA的特点,且正确选用器件实际应用。
重点:可编程器件的基本资源,CPLD和FPGA的比较和选用。 难点:各种资源的工作原理。 教学内容: 1、 PLD器件
2、可编程器件的基本资源 3、可编程ASIC的编程技术 4、可编程配置技术
5、CPLD和FPGA的比较和选用
第三章 硬件设计描述语言 VHDL 学时:14学时(讲课10学时,实验4学时) 基本要求:掌握内容:VHDL语言基本结构、常用的语法、CASE语句和IF语句的比较、时钟沿判断、port map等。
重点:VHDL语言的基本数据类型和运算操作符、进程、端口、变量、信号的概念及区别,VHDL和C语言区别及代码风格,根据任务编写程序段。
难点: 进程的理解,数据类型,与C语言区别及代码风格。 教学内容:
1、VHDL语言的基本数据类型和运算操作符、STANDARD PACKAGE定义的数据类型、运算操作符、关系运算符等VHDL基本概念;进程、端口、变量、信号的概念及区别。
2、VHDL行为描述和结构描述语句及特点,介绍了wait、断言、顺序描述语句 3、VHDL中并行描述语句、VHDL项目类属性
4、VHDL语言基本结构、常用的语法、CASE语句和IF语句的比较、时钟沿判断、port map等。
第四章 面向仿真和综合的 VHDL 设计描述 学时:16学时(讲课12学时,实验4学时)
基本要求:掌握基础组合电路设计,掌握一些设计技巧及编程风格。握基础时序电路设计,主要是带有复位、预置使能的异步、同步计数器电路以序列检测器为例掌握状态机设计的一般方法,掌握状态机设计的一般方法。
重点:常用组合、时序电路的设计方法,建立硬件电路设计的思想 难点:建立硬件电路设计思想 教学内容:
1、直接逻辑运算;if/case条件分支;portmap模块拼接,及这几种方法的混合,三态门中的高阻,及其应用;
2、寄存器与锁存器的描述及其时序区别;
3、异步复位/置位与同步复位/置位在描述方法上和时序上的区别; 4、时钟使能;沿判断后的信号赋值都是寄存器赋值。
5、状态机概念的引入,状态机的分类及表示方法,状态机的应用设计,状态机代码实现
第五章 VHDL容易出现的错误和解决 学时:7学时(讲课3学时,实验4学时) 基本要求:掌握编程技巧,提高实际应用、操作能力。通过对常见易出现的错误的解析,进一步加深对硬件描述语言设计特点的理解。
重点:RTL编程风格、X状态的传递、敏感信号表不完整的后果、条件判断语句产生锁存的情况;case无优先级;single if和multiple if语句的优先级顺序;
难点:如何建立硬件思维,打破软件思维;如何避免总线冲突;双向端口描述;毛刺消除。
教学内容:
1、VHDL结构体有三种描述风格:行为描述风格,RTL描述风格和结构描述风格; 2、RTL风格的描述中,要注意一个进程里只能判断一次时钟沿;注意避免X状态的传递;
3、敏感信号表不完整,往往会造成前仿真和后仿真结果不一致;
4、条件判断语句中,要注意对所有分支进行输出信号的赋值,以避免锁存; 5、巧妙地使用无关态,可以引导综合器综合出优化的电路; 6、case无优先级;single if和multiple if语句的优先级顺序; 7、硬件描述中,应加强硬件思维,打破软件思维;
8、注意要正确地使用多路开关或者三态缓冲来进行总线复用,避免总线冲突 9、双向端口描述中,注意高阻态的赋值;注意其测试矢量生成时,也要注意设置高阻态;
10、毛刺消除的要点:竞争和冒险的避免;Gray编码;寄存器消除方法(数据输入吸收,时钟使能吸收)。
第六章 同步、异步电路设计注意事项 学时:5学时(讲课3学时,实验 2学时) 基本要求:掌握常见的同步、异步电路设计注意事项。 重点:同步设计注意事项 难点:同步设计 教学内容:
同步设计要点:1、尽量避免使用门控时钟,应以时钟使能来代替;尽量避免使用派生时钟,应以派生使能来代替;2、路径与路径延时的含义;路径延时与系统工作时钟的最高频率的关系;3、缩小组合电路的规模,可以降低系统的路径延时从而提高最高工作速率;4、善于使用“信号搬移\"技术进行延时优化,可以提高系统速度;手段包括优先级别电路中的模块搬移、数据通路拷贝、数据运算式变换等;5、在优先级别电路中进行信号搬移时,要注意修正条件判断式,使得优先级别不变;6、可能的情况下,应该尽量使用常量运算来代替
变量(信号)运算;7、可以使用状态机拆分、流水线等技术进行路径切割,达到延时优化的目的;8、(寄存器输入和)寄存输出不仅可以提高系统工作速率,而且有利于模块和整体进行分别的静态时序分析;
异步设计要点:1、尽量避免使用异步设计;2、异步多时钟系统中,注意做好时钟域之间的同步;3、引入时钟域同步后,容易造成信号相位拉伸;4、为避免矢量拉伸对数据矢量的破坏,可以考虑采用Gray码进行计数器编码;5、为了在静态时序分析中快速地进行false path的设置,最好根据时钟域来进行信号命名。
本课程对学生自学的要求:本课程的特点是实践性强,理论须与实践相结合才能真正掌握课程精髓。因此要求学生在理论和实验课前认真预习,老师会在BB平台将讲课与实验内容放至网上,同学们可以下载预习,记下疑点;课中积极参与,跟上进度;课后及时消化,完成作业。同学们应自主归纳各章基本内容,做好小结工作。
课时数分配表: 序号 1 2 3 4 5 6 概述 可编程 ASIC 器件 硬件设计描述语言 VHDL 面向仿真和综合的 VHDL 设计描述 VHDL容易出现的错误和解决 同步、异步电路设计注意事项 合计 考核方式与评分说明:
考试方式采用笔试(半开卷或闭卷)
总评成绩:平时成绩10%, 实验20%,期末笔试70%
试卷的形式主要有选择题、填充 、改错、简答题、分析设计题等五种形式。 推荐教材:李广军等编著,《可编程ASIC设计及应用》,电子科技大学出版社,2003年
参考书目:
1、John F.Wakerly(思科系统公司,斯坦福大学)《数字设计原理与实践(Digital Design Principles and Practices) 》机械工业出版社 2007.5
2、徐欣等著《基于 FPGA 的嵌入式系统设计》机械工业出版社 2005
3、[美] Keshabk. Parhi 著《VLSI 数字信号处理系统设计与实现》机械工业出版社 2004
审核人:(签名) 执笔人:(签名)
参与讨论人员:
教学内容 讲课 6 6 10 12 3 3 40 2 4 4 4 2 16 实验 小计 6 8 14 16 7 5 56
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务