- 文章目录 前言语法结构省略与否请一致范围方向请一致端口声明请一致参数声明请一致映射方式请一致代码缩进请一致空格空行注释编写解释说明段落分隔代码保留 模块设计确定好端口的顺序先方向后功能先功能后方向时钟和复位多时钟模块统一端口的名称 文件结构 前言 所谓HDL的语法结构,也就是对编写HDL时所要遵循的一些规则,为良好的代码风格修炼的关键一步。 本文节选... 文章目录 前言语法结构省略与否请一致范围方向请一致端口声明请一致参数声明请一致映射方式请一致代码缩进请一致空格空行注释编写解释说明段落分隔代码保留 模块设计确定好端口的顺序先方向后功能先功能后方向时钟和复位多时钟模块统一端口的名称 文件结构 前言 所谓HDL的语法结构,也就是对编写HDL时所要遵循的一些规则,为良好的代码风格修炼的关键一步。 本文节选...
- 文章目录 前言三种描述方式结构化描述方式数据流描述方式行为级描述方式 前言 常编写Verilog代码的就会知道,我们对于某一功能的描述,可以通过门电路来描述,也可以直接描述其功能等,这就牵扯到HDL的描述方式,本文节选自《FPGA之道》,一起看下HDL语言的三种描述方式。 三种描述方式 当我们使用HDL代码在描述硬件功能的时候,主要有三种基本描述... 文章目录 前言三种描述方式结构化描述方式数据流描述方式行为级描述方式 前言 常编写Verilog代码的就会知道,我们对于某一功能的描述,可以通过门电路来描述,也可以直接描述其功能等,这就牵扯到HDL的描述方式,本文节选自《FPGA之道》,一起看下HDL语言的三种描述方式。 三种描述方式 当我们使用HDL代码在描述硬件功能的时候,主要有三种基本描述...
- 文章目录 前言Verilog生成语句循环生成条件生成generate-if语句generate-case语句 前言 为什么要把这一节单独拎出来,因为个人原因,平时觉得用的Verilog生成语句,generate for居多,generate if以及generate case没用过,因此,也没在意过。 但是上次遇到一个实际问题,想到了这个语法,... 文章目录 前言Verilog生成语句循环生成条件生成generate-if语句generate-case语句 前言 为什么要把这一节单独拎出来,因为个人原因,平时觉得用的Verilog生成语句,generate for居多,generate if以及generate case没用过,因此,也没在意过。 但是上次遇到一个实际问题,想到了这个语法,...
- 前言 本文首发:FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算 STA定义 STA定义为:时序验证,可确保各种电路时序是否满足各种时序要求。 ASIC / FPGA设计流程中最重要和最具挑战性的方面之一是时序收敛。时序收敛可以看作是数字电路的时序验证。为时序而闭合的数字电路将以指定的频率工作(由设计人员在时序约束中定义),因此可以实现预期的P... 前言 本文首发:FPGA的设计艺术(4)STA实战之不同时序路径的建立保持时间计算 STA定义 STA定义为:时序验证,可确保各种电路时序是否满足各种时序要求。 ASIC / FPGA设计流程中最重要和最具挑战性的方面之一是时序收敛。时序收敛可以看作是数字电路的时序验证。为时序而闭合的数字电路将以指定的频率工作(由设计人员在时序约束中定义),因此可以实现预期的P...
- 前言 FPGA进行时序分析通常使用厂家的编译工具,进行时序分析,但是万变不离其宗,时序分析的知识通常都是通用的,原理都是一致的。下面根据SmartTime的资料来看下时序分析的实际操作是如何的,这在其他工具上通常也是可以找到的。适应工具,而不是让工具适应你! 本文首发:易百纳技术社区,原文链接:FPGA的设计艺术(6)STA实战之SmartTime时序约束及分析示例(... 前言 FPGA进行时序分析通常使用厂家的编译工具,进行时序分析,但是万变不离其宗,时序分析的知识通常都是通用的,原理都是一致的。下面根据SmartTime的资料来看下时序分析的实际操作是如何的,这在其他工具上通常也是可以找到的。适应工具,而不是让工具适应你! 本文首发:易百纳技术社区,原文链接:FPGA的设计艺术(6)STA实战之SmartTime时序约束及分析示例(...
- 博文目录 写在前面正文需求(Requirements)技术指标(Specifications)架构(Architecture)数字设计(Digital Design)验证(Verification)逻辑综合(Logic Synthesis)逻辑对等(Logic Equivalence)布局和布线(Placement and Routing)验证 (Validat... 博文目录 写在前面正文需求(Requirements)技术指标(Specifications)架构(Architecture)数字设计(Digital Design)验证(Verification)逻辑综合(Logic Synthesis)逻辑对等(Logic Equivalence)布局和布线(Placement and Routing)验证 (Validat...
- 前言 注:本文首发自FPGA逻辑设计回顾(3)多比特信号上升沿检测的设计方式与陷阱? 在总结本文最后的多比特上升沿检测之前,我们先把备用知识讲清楚,摊开来,以免造成模糊不清的默许! 逻辑运算符与位元运算符 从表面上来看,逻辑运算符与位元运算符之间的区别就是一个符号写法的问题,例如:&&,&,||,|,!,~ 事实上,我们应该真正的从含义上理... 前言 注:本文首发自FPGA逻辑设计回顾(3)多比特信号上升沿检测的设计方式与陷阱? 在总结本文最后的多比特上升沿检测之前,我们先把备用知识讲清楚,摊开来,以免造成模糊不清的默许! 逻辑运算符与位元运算符 从表面上来看,逻辑运算符与位元运算符之间的区别就是一个符号写法的问题,例如:&&,&,||,|,!,~ 事实上,我们应该真正的从含义上理...
- 前言 本文讨论FPGA的构建过程,由于FPGA的过程太多了,恐怕会有歧义,这个过程,不是开发过程,不是开发流程,而是实实在在的FPGA编译的过程,使用编译恐怕不是太合适,但是大家都叫习惯了,也知道FPGA的编译过程就是指的是FPGA实现的中间一系列过程,例如综合,实现以及最后生成比特流编程文件。 这篇文章中:FPGA的设计艺术(2)FPGA开发流程,我们讨论了创建F... 前言 本文讨论FPGA的构建过程,由于FPGA的过程太多了,恐怕会有歧义,这个过程,不是开发过程,不是开发流程,而是实实在在的FPGA编译的过程,使用编译恐怕不是太合适,但是大家都叫习惯了,也知道FPGA的编译过程就是指的是FPGA实现的中间一系列过程,例如综合,实现以及最后生成比特流编程文件。 这篇文章中:FPGA的设计艺术(2)FPGA开发流程,我们讨论了创建F...
- 通用移位寄存器可以加载并行数据,将其内容向左移位(向高位移)、向右移位(向低位移)或保持原有状态。它可以实现并转串(首先加载并行输入,然后移位)或串转并(首先移位,然后并行输出)。实现这种操作需要两位控制信号ctrl,如下: `timescale 1ns / 1ps//// Company: // Engineer: // // Create Date: 2019/01/0... 通用移位寄存器可以加载并行数据,将其内容向左移位(向高位移)、向右移位(向低位移)或保持原有状态。它可以实现并转串(首先加载并行输入,然后移位)或串转并(首先移位,然后并行输出)。实现这种操作需要两位控制信号ctrl,如下: `timescale 1ns / 1ps//// Company: // Engineer: // // Create Date: 2019/01/0...
- 博文目录 写在前面正文常识讨论数据分析写在最后 参考资料交个朋友 写在前面 个人微信公众号: FPGA LAB个人博客首页 正文 对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项... 博文目录 写在前面正文常识讨论数据分析写在最后 参考资料交个朋友 写在前面 个人微信公众号: FPGA LAB个人博客首页 正文 对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项...
- 文章目录 长话短说aurora的用户时钟频率是多少?aurora的用户时钟的来源?总结 长话短说 由于工作很忙,所以一直没有时间来胡乱写写,需要注意的是文章内容不涉及任何秘密,纯粹来源自公开的数据手册以及Xilinx工具及其网站,文章内容严谨性以及真实性纯粹本人妄自理解,爱信不信! 周末半夜抽空记录下需要速记的东西,所以就长话短说! aurora的... 文章目录 长话短说aurora的用户时钟频率是多少?aurora的用户时钟的来源?总结 长话短说 由于工作很忙,所以一直没有时间来胡乱写写,需要注意的是文章内容不涉及任何秘密,纯粹来源自公开的数据手册以及Xilinx工具及其网站,文章内容严谨性以及真实性纯粹本人妄自理解,爱信不信! 周末半夜抽空记录下需要速记的东西,所以就长话短说! aurora的...
- 文章目录 前言异步FIFO的概念异步FIFO为什么可以解决CDC问题?异步FIFO的RTL实现 参考资料 前言 异步FIFO是处理多比特信号跨时钟域的最常用方法,简单来说,异步FIFO是双口RAM的一个封装而已,其存储容器本质上还是一个RAM,只不过对其添加了某些控制,使其能够实现先进先出的功能,由于这个功能十分的实用,因此得以广泛应用。 真双... 文章目录 前言异步FIFO的概念异步FIFO为什么可以解决CDC问题?异步FIFO的RTL实现 参考资料 前言 异步FIFO是处理多比特信号跨时钟域的最常用方法,简单来说,异步FIFO是双口RAM的一个封装而已,其存储容器本质上还是一个RAM,只不过对其添加了某些控制,使其能够实现先进先出的功能,由于这个功能十分的实用,因此得以广泛应用。 真双...
- 前言 提到函数与任务,很多已从业的逻辑设计人员甚至都会对此陌生,听过是听过,但是很少用过。 与大多数编程语言一样,我们应该尝试使尽可能多的Verilog代码可重用。这使我们能够减少将来项目的开发时间,因为我们可以更轻松地将代码从一种设计移植到另一种设计。 人是懒惰的,觉得麻烦且使用场合局限,就不去重视,甚至不予接触,我宁愿使用其他语法代替。这样的话,就失去了这些语... 前言 提到函数与任务,很多已从业的逻辑设计人员甚至都会对此陌生,听过是听过,但是很少用过。 与大多数编程语言一样,我们应该尝试使尽可能多的Verilog代码可重用。这使我们能够减少将来项目的开发时间,因为我们可以更轻松地将代码从一种设计移植到另一种设计。 人是懒惰的,觉得麻烦且使用场合局限,就不去重视,甚至不予接触,我宁愿使用其他语法代替。这样的话,就失去了这些语...
- 前言 与大多数编程语言一样,我们应该尝试使尽可能多的代码可重用。 这使我们可以减少将来项目的开发时间,因为我们可以更轻松地将代码从一种设计移植到另一种设计。 我们在verilog中有两个可用的构造,它们可以帮助我们编写可重用的代码-parameter和generate语句。 这两种构造都允许我们创建更多的通用代码,我们在实例化组件时可以轻松地对其进行修改以满足自... 前言 与大多数编程语言一样,我们应该尝试使尽可能多的代码可重用。 这使我们可以减少将来项目的开发时间,因为我们可以更轻松地将代码从一种设计移植到另一种设计。 我们在verilog中有两个可用的构造,它们可以帮助我们编写可重用的代码-parameter和generate语句。 这两种构造都允许我们创建更多的通用代码,我们在实例化组件时可以轻松地对其进行修改以满足自...
- 博文目录 写在前面正文全双工与半双工FPGA和ASIC中的三态缓冲器如何在VHDL和Verilog中推断出三态缓冲区 参考资料交个朋友 写在前面 下面用举例子的方式引出三态门,内容过长,大家可直接跳过,进入正文! 三态门在FPGA以及ASIC设计中十分常用,随便举一个例子,在RAM的设计中(无论是同步读写RAM还是异步读写RAM设计),我们常将... 博文目录 写在前面正文全双工与半双工FPGA和ASIC中的三态缓冲器如何在VHDL和Verilog中推断出三态缓冲区 参考资料交个朋友 写在前面 下面用举例子的方式引出三态门,内容过长,大家可直接跳过,进入正文! 三态门在FPGA以及ASIC设计中十分常用,随便举一个例子,在RAM的设计中(无论是同步读写RAM还是异步读写RAM设计),我们常将...
上滑加载中
推荐直播
-
华为云软件开发生产线(CodeArts)4月新特性解读
2025/05/30 周五 16:30-17:30
Enki 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线4月发布的新特性,并在直播过程中为您答疑解惑。
回顾中 -
基于昇腾的皮肤病理多模态大模型研发
2025/06/05 周四 19:00-20:00
崔笑宇 华为开发者布道师-高校教师
本期直播聚焦昇腾AI平台在皮肤病理多模态大模型研发中的全流程技术突破,通过基于国产基座模型QwenV2.5进行微调,融入思维链数据优化推理能力,深度融合病理图像、临床文本及专家语音等多模态数据,构建覆盖“认知行为-逻辑推理-决策生成”全流程的皮肤病理大模型。
回顾中
热门标签