《EDA技术实用教程——Verilog HDL版学习报告》由会员分享,可在线阅读,更多相关《EDA技术实用教程——Verilog HDL版学习报告(20页珍藏版)》请在金锄头文库上搜索。
1、. . 可编程逻辑器件与EDA技术学习报告院 系: 自动化工程学院电子学系 专 业: 电子信息科学与技术 班 级: 2009级2班 姓 名: 何伍健 2011年7月2日一、 EDA技术概述1.1 EDA技术及其发展20世纪70年代,在集成电路制作方面,双极工艺,MOS工艺已得到广泛的应用;20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代;20世纪90年代,集成电路设计工艺进入了超深亚微米阶段;21世纪,全方面进入了EDA时代。1.2 EDA技术实现目标1 可编程逻辑器件2 半定制或全定制ASIC(1)门阵列ASIC(2)标准单元ASIC 3.混合ASIC1.3 硬件描述语言Ve
2、rilog HDL1.VHDL2.Verilog HDL3.SystemVerilog和System C1.4 其他常用HDLVHDL与Verilog相比,有下列优势:1.语法比Verilog严谨,通过EDA工具自动语法检查,易排除许多设计中的疏忽;2.有很好的行为级描述能力和一定的系统级描述能力,而Verilog建模时,行为与系统级抽象及相关描述能力不及VHDL。与Verilog相比,有下列不足:1.VHDL代码较冗长,在相同逻辑功能描述时,Verilog的代码比VHDL少许多;2.VHDL对数据类型匹配要求过于严格,初学时会感到不是很方便,编程耗时也较多;而Verilog支持自动类型转换,
3、初学者容易入门;3.VHDL对版图级,管子级这些较为低层的描述级别,几乎不支持,无法直接用于集成电路低层建模。SystemVerilog主要定位于集成电路的实现和验证流程,并为系统级设计流程提供了强大的能力。System C是C+语言的硬件描述扩展,主要用于ESL(电子系统级)建模与验证。1.5 HDL综合1.从自然语言转换到Verilog HDL语言算法表述,即自然语言综合;2.从算法表述转换到寄存器输出级表述,即行为综合;3.从RTL级表述转换到逻辑门的表述,即逻辑综合;4.从逻辑门表述转换到版图级表述,或转换到FPGA的配置网标文件,可称为版图综合或结构综合。1.6 自顶向下的设计技术1
4、.7 EDA技术的优势1.大大降低设计成本,缩短设计周期。2.有各类库的支持。3.简化了设计文档的管理。4.日益强大的逻辑设计仿真测试技术。5.设计者拥有完全的自主权,再无受制于人之虞。6.设计语言标准化,开发工具规化,设计成果通用性,良好的可移植与可测试性,为系统开发提供了可靠的保证。7.能将所有设计环节纳入统一的自顶向下的设计方案中。8.整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整全面的测试。1.8 EDA设计流程1.9 ASIC及其设计流程1.9.1 ASIC设计简介1.9.2 ASIC
5、设计一般流程简述1.10 常用EDA工具设计输入编辑器,HDL综合器,仿真器,适配器和下载器。1.11 Quartus II概述1.12 IP核软IP,固IP,硬IP。1.13 EDA技术发展趋势管窥 1.在一个芯片上完成系统级的集成已成为可能。2.可编程逻辑器件开始进入传统的ASIC市场。3.EDA工具和IP核应用更为广泛。4.高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。5.计算机硬件平台性能大幅度提高,为复杂的SOC设计提供了物理基础。二、可编程逻辑器件原理1 可编程逻辑器件的发展历程与分类1.20世纪70年代,熔丝编程的PRO
6、M和PLA器件是最早的可编程逻辑器件;2.20世纪70年代末,对PLA进行了改进,AMD公司推出PAL器件;3.20世纪80年代初,Lattice发明电可擦写的,比PAL使用更灵活的GAL器件;4.20世纪80年代中期,Xilinx公司提出现场可编程概念,同时生产出了世界上第一片FPGA器件。同一时期,Altera公司推出了EPLD器件,比GAL器件有更高的集成度,可以用紫外线或电擦除;5.20世纪80年代末,Lattice公司又提出在系统可编程技术,并且推出了一系列具备在系统可编程能力的CPLD器件,将可编程逻辑器件的性能和应用技术推向一个全新的高度;6.进入20世纪90年代后,可编程逻辑集
7、成电路技术进入了飞速发展时期。器件可用逻辑门数超过了百万门,并出现了嵌复杂功能模块的SOPC。 图2-1 PLD按集成度分2 FPGA和CPLD的结构原理 图2-2 MAX3000A系列的单个宏单元结构2.1 查找表逻辑结构 图2-3 FPGA查找表单元部结构2.2 Cyclone III系列器件的结构原理 图2-4 CycloneIII LE 结构图3 FPGA/CPLD的编程与配置图2-5 CPLD编程下载连接图 图2-6 JTAG在线配置FPGA的电路原理图图 2-7 用89S52进行配置三、Verilog语言总结1.Verilog语言的程序结构1.模块表述2.端口语句,端口信号名和端口
8、模式3.赋值语句与条件操作符4.关键字5.标识符6.规的程序书写格式7.文件取名和存盘2.Assign语句Assign 目标变量名=驱动表达式;Assign Dout = a & b;Assign Dout = a & b | c;Assign Dout = e & f | d。3.always语句块Always说明语句在仿真一开始就执行,语句后面跟着的过程块是否运行,要看它的触发条件是否满足,如满足则运行过程块一次,再次满足在运行一次,直到仿真结束。有边沿触发和电平触发两种,一个模块中可以有多个always块,并且都是并行运行的。4.阻塞赋值与非阻塞赋值的区别阻塞赋值:目标变量名 = 驱动表
9、达式非阻塞赋值:目标变量名= 驱动表达式图3-1 例5-6综合后的RTL电路 图3-2 例5-5综合后的RTL电路5.如何用always语句块设计组合电路和时序电路边沿触发的always块常常描述时序行为,如有限状态机。如果符合可综合风格要求,则可通过综合工具自动地将其转换为寄存器组和门级组合的逻辑结构,而该结构应具有时序所要求的行为。电平触发的always块常常用来描述组合逻辑的行为。如果符合可综合风格要求,则可通过综合工具自动地将其转换为表示组合逻辑的门级逻辑结构或带锁存器的组合逻辑结构,而该结构应具有所要求的行为。6.如何用always语句设计异步控制和同步控制6.1 含异步复位/时钟使
10、能型触发器 6.2 同步复位型触发器 7.条件完整的if语句与条件不完整的if语句8.如何实现三态控制和双向信号设计三态控制电路设计图3-3 4位三态控制门电路双向端口设计 图3-4 1位双向端口电路设计之RTL图四、 Quartus II软件使用方法1.设计流程步骤1:建立工作库文件夹-步骤2:输入设计项目原理图或硬件描述语言-步骤3:存盘,注意原理图或硬件描述语言取名-步骤4:创建工程并将设计文件加入工程中-步骤5:选择目标器件-步骤6:启动编译-步骤7:建立仿真波形文件-步骤8:仿真测试与分析-步骤9:选定工作模式,引脚锁定并编译-步骤10:编程下载-步骤11:硬件测试。2.宏功能模块定
11、制方法例如:LPM_ROM模块的设置1.建立.mif或.hex格式文件例如直接编辑法:,或文件编辑法,C软件生成,专用生成器,汇编器。2.定制 (1)打开宏功能块调用管理器图4-1 定制新的宏功能块图4-2 调用单口LPM RAM(2)设置参数后,单击NEXT图4-3 设定RAM参数图4-4 设定RAM仅输入时钟控制图4-5 设定在写入同时读出原数据:Old Data图4-6 设定初始化文件和充许在线编辑图4-7 在原理图上连接好的RAM模块3.嵌入式逻辑分析仪的功能和使用方法1 打开SignalTap II的编辑窗口图4-8 SignalTap II编辑窗口2 调入待测信号图4-9 输入逻辑分析仪测试信号3 SignalTapII的参数设置图4-10 SignalTapII编辑窗口4 文件存盘图4-11 选择或删除SignalTapII文件加入综合编译5 编译下载图4-12 设定SignalTapII对FPGA的通信接口6 启动SignalTap II进行采样与分析图4-13 下载CNT10.sof并启动SignalTapII图4-14 SignalTapII数据窗口设置后的信号波形7 SignalTap II其他设置与控制方法 . . .