从算法设计到硬线逻辑的实现

上传人:ldj****22 文档编号:50453665 上传时间:2018-08-08 格式:PPT 页数:82 大小:432KB
返回 下载 相关 举报
从算法设计到硬线逻辑的实现_第1页
第1页 / 共82页
从算法设计到硬线逻辑的实现_第2页
第2页 / 共82页
从算法设计到硬线逻辑的实现_第3页
第3页 / 共82页
从算法设计到硬线逻辑的实现_第4页
第4页 / 共82页
从算法设计到硬线逻辑的实现_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《从算法设计到硬线逻辑的实现》由会员分享,可在线阅读,更多相关《从算法设计到硬线逻辑的实现(82页珍藏版)》请在金锄头文库上搜索。

1、从算法设计到硬线逻辑的实现复杂数字逻辑系统的 Verilog HDL 设计方法简介北京航空航天大学北京航空航天大学 EDAEDA实验室实验室 夏宇闻夏宇闻数字信号处理、计算、程序 算法和硬线逻辑的基本概念 数字信号处理 计算(Computing) 算法和数据结构 编程语言和程序 体系结构 硬线逻辑 数字信号处理的基本概念 现代电子系统设备中广泛使用了数字信号处理 专用集成电路。 用于数字信号传输中所必需的滤波、变换、加 密、解密、编码、解码、纠检错、压缩、解压 缩等操作。 处理工作从本质上说都是数学运算。 完全可以用计算机或微处理器来完成处理工作 。计算(Computing)的基本概念“Com

2、puting 这门学问研究怎样系统地有步 骤地描述和转换信息,实质上它是一门 覆盖了多个知识和技术范畴的学问,其 中包括了计算的理论、分析、设计、效 率和应用。它提出的最基本的问题是什 么样的工作能自动完成,什么样的不能 。”(摘自Denning et al., “Computing as a Discipline,” Communication of ACM, January,1989)。算法和数据结构的基本概念 算法就是解决特定问题的有序步 骤。 数据结构就是解决特定问题的相 应的模型。编程语言和程序的基本概念 编程语言:程序员利用一种由专家设计的既可以被人理解 ,也可以被计算机解释的语言

3、来表示算法问题 的求解过程。这种语言就是编程语言。 程序:由编程语言所表达的算法问题的求解过 程就是。 常用的编程语言:C、Pascal、Fortran、Basic或汇编语言。 计算机体系结构和硬线逻辑 的基本概念 计算机体统结构:是一门讨论和研究 通用的计算机中央处理器如何提高运算 速度性能的学问。 硬线逻辑: 由与门、或门、非门、触发 器、多路器等基本逻辑部件造成的逻辑 系统。 数字信号处理系统的分类 非实时系统:信号处理的工作是可以事后进行。 实时系统:信号处理的工作必须在规定的很短的时间内 完成。 数字信号处理系统的实现 非实时系统:通用的计算机和利用通用计算机改装的设备 ,主要工作量

4、是编写 “C” 程序。 实时系统:信号处理专用的微处理器为核心的设备, 主要工作量是编写汇编程序。 实时数字信号 处理系统实现中存在的技术难点 算法问题。 电路实现问题:如果由最快的信号处理专用的微处理器为 核心的设备也来不及处理如此大量的数据 怎么办呢? 实时数字信号 处理系统实现中存在的技术难点 和解决办法 算法问题。研究并行快速算法。 电路实现问题:设计并研制具有并行结构的数字和计 算逻辑结构。 实时数字信号 处理系统实现中存在的技术难点 和解决办法 电路实现的两个方向: FPGA 专用集成电路实时数字信号 处理系统实现中存在的技术难点 和解决办法 用于信号处理的 FPGA 和专用集成电

5、路(ASIC)设计的方法:Verilog HDL建模、仿真、综合和 全面验证。复杂数字逻辑系统的 Verilog HDL 设计方法简介什么是复杂的数字逻辑系统什么是复杂的数字逻辑系统? 嵌入式微处理机系统 数字信号处理系统 高速并行计算逻辑 高速通信协议电路 高速编码/解码、加密/解密电路 复杂的多功能智能接口 门逻辑总数超过几万门达到几百甚至达几千万门的数字系统为什么要设计复杂的为什么要设计复杂的 数字逻辑系统?数字逻辑系统? 对嵌入式系统的性能要求越来越高对嵌入式系统的性能要求越来越高- - 通用的微处理机不能满足要求通用的微处理机不能满足要求- - 硬件结构是提高系统总体性能的关键硬件结

6、构是提高系统总体性能的关键- - 软件只能提高系统的灵活性能软件只能提高系统的灵活性能- - 军用系统的实时、高可靠、低功耗要求军用系统的实时、高可靠、低功耗要求- - 系统的功能专一,但对其各种性能要求极高系统的功能专一,但对其各种性能要求极高- - 降低系统的设计和制造成本降低系统的设计和制造成本怎样设计如此复杂的系统怎样设计如此复杂的系统? 传统的设计方法:传统的设计方法:- - 查用器件手册;查用器件手册;- - 选用合适的微处理器和电路芯片;选用合适的微处理器和电路芯片;- - 设计面包板和线路板;设计面包板和线路板;- - 调试;调试;- - 定型;定型;- - 设计复杂的系统(几

7、十万门以上)极其困难设计复杂的系统(几十万门以上)极其困难。怎样设计如此复杂的系统怎样设计如此复杂的系统? 现代的设计方法:现代的设计方法:- - 选用合适的选用合适的 EDAEDA仿真仿真工具;工具;- - 选用合适选用合适电路图输入和电路图输入和HDLHDL编辑工具;编辑工具;- - 逐个编写可综合逐个编写可综合HDLHDL模块;模块;- - 逐个编写逐个编写HDLHDL测试模块;测试模块;- - 逐个做逐个做Verilog HDL Verilog HDL 电路逻辑访真;电路逻辑访真;- - 编写编写Verilog HDLVerilog HDL总测试模块;总测试模块;- - 做系统电路逻辑

8、总仿真;做系统电路逻辑总仿真;怎样设计如此复杂的系统? 现代的设计方法(续前):现代的设计方法(续前):- - 选用合适的基本逻辑元件库和宏库选用合适的基本逻辑元件库和宏库- - 租用或购买必要的租用或购买必要的IPIP核;核;- - 选用合适的综合器;选用合适的综合器;- - 进行综合得到门级电路结构;进行综合得到门级电路结构;- - 布局布线,得到时延文件;布局布线,得到时延文件;- - 后仿真;后仿真;- - 定型,定型, FPGA FPGA编码或编码或ASICASIC投片投片Top-Down 设计思想用用EDAEDA设计数字系统的流程设计数字系统的流程为什么要用为什么要用 硬件描述语言

9、来设计硬件描述语言来设计? 电路的逻辑功能容易理解;电路的逻辑功能容易理解; 便于计算机对逻辑进行分析处理;便于计算机对逻辑进行分析处理; 把逻辑设计与具体电路的实现分成两个独立把逻辑设计与具体电路的实现分成两个独立的阶段来操作;的阶段来操作; 逻辑设计与实现的工艺无关;逻辑设计与实现的工艺无关; 逻辑设计的资源积累可以重复利用;逻辑设计的资源积累可以重复利用; 可以由多人共同更好更快地设计非常复杂可以由多人共同更好更快地设计非常复杂的逻辑电路(几十万门以上的逻辑系统)。的逻辑电路(几十万门以上的逻辑系统)。有哪几种硬件描述语言?有哪几种硬件描述语言? 各有什么特点?各有什么特点? Veril

10、ogVerilog HDL HDL- - 较多的第三方工具的支持较多的第三方工具的支持- - 语法结构比语法结构比VHDLVHDL简单简单- - 学习起来比学习起来比VHDLVHDL容易容易- - 仿真工具比较好使仿真工具比较好使- - 测试激励模块容易编写测试激励模块容易编写VerilogVerilog HDL HDL 的发展历史的发展历史有哪几种硬件描述语言?有哪几种硬件描述语言? 各有什么特点?各有什么特点? VHDLVHDL- - 比比VerilogHDLVerilogHDL早几年成为早几年成为I EEEI EEE标准标准 ;- - 语法语法/ /结构比较严格,因而编写出的结构比较严格

11、,因而编写出的模块风格模块风格比较清晰;比较清晰;- - 比较适合由较多的设计人员合作完成比较适合由较多的设计人员合作完成的特大型项目(一百万门以上)。的特大型项目(一百万门以上)。两两者建模能力的比较者建模能力的比较VHDLVITAL系统级算法级寄存器传输级逻辑门级开关电路级行为级的抽象 VerilogHDL 与 VHDL 建 模 能 力 的 比 较VerilogVerilog Verilog HDL HDL 的应用方面的应用方面 ASIC ASIC 和和FPGAFPGA设计师可用它来编写可综合的设计师可用它来编写可综合的 代码。代码。 描述系统的结构,做高层次的仿真。描述系统的结构,做高层

12、次的仿真。 验证工程师编写各种层次的测试模块对具体验证工程师编写各种层次的测试模块对具体 电路设计工程师所设计的模块进行全面细致电路设计工程师所设计的模块进行全面细致 的验证。的验证。 库模型的设计:可以用于描述库模型的设计:可以用于描述ASIC ASIC 和和FPGAFPGA 的基本单元(的基本单元(CellCell)部件,也可以描述复杂部件,也可以描述复杂 的宏单元(的宏单元(Macro CellMacro Cell)。)。VerilogVerilog HDL HDL 的抽象级别的抽象级别语言本身提供了各种层次抽象的表述,语言本身提供了各种层次抽象的表述, 可以用详细程度有很大差别的的多层

13、次可以用详细程度有很大差别的的多层次 模块组合来描述一个电路系统。模块组合来描述一个电路系统。行为级:技术指标和算法的行为级:技术指标和算法的VerilogVerilog描述描述 RTLRTL级:逻辑功能的级:逻辑功能的VerilogVerilog描述描述 门级门级 :逻辑结构的:逻辑结构的VerilogVerilog描述描述 开关级:具体的晶体管物理器件的描述开关级:具体的晶体管物理器件的描述VerilogVerilog HDL HDL 的抽象级别的抽象级别 行为级:有关行为和技术指标模块,容易行为级:有关行为和技术指标模块,容易 理解理解 RTLRTL级:有关逻辑执行步骤的模块,较难级:有

14、关逻辑执行步骤的模块,较难 理解理解 门级门级 :有关逻辑部件互相连接的模块,:有关逻辑部件互相连接的模块, 很难理解很难理解 开关级:有关物理形状和布局参数的模块开关级:有关物理形状和布局参数的模块 ,非常难理解,非常难理解抽象级别和综合与仿真的关系抽象级别和综合与仿真的关系行为仿真:行为仿真:行为的验证和验证模块分割的合理行为的验证和验证模块分割的合理 性性 前仿真前仿真 :即即 RTLRTL级仿真,检查有关模块逻辑级仿真,检查有关模块逻辑 执行步骤是否正确。执行步骤是否正确。 逻辑综合:逻辑综合:把把RTLRTL级模块转换成门级级模块转换成门级 。 后仿真:后仿真:用门级模型做验证,检查

15、门的互连逻用门级模型做验证,检查门的互连逻 辑其功能是否正确。辑其功能是否正确。 布局布线:布局布线: 在门级模型的基础上加上了布线延在门级模型的基础上加上了布线延 时时 布局布线后仿真:布局布线后仿真:与真实的电路最接近的验证与真实的电路最接近的验证 。行为级和行为级和RTLRTL级级module mumodule mux xtwotwo ( (o outut, , a, b, a, b, s sl l); ); input input a, a,b, b,sl sl; ; output output o outut; ; Reg Reg out;out;always (always (s sl l or or a a or bor b) )if ( if (! !sl sl) ) o out ut = a;= a;e else lse out = b;out = b; endmoduleendmoduleabslout行为级和行为级和RTLRTL级级abslout这个行为的描述并没有说明如果输 入 a 或 b是三态的(高阻时)输

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

当前位置:首页 > 行业资料 > 其它行业文档

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