没有合适的资源?快使用搜索试试~ 我知道了~
首页夏闻宇Verilog入门教程:数字信号处理与硬线逻辑设计
Verilog经典教程深入讲解了数字信号处理在现代计算机与通讯系统中的核心作用。它首先介绍了第一章,这个章节涵盖了数字信号处理的基础概念,包括但不限于滤波、变换、加密、解密、编码、解码、纠错和压缩等操作,这些都是基于数学运算的原理。这些处理任务虽然理论上可以由通用计算机完成,但实际应用中,如石油地质调查中的数据分析,由于数据处理非实时性,通用计算机的处理能力就足够了。 然而,对于实时性要求极高的场合,如军用无线通信和机载雷达系统,对信号的处理速度和效率有着严苛的要求。在这种情况下,通用微处理器(如CPU)由于其设计初衷是通用性强,处理过程涉及指令加载、解析和执行,难以满足高速、低延迟的需求。因此,设计专用的硬件系统,如FPGA(现场可编程门阵列)或高速专用集成电路,成为了必不可少的选择。 FPGA的优势在于,它能根据具体应用需求动态配置逻辑功能,提供定制化的解决方案,这对于实时性和性能至关重要的信号处理任务来说,具有显著的优势。相比之下,通用微处理器在硬线逻辑电路的设计上往往显得力不从心。此外,Verilog作为一种硬件描述语言,正是这类专用硬件开发的理想工具,它提供了高度灵活且高效的描述方式,让工程师能够直接在逻辑层面设计和实现复杂的数字信号处理算法和电路。 总结来说,本教程通过对比通用计算机和专用硬件在数字信号处理中的应用,强调了Verilog在设计和实现高性能、实时性要求高的FPGA系统中的关键作用。学习者通过这本教程,不仅能掌握Verilog语言的基本语法,还能深入了解其在实际工程中的实践应用,为进入数字信号处理和FPGA设计的世界打下坚实基础。
资源详情
资源推荐
第二章 Verilog HDL 设计方法概述
-------------------------------------------------------------------------------------------------------------------------------------------------
16
的模型(行为的或结构的),通过仿真加以验证后,再把这些模块分配给
下一层的设计师,这就允许多个设计者同时设计一个硬件系统中的不同模
块,其中每个设计者负责自己所承担的部分;而由上一层设计师对其下层
设计者完成的设计用行为级上层模块对其所做的设计进行验证。图1-6-1
为自顶向下(TOP-DOWN)的示意图,以设计树的形式绘出。
自顶向下的设计(即TOP_DOWN设计)是从系统级开始,把系统划分为
基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样
做下去,直到可以直接用EDA元件库中的元件来实现为止。
对于设计开发整机电子产品的单位和个人来说,新产品的开发总是从
系统设计入手,先进行方案的总体论证、功能描述、任务和指标的分配。
随着系统变得复杂和庞大,特别需要在样机问世之前,对产品的全貌有一
定的预见性。目前,EDA技术的发展使得设计师有可能实现真正的自顶向
下的设计。
2.6.2.层次管理的基本概念
复杂数字逻辑电路和系统的层次化、结构化设计隐含着硬件设计方案
的逐次分解。在设计过程中的任意层次,硬件至少有一种描述形式。硬件
的描述特别是行为描述通常称为行为建模。在集成电路设计的每一层次,
硬件可以分为一些模块,该层次的硬件结构由这些模块的互连描述,该层
次的硬件的行为由这些模块的行为描述。这些模块称为该层次的基本单
系 统 级 设 计
模 块A
模 块A1 模 块A3 模 块A2 模 块C1 模 块C2
模 块 C
模 块B
模 块B1 模 块B2
图2-6-1. TOP_DOWN设计思想
第二章 Verilog HDL 设计方法概述
-------------------------------------------------------------------------------------------------------------------------------------------------
17
元。而该层次的基本单元又由下一层次的基本单元互连而成。如此下去,
完整的硬件设计就可以由图2-6-1所示的设计树描述。在这个设计树上,
节点对应着该层次上基本单元的行为描述,树枝对应着基本单元的结构分
解。在不同的层次都可以进行仿真以对设计思想进行验证。EDA工具提供
了有效的手段来管理错综复杂的层次,即可以很方便地查看某一层次某模
块的源代码或电路图以改正仿真时发现的错误。
2.6.3.具体模块的设计编译和仿真的过程
在不同的层次做具体模块的设计所用的方法也有所不同,在高层次
上往往编写一些行为级的模块通过仿真加以验证,其主要目的是系统性能
的总体考虑和各模块的指标分配,并非具体电路的实现。因而综合及其以
后的步骤往往不需进行。而当设计的层次比较接近底层时行为描述往往需
要用电路逻辑来实现,这时的模块不仅需要通过仿真加以验证,还需进行
综合、优化、布线和后仿真。总之具体电路是从底向上逐步实现的。EDA
工具往往不仅支持HDL描述也支持电路图输入,有效地利用这两种方法是
提高设计效率的办法之一。下面的流程图简要地说明了模块的编译和测试
过程:
第二章 Verilog HDL 设计方法概述
-------------------------------------------------------------------------------------------------------------------------------------------------
18
从上图可以看出,模块设计流程主要由两大主要功能部分组成:
1)设计开发:即从编写设计文件-->综合到布局布线-->投片生成
这样一系列步骤。
HDL
设 计 文 件
HDL
功 能 仿 真
HDL 综合
优 化 、布 局 布 线
布 线 后 门 级 仿 真
图 2-6-3 HDL 设 计 流 程 图
电 路 功 能
仿 真
电 路 图
设 计 文 件
电 路 制 造 工 艺 文 件
或 FPGA 码 流 文 件
有 问 题
没 问 题
有 问 题
没 问 题
有 问 题
没 问 题
与 实 现 逻 辑 的 物
理 器 件 有 关 的 工 艺
技 术 文 件
确定实现电路
的具体库名
第二章 Verilog HDL 设计方法概述
-------------------------------------------------------------------------------------------------------------------------------------------------
19
2)设计验证:也就是进行各种仿真的一系列步骤,如果在仿真过
程中发现问题就返回设计输入进行修改。
2.6.4.对应具体工艺器件的优化、映象、和布局布线
由于各种ASIC和FPFA器件的工艺各不相同,因而当用不同厂家的不
同器件来实现已验证的逻辑网表(EDIF文件)时,就需要不同的基本单元
库与布线延迟模型与之对应才能进行准确的优化、映象、和布局布线。基
本单元库与布线延迟模型由熟悉本厂工艺的工程师提供,再由EDA厂商的
工程师编入相应的处理程序,而逻辑电路设计师只需用一文件说明所用的
工艺器件和约束条件,EDA工具就会自动地根据这一文件选择相应的库和
模型进行准确的处理从而大大提高设计效率。
2.7.小结
采用Verilog HDL设计方法比采用电路图输入的方法更有优越性,
这就是为什么美国等先进工业国家在进入九十年代以后纷纷采用HDL设计
方法的原因。在两种符合IEEE标准的硬件描述语言中,Verilog HDL与VHDL
相比更加基础、更易学习,掌握HDL设计方法应从学习Verilog HDL设计方
法开始。Verilog HDL可用于复杂数字逻辑电路和系统的总体仿真、子系
统仿真和具体电路综合等各个设计阶段。
由于TOP_DOWN的设计方法是首先从系统设计入手,从顶层进行功能
划分和结构设计。系统的总体仿真是顶层进行功能划分的重要环节,这时
的设计是与工艺无关的。由于设计的主要仿真和调试过程是在高层次完成
的所以能够早期发现结构设计上的错误,避免设计工作的浪费,同时也减
少了逻辑仿真的工作量。自顶向下的设计方法方便了从系统级划分和管理
整个项目,使得几十万门甚至几百万门规模的复杂数字电路的设计成为可
能,并可减少设计人员,避免不必要的重复设计,提高了设计的一次成功
率。
从底向上的设计在某种意义上讲可以看作上述TOP_DOWN设计的逆过
程。虽然设计也是从系统级开始,即从设计树的树根开始对设计进行逐次
划分,但划分时首先考虑的是单元是否存在,即设计划分过程必须从存在
的基本单元出发,设计树最末枝上的单元要么是已经制造出的单元,要么
是其它项目已开发好的单元或者是可外购得到的单元。
自顶向下的设计过程中在每一层次划分时都要对某些目标作优化,
TOP_DOWN的设计过程是理想的设计过程,它的缺点是得到的最小单元不标
准,制造成本可能很高。从底向上的设计过程全采用标准基本单元,通常
比较经济,但有时可能不能满足一些特定的指标要求。复杂数字逻辑电路
和系统的设计过程通常是这两种设计方法的结合,设计时需要考虑多个目
标的综合平衡。
第二章 Verilog HDL 设计方法概述
-------------------------------------------------------------------------------------------------------------------------------------------------
20
2.8 思考题
1. 什么是硬件描述语言?它的主要作用是什么?
2. 目前世界上符合IEEE标准的硬件描述语言有哪两种?它门各有什么特
点?
3. 什么情况下需要采用硬件描述语言的设计方法?
4. 采用硬件描述语言设计方法的优点是什么?有什么缺点?
5. 简单叙述一下利用EDA工具并采用硬件描述语言(HDL)的设计方法和流
程。
6. 硬件描述语言可以用哪两种方式参与复杂数字电路的设计?
7. 用硬件描述语言设计的数字系统需要经过哪些步骤才能与具体的电路
相对应?
8. 为什么说用硬件描述语言设计的数字逻辑系统具有最大的灵活性可以
映射到任何工艺的电路上?
9. 软核是什么?虚拟器件是什么?它们的作用是什么?
10.固核是什么?硬核是什么?与软核相比它们各有什么优缺点?
11.简述TOP-DOWN设计方法和硬件描述语言的关系。
剩余333页未读,继续阅读
qq_33898126
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功