EDA技术第16~18讲

上传人:德****1 文档编号:1089562 上传时间:2017-05-28 格式:PPT 页数:58 大小:965.50KB
返回 下载 相关 举报
EDA技术第16~18讲_第1页
第1页 / 共58页
EDA技术第16~18讲_第2页
第2页 / 共58页
EDA技术第16~18讲_第3页
第3页 / 共58页
EDA技术第16~18讲_第4页
第4页 / 共58页
EDA技术第16~18讲_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《EDA技术第16~18讲》由会员分享,可在线阅读,更多相关《EDA技术第16~18讲(58页珍藏版)》请在金锄头文库上搜索。

1、Verilog数字系统设计教程 (第 2版 ) 绪论 第一讲 Verilog的基本知识 第二讲 Verilog语法的基本概念 (基于 HDL.ppt课件改编 ) DSP FPGA / ASIC 编程语言和程序的基本概念 编程语言: 程序员利用一种由专家设计的既可以被人理解 , 也可以被计算机解释的语言来表示算法问题的求解过程 。 这种语言就是编程语言 。 程序: 由编程语言所表达的算法问题的求解过程就是 。 常用的编程语言: C、 Pascal、 Fortran、 Basic或汇编语言 。 计算 ( Computing) 的基本概念 “ Computing 这门学问研究怎样系统地有步骤地描述和

2、转换信息 , 实质上它是一门覆盖了多个知识和技术范畴的学问 , 其中包括了计算的理论 、 分析 、 设计 、 效率和应用 。 它提出的最基本的问题是什么样的工作能自动完成 , 什么样的不能 。 ” ( 摘自 Denning et al., “Computing as a Discipline,” Communication of ACM, January,1989) 。 数字信号处理的基本概念 现代电子系统设备中广泛使用了数字信号处理 专用集成电路。 用于数字信号传输中所必需的滤波、变换、加密、解密、编码、解码、纠检错、压缩、解压缩等操作。 处理工作从本质上说都是数学运算。 完全可以用计算机或

3、微处理器来完成处理工作。 算法和数据结构的基本概念 算法就是解决特定问题的有序步骤 。 数据结构就是解决特定问题的相应的模型 。 计算机体系结构和硬线逻辑的基本概念 计算机体统结构: 是一门讨论和研究通用的计算机中央处理器如何提高运算速度性能的学问 。 硬线逻辑: 由与门 、 或门 、 非门 、 触发器 、 多路器等基本逻辑部件造成的逻辑系统 。 DSP 算法(软件)若干概念 复杂的数字逻辑系统 什么是复杂的数字逻辑系统 ? 嵌入式微处理机系统 数字信号处理系统 高速并行计算逻辑 高速通信协议电路 高速编码 /解码、加密 /解密电路 复杂的多功能智能接口 门逻辑总数超过几万门达到几百甚至达几千

4、万门的数字系统 为什么要设计复杂的数字逻辑系统? 对嵌入式系统的性能要求越来越高 通用的微处理机不能满足要求 通用的微处理机不能满足要求 硬件结构是提高系统总体性能的关键 软件只能提高系统的灵活性能 军用系统的实时、高可靠、低功耗要求 系统的功能专一,但对其各种性能要求极高 降低系统的设计和制造成本 复杂的数字逻辑系统实例 MPC5121e system specification DSP系统 分类 非实时系统 :信号处理的工作是可以事后进行 。 实时系统 :信号处理的工作必须在规定的很短的时间内完成 。 实现 非实时系统 :通用的计算机和利用通用计算机改装的设备 , 主要工作量是编写 “ C

5、” 程序 。 实时系统 : 信号处理专用的微处理器为核心的设备 , 主要工作量是编写汇编程序 。 实现中存在的技术难点 1) 算法问题 。 2) 电路实现问题: 如果 由最快的 信号处理专用的微处理器为核心的设备也来不及处理如此大量的数据怎么办呢 ? 实时 DSP系统实现 存在的技难点和解决办法 算法问题 。 研究并行快速算法 。 电路实现问题: 设计并研制具有并行结构的数字和计算逻辑结构 。 电路实现的两个方向: FPGA 专用集成电路 用于信号处理的 FPGA和 ASIC设计的方法 Verilog HDL建模 、 仿真 、 综合和全面验证 。 复杂数字逻辑系统的 Verilog HDL 设

6、计方法简介 原始的 ASIC设计 怎样设计如此复杂的系统 ? 传统的设计方法: - 查用器件手册; - 选用合适的微处理器和电路芯片; - 设计面包板和线路板; - 调试; - 定型; - 设计复杂的系统(几十万门以上)极其困难。 怎样设计如此复杂的系统 ? 现代的设计方法: - 选用合适的 EDA仿真 工具; - 选用合适 电路图输入和 HDL编辑工具; - 逐个编写可综合 HDL模块; - 逐个编写 HDL测试模块; - 逐个做 Verilog HDL 电路逻辑访真; - 编写 Verilog HDL总测试模块; - 做系统电路逻辑总仿真; 怎样设计如此复杂的系统 ? 现代的设计方法(续前

7、): - 选用合适的基本逻辑元件库和宏库 - 租用或购买必要的 IP核; - 选用合适的综合器; - 进行综合得到门级电路结构; - 布局布线,得到时延文件; - 后仿真; - 定型, FPGA编码或 ASIC投片 Top-Down 设计思想 系 统 级 设 计模 块模 块 模 块 模 块 模 块 模 块模 块 C模 块模 块 模 块 HDL设 计 文 件HDL功 能 仿 真HDL 综合优 化 、布 局 布 线布 线 后 门 级 仿 真图 1-6-3 HDL 设 计 流 程 图电 路 功 能仿 真电 路 图设 计 文 件电 路 制 造 工 艺 文 件或 FPGA 码 流 文 件有 问 题没 问

8、 题有 问 题 没 问 题有 问 题没 问 题与 实 现 逻 辑 的 物理 器 件 有 关 的 工 艺技 术 文 件确定实现电路的具体库名用EDA设计数字系统的流程 一个真实的设计流程 Preliminary Design Flow for the Barracuda 为什么要用 硬件描述语言来设计 ? 电路的逻辑功能容易理解; 便于计算机对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立 的阶段来操作; 逻辑设计与实现的工艺无关; 逻辑设计的资源积累可以重复利用; 可以由多人共同更好更快地设计非常复杂 的逻辑电路(几十万门以上的逻辑系统)。 有哪几种硬件描述语言? 各有什么特点?

9、Verilog HDL - 较多的第三方工具的支持 - 语法结构比 VHDL简单 - 学习起来比 VHDL容易 - 仿真工具比较好使 - 测试激励模块容易编写 Verilog HDL 的发展历史 Verilog HDL公开发表CADENCE 公司购买 Verilog 版权1 9 9 01 9 8 91 9 8 0 sVerilog-XL诞生模拟和数字都适用的 Verilog 标准公开发表1998 ?VerilogHDLIEEE1364 标准公开发表有关 VerilogHDL的全部权利都移交给O V I ( Open VerilogI n t e r n a t i o n a l )1 9 9

10、 51 9 9 0有哪几种硬件描述语言? 各有什么特点? VHDL - 比 VerilogHDL早几年成为 I EEE标准; - 语法 /结构比较严格,因而编写出的 模块风格 比较清晰; - 比较适合由较多的设计人员合作完成 的特大型项目(一百万门以上)。 两 者建模能力的比较 VHDL VITAL 系统级 算法级 寄存器传输级 逻辑门级 开关电路级 行为级 的抽象 VerilogHDL 与 VHDL 建 模 能 力 的 比 较 Verilog Verilog HDL 的应用方面 ASIC 和 FPGA设计师可用它来编写可综合的代码。 描述系统的结构,做高层次的仿真。 验证工程师编写各种层次的

11、测试模块对具体电路设计工程师所设计的模块进行全面细致的验证。 库模型的设计:可以用于描述 ASIC 和 FPGA的基本单元( Cell)部件,也可以描述复杂的宏单元( Macro Cell)。 Verilog HDL 的抽象级别 语言本身提供了各种层次抽象的表述,可以用详细程度有很大差别的的多层次模块组合来描述一个电路系统。 行为级:技术指标和算法的 Verilog描述 RTL级:逻辑功能的 Verilog描述 门级 :逻辑结构的 Verilog描述 开关级:具体的晶体管物理器件的描述 Verilog HDL 的抽象级别 行为级:有关行为和技术指标模块,容易理解 RTL级:有关逻辑执行步骤的模

12、块,较难理解 门级 :有关逻辑部件互相连接的模块,很难理解 开关级:有关物理形状和布局参数的模块,非常难理解 抽象级别和综合与仿真的关系 行为仿真: 行为的验证和验证模块分割的合理性 前仿真 : 即 RTL级仿真,检查有关模块逻辑执行步骤是否正确。 逻辑综合: 把 RTL级模块转换成门级 。 后仿真: 用门级模型做验证,检查门的互连逻辑其功能是否正确。 布局布线: 在门级模型的基础上加上了布线延时 布局布线后仿真: 与真实的电路最接近的验证。 行为级和 RTL级 module muxtwo (out, a, b, sl); input a,b,sl; output out; Reg out;

13、always (sl or a or b) if (!sl) out = a; else out = b; endmodule a b sl out 行为级和 RTL级 a b sl out 这个行为的描述并没有说明如果输入 a 或 b是三态的(高阻时)输出应该是什么,但有具体结构的真实电路是有一定的输出的。 RTL模块的数据流动必须基于时钟。RTL模块在每个时钟的沿时刻,其变量的值必定是精确的。 RTL模块是可综合的,它是行为模块的一个子集合。 结构级 module muxtwo (out, a, b, sl); input a,b,sl; output out; not u1( ns1,

14、sl); and #1 u2( sela, a, nsl); and #1 u3 ( selb, b, sl); or #2 u4( out , sela, selb); endmodule out a b sl selb sela nsl Verilog HDL入门 module myadder(clock, reset, a, b, sum); parameter width = 8; input clock, reset; input width-1:0 a, b; output width :0 sum; reg width-1:0 a_reg, b_reg; reg width : 0 sum; always (posedge clock or negedge reset) if (!reset) begin a_reg (); . . endmodule Specifically, the T-flipflop could be defined as a module as follows: module T_FF (q, clock, reset); . . endmodule Verilog is both a behavioral and a structural language. Internals of each module

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号