硬件描述语言及电路仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海建桥学院本科课程教学大纲
【硬件设计语言及电路仿真】
【HDL Hardware Description Language and circuit simulation】
一、基本信息
课程代码:【b0822101】
课程学分:【3学分】
面向专业:【微电子学专业】
课程性质:【基础必修课】
开课院系:电子系
使用教材:主教材【《Verilog HDL 与数字系统设计简明教程》吴弋编人民邮电出版社 2009】辅助教材【《数字系统设计与Verilog HDL》(第二版) 王金明编电子工业出版社2005】
参考教材【《Verilog数字系统设计教程》夏宇闻编北京航天航空大学出版社2008】先修课程:【数字逻辑电路 b08214021(4)】
二、课程简介
本课程是微电子、电子、通信专业的一门重要的专业课,是学生学习专业课和从事本专业的科研、生产工作的重要基础。该门课程主要分为两大部分:第一部分主要使学生初步了解EDA技术的现状与发展,以及EDA技术自顶向下的设计方法,要求学生可熟练应用EDA工具平台(QuarutsII、Modelsim等开发软件)对可编程芯片(FPGA或CPLD)进行电路或系统的设计、仿真、下载与调试。第二部分基于硬件描述语言进行数字电路系统的设计与仿真则是该门课程的核心内容。这部分重点介绍目前比较流行的硬件描述语言——Verilog HDL语言,以及它的基本语法、基本结构、建模方法、模块调用以及模块测试等。并且给出不少目前较为常用的数字电路模块的编程实例,如加法器、编码器、译码器、数据选择器等组合逻辑电路,触发器、锁存器、计数器、移位寄存器等时序逻辑电路,以及Mealy状态机、Moore状态机等等。通过本课程的学习,使学生能够比较熟练地使用QuartusII等常用EDA软件对可编程芯片进行一些简单电路系统的设计,如交通灯控制电路,LED点阵显示,自动售货机控制电路,音乐播放器等。三、选课建议
FPGA设计是数字集成电路设计的重要组成部分和实践环节,属于应用部分,是数字集成电路设计的后续课程,应安排在数字电路课程之后。
四、课程基本要求
了解可编程逻辑器件的基本知识,EDA发展历程及EDA设计流程,以及常用的EDA工具。熟悉硬件描述语言的基本结构、建模方式、常用电路模块的设计实例。重点掌握借助于EDA开发工具用硬件描述语言设计可编程芯片电路系统的方法。
五、课程内容
第一部分 EDA技术概述
教学目的及要求:
理解现代数字系统设计的特点及可编程逻辑器件的基本知识;
教学内容:
1. EDA发展历程及EDA设计流程
2. 可编程逻辑器件
3. PLD的设计流程
重点:
现代数字系统设计的特点。
难点:
CPLD和FPGA可编程芯片的内部结构。
第二部分 Quartus II集成环境和Modelsim测试环境
教学目的及要求:
掌握QuartusⅡ开发平台的使用;掌握Modelsim的使用
教学内容:
1.Quartus II开发工具的设计流程
2.Modelsim工具的仿真流程
重点:
利用Quartus II开发工具进行数字系统的整体设计;利用Modelsim工具进行verilog HDL代码的测试。
难点:
Quartus II开发工具的使用
第三部分硬件描述语言
教学目的及要求:
掌握Verilog HDL程序的基本结构,掌握数字系统行为建模和结构建模方法;掌握VerilogHDL 语言中可综合语句的描述方法;掌握模块的调用、测试等方法。
教学内容:
第1章:初识Verilog HDL
1)掌握模块的基本结构
2)了解预处理指令、参数声明、注释等语句
第2章:数据类型与表达式
1)掌握整形常量的书写方法
2)掌握wire变量、reg变量的声明、赋值的方法
3)掌握表达式中的各类操作符
第3章:行为建模方法
1)掌握用于组合逻辑建模的assign赋值语句
2)掌握always、initial、语句块、条件判断语句、循环语句等
第4章:结构建模方法
1)掌握内置基元的调用方法
2)了解用户定义的基元UDP
3)掌握模块实例化的方法
第5章:任务、函数及其他
1)掌握任务、函数的定义与调用方法
2)了解系统任务和系统函数的使用方法
第6章:编写测试程序
1)掌握测试模块的基本结构
2)掌握各类测试激励的书写方法
3)了解从文本文件中直接读取测试向量的方法
重点:
VerilogHDL程序基本结构、行为建模和结构建模方法、测试程序的书写方法。
难点:
过程赋值中阻塞赋值与非阻塞赋值的区别;结构建模中UDP的编写、基元的调用以及模块实例化;测试程序中各种激励的书写方式。
第四部分建模实例
教学目的及要求:
掌握各类组合逻辑、时序逻辑、状态机等模块的编写方法,并结合实例讲解。
教学内容:
第7章:初级建模实例
1)了解触发器、锁存器、计数器、移位寄存器等时序逻辑电路的建模实例 2)了解加法器、编码器、译码器、数据选择器等组合逻辑电路的建模实例
第8章:高级建模实例
1)了解Moore状态机的建模实例
2)了解Mealy状态即的建模实例
第9章:程序综合实例
1)掌握可综合设计的概念
2)了解组合逻辑电路的可综合实例
3)了解时序逻辑电路的可综合实例
重点:
各类组合逻辑、时序逻辑、状态机等模块的建模方法
难点:
了解代码和具体电路之间的关联,“可综合设计”的规则。
六、课内实验名称及基本要求
1. QuartusⅡ软件的使用和开发步骤(2学时)验证性实验(必做)
掌握软件的使用及可编程芯片的开发步骤,及进行综合、仿真、引脚分配、布局布线和下载的基本方法。
2.Modelsim软件的使用和仿真步骤(2学时)验证性实验(必做)
掌握Modelsim软件的使用及仿真的基本方法。
3.2位加法器和7段显示译码器的设计(2学时)设计性实验(必做)
掌握编写程序的方法,要求画出系统的原理框图,编写正确的Verilog HDL源程序,并进行系统功能仿真,和硬件下载调试。
4.点阵LED的静态显示(2学时)设计性实验(必做)
了解自顶向下的设计方法,学习如何划分模块;掌握组合逻辑电路、时序逻辑电路等各个子模块如:计数器、ROM、3线-8线译码器等电路的行为描述方法,以及顶层模块的结构描述方法;并进行整个系统的仿真和硬件验证。
5.数字秒表的设计(2学时)设计性实验(选做)
进一步掌握自顶向下的设计方法;掌握如何编写正确的Verilog HDL源程序;并进行系统仿真和硬件验证。
6.交通灯的设计(2学时)设计性实验(必做)
掌握有限状态机的设计方法,学会如何用Verilog HDL语言编写状态机;并进行系统仿真