- 文章目录 前言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设计),我们常将...
- 文章目录 in_system_ibert IP定制要点串行收发器的位置 如何例化in_system_ibert?结尾 in_system_ibert IP定制要点 串行收发器的位置 在ISI定制中,需要选择所使用的串行收发器的位置,如下: 对应的IP端口处也会出现相应的端口,例如上图选择了2个Quad,也就是8个通道的串行收发器,那么对应的d... 文章目录 in_system_ibert IP定制要点串行收发器的位置 如何例化in_system_ibert?结尾 in_system_ibert IP定制要点 串行收发器的位置 在ISI定制中,需要选择所使用的串行收发器的位置,如下: 对应的IP端口处也会出现相应的端口,例如上图选择了2个Quad,也就是8个通道的串行收发器,那么对应的d...
- 文章目录 写在前面正文快速认识实现方式一实现方式二 写在最后 写在前面 FPGA基础知识极简教程(9)讲到了七段数码管的显示Verilog设计,我们都知道,要在数码管上显示的数字,使用BCD编码是具有优势的(或者是最正确的)。拿数字时钟来说,如果你的时钟是12点,难道你会让数码管显示C? 如果你愿意如此,那就给自己家里安装一个这样的时钟吧! 如果... 文章目录 写在前面正文快速认识实现方式一实现方式二 写在最后 写在前面 FPGA基础知识极简教程(9)讲到了七段数码管的显示Verilog设计,我们都知道,要在数码管上显示的数字,使用BCD编码是具有优势的(或者是最正确的)。拿数字时钟来说,如果你的时钟是12点,难道你会让数码管显示C? 如果你愿意如此,那就给自己家里安装一个这样的时钟吧! 如果...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day1)
2025/03/29 周六 09:00-18:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(Day2)
2025/03/30 周日 09:00-12:00
华为开发者布道师
本次为期两天的课程将深入讲解OpenHarmony操作系统及其与星闪技术的结合应用,涵盖WS63E星闪开发板的详细介绍、“OpenHarmony+星闪”的创新实践、实验环境搭建以及编写首个“Hello World”程序等内容,旨在帮助学员全面掌握相关技术并进行实际操作
回顾中 -
从AI基础到昇腾:大模型初探、DeepSeek解析与昇腾入门
2025/04/02 周三 16:00-17:30
不易 / 华为云学堂技术讲师
昇腾是华为研发的AI芯片,其具有哪些能力?我们如何基于其进行开发?本期直播将从AI以及大模型基础知识开始,介绍人工智能核心概念、昇腾AI基础软硬件平台以及昇腾专区,旨在为零基础或入门级学习者搭建从AI基础知识到昇腾技术的完整学习路径。
回顾中
热门标签