夏宇闻著作:从算法设计到硬线逻辑的实现 第一章(2)

2020-04-21 07:26

第一章数字信号处理、计算、程序、算法和硬线逻辑的基本概念

-----------------------------------------------------------------------------------------------------------------------------------------

为了准确地表示特定问题的信息并顺利地解决有关的计算问题,我们需要采用一些特殊方法并建立相应的模型。所谓算法就是解决特定问题的有序步骤,所谓数据结构就是解决特定问题的相应的模型。

1.4编程语言和程序

程序员利用一种由专家设计的既可以被人理解,也可以被计算机解释的语言来表示算法问题的求解过程。这种语言就是编程语言。由它所表达的算法问题的求解过程就是程序。我们已经熟悉通过编写程序来解决计算问题, C、Pascal、Fortran、Basic或汇编语言语言是几种常用的编程语言。如果我们只研究算法,只在通用的计算机上运行程序或利用通用的CPU来设计专用的微处理器嵌入系统,掌握上述语言就足够了。如果还需要设计和制造能进行快速计算的硬线逻辑专用电路,我们必须学习数字电路的基本知识和硬件描述语言。因为现代复杂数字逻辑系统的设计都是借助于EDA工具完成的,无论电路系统的仿真和综合都需要掌握硬件描述语言。在本书中我们将要比较详细地介绍Verilog硬件描述语言。

1.5 系统结构和硬线逻辑

6

第一章数字信号处理、计算、程序、算法和硬线逻辑的基本概念

-----------------------------------------------------------------------------------------------------------------------------------------

计算机究竟是如何构成的?为什么它能有效地和正确地执行每一步程序?它能不能用另外一种结构方案来构成?运算速度还能不能再提高?所谓计算机系统结构就是回答以上问题并从硬线逻辑和软件两个角度一起来探讨某种结构的计算机的性能潜力。比如, Von Neumann(冯诺依曼)在1945设计的EDVAC电子计算机,它的结构是一种最早的顺序机执行标量数据的计算机系统结构。顺序机是从位串行操作到字并行操作,从定点运算到浮点运算逐步改进过来的。由于Von Neumann系统结构的程序是顺序执行的,所以速度很慢。随着硬件技术的进步,不断有新的计算机系统结构产生,其计算性能也在不断提高。计算机系统结构是一门讨论和研究通用的计算机中央处理器如何提高运算速度性能的学问。对计算机系统结构的深入了解是设计高性能的专用的硬线逻辑系统的基础,因此将是本书讨论的重点之一。但由于本书的重点是利用Verilog HDL进行复杂数字电路的设计技术和方法,大量的篇幅将介绍利用HDL进行设计的步骤、语法要点、可综合的风格要点、同步有限状态机和由浅入深的设计实例。

1.6设计方法学

7

第一章数字信号处理、计算、程序、算法和硬线逻辑的基本概念

-----------------------------------------------------------------------------------------------------------------------------------------

复杂数字系统的设计是一个把思想(即算法)转化为实际数字逻辑电路的过程。我们都知道同一个算法可以用不同结构的数字逻辑电路来实现,从运算的结果说来可能是完全一致的,但其运算速度和性能价格比可以有很大的差别。我们可用许多种不同的方案来实现能实时完成算法运算的复杂数字系统电路,下面列出了常用的四种方案:1)以专用微处理机芯片为中心来构成完成算法所需的电路系统;2)用高密度的FPGA(从几万门到百万门);3)设计专用的大规模集成电路(ASIC);4)利用现成的微处理机的IP核并结合专门设计的高速ASIC运算电路。究竟采用什么方案要根据具体项目的技术指标、经费、时间进度和批量综合考虑而定。

在上述第二、第三、第四种设计方案中,电路结构的考虑和决策至关重要。有的电路结构速度快,但所需的逻辑单元多,成本高;而有的电路结构速度慢,但所需的逻辑单元少,成本低。复杂数字逻辑系统设计的过程往往需要通过多次仿真,从不同的结构方案中找到一种符合工程技术要求的性能价格比最好的结构。一个优秀的有经验的设计师,能通过硬件描述语言的顶层仿真较快地确定合理的系统电路结构,减少由于总体结构设计不合理而造成的返工,从而大大加快系统的设计过程。

8

第一章数字信号处理、计算、程序、算法和硬线逻辑的基本概念

-----------------------------------------------------------------------------------------------------------------------------------------

1.7专用硬线逻辑与微处理器的比较

在信号处理专用计算电路的设计中,以专用微处理器芯片为中心来构成完成算法所需的电路系统是一种较好的办法。我们可以利用现成的微处理器开发系统,在算法已用C语言验证的基础上,在开发系统工具的帮助下,把该C语言程序转换为专用微处理器的汇编再编译为机器代码,然后加载到样机系统的存储区,即可以在开发系统工具的环境下开始相关算法的运算仿真或运算。采用这种方法,设计周期短、可以利用的资源多,但速度、能耗、体积等性能受该微处理器芯片和外围电路的限制。

用高密度的FPGA(从几万门到几十万门)来构成完成算法所需的电路系统也是一种较好的办法。我们必须购臵有关的FPGA开发环境、布局布线和编程工具。有些FPGA厂商提供的开发环境不够理想,其仿真工具和综合工具性能不够好,我们还需要利用性能较好的硬件描述语言仿真器、综合工具,才能有效地进行复杂的DSP硬线逻辑系统的设计。由于FPGA是一种通用的器件,它的基本结构决定了对某一种特殊应用,性能不如专用的ASIC电路。

采用自行设计的专用ASIC系统芯片(System On Chip), 即利用现成的微处理机IP核或根据某一特殊应用设计的微处理机核(也可以

9

第一章数字信号处理、计算、程序、算法和硬线逻辑的基本概念

-----------------------------------------------------------------------------------------------------------------------------------------

没有微处理机核),并结合专门设计的高速ASIC运算电路,能设计出性能价格比最高的理想数字信号处理系统。这种方法结合了微处理器和专用的大规模集成电路的优点,由于微处理器IP核的挑选结合了算法和应用的特点,又加上专用的ASIC在需要高速部分的增强,能“量体裁衣”, 因而各方面性能优越。但由于设计和制造周期长、投片成本高,往往只有经费充足、批量大的项目或重要的项目才采用这一途径。当然性能优良的硬件描述语言仿真器、综合工具是不可缺少的,另外对所采用的半导体厂家基本器件库和IP库的深入了解也是必须的。

以上所述算法的专用硬线逻辑实现都需要对算法有深入的了解,还需掌握硬件描述语言和相关的EDA仿真、综合和布局布线工具。

1.8C语言与硬件描述语言在算法运算电路设计的关系和作用

数字电路设计工程师一般都学习过编程语言、数字逻辑基础、各种EDA软件工具的使用。就编程语言而言,国内外大多数学校都以C语言为标准,只有少部分学校使用Pascal 和Fortran。

算法的描述和验证常用C语言来做。例如要设计Reed-Solomen编码

10


夏宇闻著作:从算法设计到硬线逻辑的实现 第一章(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《建筑测量(专科必修)》2015期末试题及答案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: