
FPGA技术汇总分享3
文章平均质量分 92
FPGA工程师需要掌握硬件设计、数字电路、编程语言等技能,并具备现代计算机体系结构和高性能计算的知识。由于FPGA的专业性和需求量大,这些工程师通常能够获得相对较高的薪资和福利待遇。随着经验的积累和技能的提升,他们有机会晋升为团队领导、技术专家或架构师等高级职位
BinaryStarXin
专注于网络技术、各类计算机热门行业技术研究分享、嵌入式开发、人工智能、后端与前端等方面的技术知识文章分享,欢迎留言
展开
-
FPGA 设计—第1章快速逻辑门实验【1.2】
若采用算术运算的方式 ,我们可暂时不考虑传统的数字逻辑 ,只用到日常生活的算术观念 ,就可完成电路的描述 ,而其位数几乎不影响电路描述的复杂度。例如 ,A 信号宽度为 4 位 ,B 信号宽度为 4 位 ,利用连接符号将这两个信号连接成为宽度为 8 位的 Y 信号 ,如图 2畅15 所示。对话框的默认值为 100ns ,根据刚才所编辑的测试平台 ,只要 80ns 即可完成仿真 ,所以在此不必改变设定 ,直接按 钮即可进行仿真 ,而仿真结果将反映在波形窗口里 ,如图 2畅10 所示。原创 2025-03-15 17:06:39 · 27 阅读 · 0 评论 -
FPGA 设计—第1章快速逻辑门实验【1.1】
例如 ,逻辑运算或算术运算 ,其中 ,采用逻辑运算的设计方式 ,比较像传统设计方式 ,设计步骤比较麻烦 ,但其所合成的电路比较简单;”语句实现或门电路 ,以此类推。根据表 1畅7 ,可在测试平台里的 A 、B 端分别输入“00” 、“01” 、“10”及“11” ,再观察其输出端 O1 ~ O7 ,若输出与其真值表相同 ,则表示此电路功能符合预期。同样的方法 ,按 键开启其属性对话框 ,将其名称改为 B ,按 钮关闭对话框 ,移至适当位置 ,按鼠标左键 ,展开其宽度 ,再按一下鼠标左键即可。原创 2025-03-15 15:50:12 · 26 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【2.3】
XUP 由一支专门的全球团队管理和运作,致力于支持全世界的大学使用Xilinx 的工具和技术。XUP建立的目标是促使大学在课程和研究中使用Xilinx的技术,XUP 团队采取了各种手段来鼓励和支持学术活动。本节接下来简要地总结一下。原创 2025-03-02 19:28:58 · 49 阅读 · 0 评论 -
FPGA 设计—第1章快速逻辑门实验【1.0】
在工具软件与计算机的辅助下进行设计 ,即所谓的 CAD (Computer Aided Design) ,让电路设计更有效率 ,还能进一步产生电路制造/组装所需的各项数据 ,即所谓的 CAM (Computer Aided Manufacturing ) ,以及测试电路所需的各项数据 ,即 CAT(Computer Aided Testing) ,CAM 与 CAT 合称为 CAM & T。至于描述的方式 ,也就是 VHDL 的语法 ,我们会在后面的章节中 ,陆续介绍。原创 2025-03-02 18:17:14 · 46 阅读 · 0 评论 -
基于FPGA的数字信号处理【2.3】
以矩阵形式表示部分和之间的关系如图4.44所示。可见每个DSP48独立完成部分和,同时后级DSP48还完成与前级DSP48部分和相加的过程。同一时刻,每个DSP48完成不同滤波运算所需要的部分和,同一滤波运算所需要的部分和由4个DSP48分时完成,从而形成流水处理。通过以上数据处理过程的分析,可得如图4.45所示的硬件结构框图。整个系统由一个单端口RAM、4个DSP48、4个系数ROM、控制模块control以及4个MUX构成。原创 2025-02-19 22:39:39 · 141 阅读 · 0 评论 -
深入理解FPGA电子系统设计——基于Quartus Prime与VHDL的Altera FPGA设计【1.1】
1.3 FPGA开发工具PLD的问世及其发展圆了系统设计师和科研人员的梦想:利用价格低廉的软件工具在实验室里快速设计、仿真和测试数字系统,然后,以最短的时间将设计编程到一块PLD芯片中,并立即投入到实际应用。FPGA的开发涉及硬件和软件两方面的工作。一个完整的FPGA开发环境主要包括运行于PC上的FPGA开发工具、编程器或编程电缆、FPGA开发板。图1-13是USB Blaster下载器连接示意图。原创 2025-02-17 23:02:30 · 251 阅读 · 0 评论 -
深入理解FPGA电子系统设计——基于Quartus Prime与VHDL的Altera FPGA设计【1.0】
可编程逻辑器件(Programmable Logic Device,PLD)是20世纪70年代发展起来的新型逻辑器件。可编程逻辑器件与传统逻辑器件的区别在于其功能不固定,属于一种半定制逻辑器件,可以通过软件的方法对其编程从而改变其逻辑功能。微电子技术的发展,使得设计与制造集成电路的任务已不完全由半导体厂商独立承担,系统设计师们可以在更短的设计周期里,在实验室里设计自己需要的专用集成电路(Application Specific Integrated Circuit,ASIC)芯片。原创 2025-02-17 22:50:24 · 405 阅读 · 0 评论 -
网络集成与综合布线【1.7】
不论是网络操作系统还是网络设备,不是遵循厂家自己制订的协议(如 Novell 公司的 Novell 协议、苹果公司的 AppleTalk协议、微软公司的 NetBEUI 协议、 IBM 公司的 SNA),就是遵循某个政府部门制定的协议(如美国国防部高级研究工程局 DARPA 的 TCP/IP 协议)。从 TCP 程序设计的原理看,源主机 TCP 程序发送“连接请求包”是为了触发对方主机的 TCP 程序,开辟一个对应的 TCP 进程,并在双方的进程之间传输数据。如果没有统一的标准,各个厂商的产品就无法通用。原创 2024-12-24 22:19:41 · 42 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【2.2】
由于需要以适当的成本、较低的功耗以及往往要求较小的物理尺寸来实现完全自动化的系统,SoC对这样的应用的重要性是显而易见的。美国加州Claremont的Harvey Mudd学院的Karl L. Wang教授,在他和Digilent来的同事共同发表的《An Effective Project-Based Embedded System DesignTeaching Method(一种有效的基于项目的嵌入式系统设计教学方法)》论文中所呈现的基于 Zynq 的教学是一个有意思的例子[20]。原创 2024-12-22 18:37:36 · 169 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【2.1】
ZedBoard 是一款低功耗,基于社区的板卡,搭载了 XC7Z020 Zynq 设备。它是由 Xilinx,Avnet(分销商)和 Digilent(生产商)联合经营的。尽管这是适合于工业的开发平台,ZedBoard 具有满足新 Zynq 用户的特定材料符合初学者的学习曲线,因此也以学生、学者和爱好者为用户。由 Avnet 运营的网络社区(ZedBoard.org)致力于帮助用户,详细信息将在6.7节中被提到。原创 2024-12-22 16:12:57 · 63 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【2.0】
如果你对消费电子产品有所体验,技术生态系统的概念就不会陌生。就拿智能手机来说,手机厂家提供了手机和基础的操作系统,然后可能提供一个 “应用商店(app store)”或类似的机制,用户只要需要,就可以从那里获得在他们的手机上运行的额外的应用。应用商店里的 app 几乎无一例外是由手机厂家以外的其他公司开发的,而且有几千种不同的 app,从像是音乐管理、天气预报这样的主流兴趣,到像是记录骑车轨迹这样的特殊爱好都有。原创 2024-12-19 21:08:27 · 64 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.9】
智能这个术语在很多应用领域都能找到,包括智能电网、智能建筑、智能家居、智能交通、智能城市、智能农业等等。一个中肯的问题是,是什么造就了这些特殊的智能系统?其实对于智能并没有单一的确定的定义。然而,值得注意的是经济合作与发展组织(OECD)给出了一个定义[33],正好可以用于本章的讨论:“一个应用或服务,能从之前的情况中学习,并能将这些况综合告知其他设备和用户。然后这些设备及用户可以改变自己的行为来更好地适应这个情况。原创 2024-12-19 20:51:30 · 399 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.8】
考虑 Zynq、FPGA 和相关芯片的应用,有几个重要的领域可以被点出来。虽然有大量的可能性应用,但这里的只是有代表性的一些选择。我们首先要考虑的第一个应用,是灵活无线电。无线通信的变化之快,使得能调整功能的系统变得非常有价值。Zyng是一个能实现这样的灵活性的平台。软件定义无线电的概念 -- 一个可以在工作中重新配置的电台 -- 并非新想法,在 1990年代中期就已经以某些形式出现了[29]。这个术语可以表达重配置的不同的方面,于是对于不同的人就有了不同的意思。原创 2024-12-15 21:08:06 · 61 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.7】
本节我们比较了 Zyng 处理器和实现了软核处理器的其他 FPGA。要指出的是有多重类型的软处理器可用,包括 Xilinx 提供的核以及第三方提供的。当然,也可能经过巨大的设计努力来自己设计自己的软处理器。迄今为止最主要的软处理器类型是 Xilinx的 MicroBlaze,它具有可定制的功能,并可以被配置来优化它的处理器性能、工作频率或面积(或这些指标的组合)。MicroBlaze 被集成进了 Vivado,具有丰富的支持。原创 2024-12-15 20:22:50 · 89 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.6】
拿最高级的配备了PowerPC的 FPGA 为例,在Virtex-5 里的 PowerPc 可以实现高达 1000DMIPS(也就是说用较大的两单元的芯片时可以达到 2000DMIPS),而 MicroBlaze 的性能是大约 240DMIPS[14][15]。不过,在写本书的时候,最新可用的 MicroBlaze 分值是从 Virtex-5 的 FPGA 实现上得到的,而不是 Zynq 或7系列的FPGA,而且只是单个 MicroBlaze 核的[6]。或者说,它可以被定义成实现这三者的合适的平衡。原创 2024-12-15 16:06:11 · 185 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.5】
其他的变化则更加细微,比如说,Vivado 中的综合和布线的引擎相比 ISE 来说由很大的改进,但是这对于用户却是透明的。不同于老的、只是从零开始建立系统的设计方法,Vivado 着眼于从 Vivado IP 库(这些核由 Xilinx开发)中,或从第三方 IP 开发者,或从前人(他或她的团队)的努力中获取预先验证好的IP来开发。在项目的最后,会有一个最终整合和测试的阶段,此时所有的团队成员会将他们的系统元素结合起来,并且确定每一个期望的功能都已经被实现。另一个需要考虑的因素是配置设备的方法。原创 2024-12-15 15:26:44 · 69 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.4】
在满足开始 Zyng 设计的软硬件需求之后,接下来返回到我们第1章中提到过的开发流程的话题。图 3.2展现的是包含相关联的设计工具的参照的增强图。这将在接下来几页中作为我们的讨论基础。上图描述的是一个单独设计者所需要完成的流程,如果他想要单独完成一个设计的话,并且这就是完成接下来的练习样例的过程。在3.2节中,我们同样会考虑团队开发流程,这与当前的工业开发更加贴近,Vivado 设计套件同样也适合这样的任务。3.2.1.需求和技术参数任何项目都始于基于项目的需求评估目标系统的技术参数。原创 2024-12-08 15:29:38 · 95 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.3】
所有系列成员的 PS 是标准的,唯一的区别是 ARM 核的最大频率:基于 Artix-7 的芯片的 PS 的时钟可以高达866MHz,而基于Kintex 的芯片可以高达 1GHz。Zyng 芯片有两个办法来实现这个防护:(一)一种Zyng 特有的 ARM TrustZone 技术的实现(见下面专门的关于 Zyng-7000 和 ARMTrustZone 技术的小节),和(二)基于对于从主机来的 AXI端口会话和对应的从机地址的监视。其中重要的一个方面是本章提出的面向系统的设计理念和使用开发工具的设计流程。原创 2024-12-08 15:09:00 · 52 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.2】
想要构成一个与快 RAM 大小相当的储存器,需要用到大量的 LUT(分布在较大的面积上),而且实现的结果还受到由于遽增的逻辑和布线延迟所造成的时序性能受限的影响。逻辑部分里的 LUT 可以用来实现任意长度的算术运算,但是最合适的是做短字长的算术运算(长字长的算术电路会在逻辑片中占据较大的空间,这样的布局和布线因素会使得时钟频率是次优的)。在设计 Zynq 的时候,识别出明确的、可计算的并行函数,尤其是在可能的情况下,针对 DSP 和块 RAM 的需要,在芯片的 PL 部分加以实现是应该要做的事情。原创 2024-12-07 21:23:39 · 74 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.1】
如果你正在阅读本书,很可能你已经了解了一些用FPGA 或处理器或是两者结合来开发系统的背景了。正如本书开头所描述的,Zynq 是一款新的组合了一个FPGA和一个强大的应用处理器的芯片,因此它特征、功能和潜在的应用和单独的 FPGA 或处理器都有所不同。通过本章和后续的几章,我们会从各方面更详细地观察 Zyng,在这个过程中会提出一些很基础但又很重要的问题,诸如“这是什么?”、“如何使用它?”以及 “ 为何需要用 Zynq”。本章专注于第一个问题,并介绍 Zynq 架构。原创 2024-12-05 21:21:29 · 487 阅读 · 0 评论 -
基于含有 ARM® Cortex®-A9 的Xilinx® Zynq®-7000全可编程片上系统的嵌入式处理器使用教程【1.0】
从书名你应该已经猜到,这是关于 Zynq的书!这是新一代全面可编程片上系统(Al1-Programmable System-on-Chip,SoC)的 Zyng[10],可别误以为是锌(英文zinc、元素符号 Zn)那个化学元素啊,其实,这两者之间还是有联系的。有传言说Xilinx 给他们的新芯片命名为Zynq,是因为它代表了一个可以用在任何地方的处理器元素。2ynq 芯片致力于成为灵活的、能用于各种应用的强有力的平台,就像锌元素可以与各种其他金属混合形成具有各种所需属性的合金一样。原创 2024-12-04 21:42:03 · 90 阅读 · 0 评论 -
Vivado使用误区与进阶【1.5】
或是验证约束的优先级?在 Vivado 中,除了借助综合后的报告来找到那些可能因为逻辑级数较高而导致的时序难满足的路径外,还有一个更直接的办法,可以一次性报告出设计中那些高逻辑级数的路径,方便我们有针对性的深入分析和优化。静态时序分析( Static Timing Analysis)简称 STA,采用穷尽的分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误并报告。原创 2024-12-04 20:57:46 · 289 阅读 · 0 评论 -
Vivado使用误区与进阶【1.4】
Tcl(读作 tickle)诞生于 80 年代的加州大学伯克利分校,作为一种简单高效可移植性好的脚本语言,目前已经广泛应用在几乎所有的 EDA工具中。Tcl 的最大特点就是其语法格式极其简单甚至可以说僵化,采用纯粹的 [命令 选项 参数] 形式,是名副其实的“工具命令语言”( 即 Tcl 的全称 Tool Command Language)。实际上 Tcl 的功能可以很强大,用其编写的程序也可以很复杂,但要在 Vivado 或大部分其它 EDA 工具中使用,则只需掌握其中最基本的几个部分。原创 2024-12-03 21:44:13 · 75 阅读 · 0 评论 -
Vivado使用误区与进阶【1.3】
同理,下降沿采样的数据( Fall Data)的 -max应该是采样周期减去这个数据的发送沿(上升沿)之前的数据有效窗口值 dv_bre,而对应的-min 就应该是下降沿之后的数据有效窗口值 dv_afe。为了改进系统同步接口中时钟频率受限的弊端,一种针对高速 I/O 的同步时序接口应运而生,在发送端将数据和时钟同步传输,在接收端用时钟沿脉冲来对数据进行锁存,重新使数据与时钟同步,这种电路就是源同步接口电路( Source Synchronous Interface)。原创 2024-12-03 21:18:25 · 37 阅读 · 0 评论 -
Vivado使用误区与进阶【1.2】
CDC 的设计与约束CDC 路径在 FPGA 设计中普遍存在,在设置相应的约束前,必须了解设计中采取了怎样的方法来处理跨时钟域路径。简单同步器对于单根跨时钟域路径,一般采用简单同步器( Simple Synchronizer),就是由至少两级 CE 端和 Reset/Clear 端接死的寄存器序列来处理。原创 2024-12-03 20:58:51 · 167 阅读 · 0 评论 -
Vivado使用误区与进阶【1.1】
这就决定了XDC 也具有 Tcl命令的特点,即后面输入的约束在有冲突的情况下会覆盖之前输入的约束(时序例外的优先级会在下节详述)另外,不同于 UCF 是全部读入再处理的方式,在XDC 中,约束是读一条执行一条,所以先后顺序很重要,例如要设置 10 约束之前,相对应的 clock 一定要先创建好。一个总的原则就是针对同一条路径,对约束目标描述越具体的优先级越高。XDC则恰恰相反,ASIC 世界的血缘背景决定了在其中,所有的时钟缺省视作全同步,在没有时序例外的情况下,工具会主动分析每一条跨时钟域的路径。原创 2024-12-03 20:31:29 · 65 阅读 · 0 评论 -
Vivado使用误区与进阶【1.0】
当然,我们没必要遍历每种策略。更多时候,选择怎样的策略是一种经验的体现,另外,即使找到了最佳实现策略,也仍旧有可能不满足时序要求,这时候我们还可以参考《用 Tcl 定制 Vivado 设计实现流程》 中所述,对设计实现的流程进行进一步的个性化定制。随着设计规模的不断扩大,以及 SoC 设计的兴起,越来越多的 IP 被整合到大设计中,曾经为高性能设计而生,便于统一管理和控制的自顶向下的设计流程变得不再适用, FPGA 设计也跟大规模 SoC 设计一样,需要采用层次化的设计流程,即自底向上的流程。原创 2024-12-01 21:27:42 · 88 阅读 · 0 评论 -
基于FPGA的数字信号处理【2.2】
对于系数对称的FIR滤波器,可利用其对称性通过预加减少处理单元的 个数。以8抽头偶对称为例,其系数满足式(4.25)。从而,在Xilinx Virtex-5中相应的硬件结构如图4.33所示。显然,处理单元的个数可减少 至4个。此时,PE1对应的DSP48E配置为A×B+C,PE2~PE4对应的DSP48E配 置为A×B+PCIN。由于Virtex-5中的DSP48E没有预加器,因此需要额外的 逻辑资源实现预加功能。在Virtex-6和7系列FPGA中的DSP48E1本身就带有 预加器,因此,图4.33所示结原创 2024-11-10 21:03:08 · 81 阅读 · 0 评论 -
基于FPGA的数字信号处理【2.1】
基于双端口RAM(此时RAM配置为Simple Dual Port RAM)的串行FIR滤 波器其设计思想 [3] 是输入数据周期性的动态流动是以读/写地址的改变 而实现的。这里的周期性是指输入数据的动态管理方式即读/写地址的变化 是周期性的,从而导致了输入数据的流动是周期性的。结合图4.11进一步 分析,将输入数据x(0)写入RAM的0号地址,在其整个生命周期内都将位 于0号地址,直至x(4)写入。x(1)写入RAM的1号地址,在其整个生命周 期内都将位于1号地址,直至x(5)写入。其他数据依此类推。原创 2024-11-10 20:44:18 · 399 阅读 · 0 评论 -
基于FPGA的数字信号处理【2.0】
圆周系统、线性系统和双曲系统可以用统一的一个迭代方程来表 示,如式(3.124)所示,相应的操作指令如表3.21所示。表3.22和表3.23对三种系统进行了比较。 考虑到硬件架构的一致性,这里以圆周系统为例说明。由式 (3.103)和式(3.110)所示的迭代方程可得出CORDIC算法的基本处 理单元硬件架构 [8] ,如图3.93所示。如果只是利用向量模式求取幅 度,图中的虚线部分结构是不需要的。 从图3.93中不难看出,基本处理单元由三个加法器和一个LUT(储 存角度)外加两原创 2024-11-10 20:10:34 · 153 阅读 · 0 评论 -
基于FPGA的数字信号处理【1.8】
第一步的查找表有两个关键指标:深度和宽度。其中宽度即所存 储数据的位宽,可根据系统精度要求确定,而深度取决于地址的位 宽,这和除数D的位宽有关。假定D为Nbit,如果地址位宽也为Nbit, 那么查找表的深度即为2N 。当N较大时,将占用大量的存储资源。为 此,可选用D的部分位宽作为地址。假定选取D的高m-1位作为地址,如 图3.49所示,图中S为符号位,由D的取值范围可确定S为0,bi (i= 1,2,…,N)为D的第i位二进制数,地址位由 构成,这意 味着D从第m位开始的数据被抛弃,这必然带来误差。如果要原创 2024-11-09 20:31:08 · 87 阅读 · 0 评论 -
基于FPGA的数字信号处理【1.7】
事实上,在乘法器的使用过程中经常会出现被乘数或者乘数为固 定常数的情形,如固定系数的FIR滤波器。以K表示此固定常数,称此 类 乘 法 器 为 固 定 系 数 乘 法 器 KCM ( K-Constant Coefficient Multiplier)。对于KCM,可根据K的数值特性,设计出具有针对性的 乘法器而避免浪费硬线乘法器资源。 采用移位相加的方法可实现KCM。此时,如果K为2n 或者非常接近 2n ,此方法非常适用。例如,K=9,可将其分解为(23 +1),则A 与K相乘即变为将A原创 2024-11-08 21:05:24 · 122 阅读 · 0 评论 -
基于FPGA的数字信号处理【1.6】
乘法运算在数字信号处理中被广泛应用,如滤波器以及各种变换 等。这就使得乘法器在系统中通常扮演着重要的角色,对系统整体性 能有着极大的影响,这也就不难理解目前的FPGA中都植入了嵌入式硬 线乘法器。 本节从二进制乘法运算的原理谈起,讨论乘法器的各种设计方 法。尽管在VHDL语言中有关键字signed和unsigned(Verilog语言中有 关键字signed,没有unsigned),借助于此可方便地用“*”描述无符 号数乘法和有符号数乘法,但同样可根据目标需求(速度优先还是资 源优先)采用其他方式实现乘法运原创 2024-11-04 21:34:00 · 233 阅读 · 0 评论 -
基于FPGA的数字信号处理【1.5】
以数字方式进行信号处理,归根结底可分解为一些基本的数学运 算,这些数学运算既包括基本的加、减、乘、除运算,也包括诸如三 角函数、指数函数、对数函数等超越函数的运算。这些运算中加法运 算和乘法运算是数字信号处理中的两大主要运算。本章从加法运算谈 起,详细介绍各种运算在FPGA中的实现方式。就FPGA而言,其胜任定 点运算的能力更为显著。鉴于此,本章只讨论这些运算的定点数实现 方式。 加法运算可以说是数字信号处理中最基本的运算,减法、乘法运 算都可以通过加法运算实现。加法运算也可以说是数字信号处理原创 2024-11-03 23:11:21 · 67 阅读 · 0 评论 -
基于FPGA的数字信号处理【1.4】
以3位有符号定点纯小数为例,其所能表示的数值如表2.6所示, 共8种可能,其中最大值为0.75,对应符号位为0,小数位全为1;最小 值为-1,对应符号位为1,小数位全为0。从最小值到最大值步进为 0.25,即精度为0.25。3位无符号定点纯小数所能表示的数值如表2.7所示,依然有8种可能,其中最大值为0.875,对应小数位全为1;最小值为0,对应小数位全为0。从最小值到最大值步进为0.125,即精度为0.125。原创 2024-11-03 21:55:51 · 84 阅读 · 0 评论 -
ModelSim 电子系统分析及仿真【1.4】
Transcript 窗口位于主窗口的下方,如图2-56所示。作用主要是输入操作指令和输出显示信息两大类,在本书中称其为命令窗口。在前文中也曾经提到,ModelSim的菜单栏并不包含所有的操作命令,这些不在菜单栏中的命令想要使用,就必须采用命令行操作的方式。当然,对于菜单栏中有的操作也是可以使用命令行操作的方式执行。作为一个新的使用者,不了解命令行操作方式是可以理解的。但是当使用者试图使用一些高级的功能时,命令行操作方式会变得十分重要。本书中在给出实例的同时,将所有实例中用到操作的具体命令名称和命令格式也做原创 2024-11-03 20:49:35 · 115 阅读 · 0 评论 -
ModelSim 电子系统分析及仿真【1.3】
唯一的不同就是,第二部分关于SE的帮助文件是PDF格式的文件,第三部分关于Tcl的帮助文件是CHM格式的文件,二者都可以在ModelSim的安装文件夹中的docs目录中找到,不需要启动ModelSim 一样可以阅读。Options(选项):这个命令可以打开比较的选项,主要是一些值的设定,如图2-45所示。一般在最初打开ModelSim 软件的时候工具栏包含的内容如图2-54所示,随着设计或仿真的进行,当进行到不同阶段的时候,相关的快捷操作也会出现在工具栏中,这里只介绍一下最初的工具栏中包含的操作。原创 2024-11-03 20:24:05 · 59 阅读 · 0 评论 -
ModelSim 电子系统分析及仿真【1.2】
(4)Filter(筛选)筛选指令用于控制Objects窗口中的模块列表,图2-24显示了可筛选的种类ModelSim 的初始设置是显示设计中所有的端口和信号,如若使用者不需要显示某类信号,可以根据自己的需要来调整显示的端口。Compile Summary 命令用来查看当前工程中的所有已编译文件的编译报告,没有被编译的文件是不会出现的,而且所有文件的编译报告会出现在同一个窗口中,如图2-35所示,这些报告还可以以文本的形式保存到指定的目录。View 菜单用来控制显示,包含的指令如图2-21所示。原创 2024-11-03 18:51:54 · 69 阅读 · 0 评论 -
ModelSim 电子系统分析及仿真【1.1】
Follow current dataset 可以根据当前的 Dataset 更新对象窗口,1Fixto dataset sim 会把对象窗口的内容固定在一个特定的Dataset,Follow Context Selection 会根据工作区中仿真结构标签的选择来更新窗口内容,Fix to Current Context会维持当前波形,不去进行更新。在前面的内容中也介绍过,有些选项是需要一定条件的,使用者可以多动手操作,慢慢摸索,熟悉各个选项需要的条件都是什么,这样获得的效果将会更好。原创 2024-11-03 16:12:43 · 88 阅读 · 0 评论 -
ModelSim 电子系统分析及仿真【1.0】
ModelSim是由Mentor Graphics开发的一款优秀的 HDL仿真器。它能够提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog 混合仿真的仿真器。它具有如下主要特点:RTL和门级优化,本地编译结构,编译仿真速度快。单内核VHDL和 Verilog 混合仿真。源代码模版和助手,项目管理。集成了性能分析、波形比较、代码覆盖等功能。数据流 ChaseX。C 和 Tcl/Tk 接口,C调试。ModelSim 具有多个版本。原创 2024-11-03 15:42:08 · 78 阅读 · 0 评论