- 文章目录 前言提高设计的自测性增加测试管脚状态寄存器集虚拟示波器ChipScope&SignalTap自己编写VirtualScope 编写激励发生测试模块 前言 本文节选自《FPGA之道》。 提高设计的自测性 也许在FPGA设计的板级测试之前,我们已经做了充分的功能和时序仿真,但是仿真毕竟是仿真,它与实际情况之间还是或多或少的存在一定的... 文章目录 前言提高设计的自测性增加测试管脚状态寄存器集虚拟示波器ChipScope&SignalTap自己编写VirtualScope 编写激励发生测试模块 前言 本文节选自《FPGA之道》。 提高设计的自测性 也许在FPGA设计的板级测试之前,我们已经做了充分的功能和时序仿真,但是仿真毕竟是仿真,它与实际情况之间还是或多或少的存在一定的...
- 文章目录 前言多比特信号跨时钟域处理的场景与方案MUX同步器参考资料 前言 信号的跨时钟传输的方法很多,在上篇专栏中,就说了两种有关单比特脉冲信号的跨时钟域传输问题,FPGA逻辑设计回顾(4)亚稳态与单比特脉冲信号的CDC处理问题,建议大家看看,后面我还会扩展更多的方法。本篇承接上一篇文章,和单比特有点关系,但是是一种处理多比特信号的跨时钟域方... 文章目录 前言多比特信号跨时钟域处理的场景与方案MUX同步器参考资料 前言 信号的跨时钟传输的方法很多,在上篇专栏中,就说了两种有关单比特脉冲信号的跨时钟域传输问题,FPGA逻辑设计回顾(4)亚稳态与单比特脉冲信号的CDC处理问题,建议大家看看,后面我还会扩展更多的方法。本篇承接上一篇文章,和单比特有点关系,但是是一种处理多比特信号的跨时钟域方...
- 前言 本文首发:FPGA的设计艺术(3)静态时序分析,我的易百纳技术社区专栏。 同行邀请消息:FPGA/IC Technology Exchange 什么是静态时序分析(STA)? 静态时序分析介绍 静态时序分析(STA)是一种通过检查所有可能的路径是否存在时序违规来验证设计时序性能的方法。 STA将设计分解为时序路径,计算沿每个路径的信号传播延迟,并检查设计... 前言 本文首发:FPGA的设计艺术(3)静态时序分析,我的易百纳技术社区专栏。 同行邀请消息:FPGA/IC Technology Exchange 什么是静态时序分析(STA)? 静态时序分析介绍 静态时序分析(STA)是一种通过检查所有可能的路径是否存在时序违规来验证设计时序性能的方法。 STA将设计分解为时序路径,计算沿每个路径的信号传播延迟,并检查设计...
- 博文目录 写在前面正文什么是D锁存器?锁存器是如何生成的?如何避免生成锁存器? 参考资料交个朋友 写在前面 个人微信公众号: FPGA LAB个人博客首页注:学习交流使用! 本文我们将讨论两个问题: 什么是锁存器?如何避免生成锁存器? 正文 在FPGA设计中永远不要使用锁存器!但好像没人在FPGA设计中故意设计锁存器,那为什么要讨论锁... 博文目录 写在前面正文什么是D锁存器?锁存器是如何生成的?如何避免生成锁存器? 参考资料交个朋友 写在前面 个人微信公众号: FPGA LAB个人博客首页注:学习交流使用! 本文我们将讨论两个问题: 什么是锁存器?如何避免生成锁存器? 正文 在FPGA设计中永远不要使用锁存器!但好像没人在FPGA设计中故意设计锁存器,那为什么要讨论锁...
- 前言 本文首发:FPGA的设计艺术(5)STA实战之时钟偏斜对建立保持时间的影响以及时序报告分析。 STA回顾 70年代的时序是通过Spice仿真执行的。80年代的时序包括在Verilog仿真中,以确定设计是否足够快。两种方法都存在两个问题(动态时序): 1)分析仅与仿真一样–仅在仿真执行的情况下才发现问题 2)逻辑仿真慢5到10倍 静态时序更全面,通过计算设计... 前言 本文首发:FPGA的设计艺术(5)STA实战之时钟偏斜对建立保持时间的影响以及时序报告分析。 STA回顾 70年代的时序是通过Spice仿真执行的。80年代的时序包括在Verilog仿真中,以确定设计是否足够快。两种方法都存在两个问题(动态时序): 1)分析仅与仿真一样–仅在仿真执行的情况下才发现问题 2)逻辑仿真慢5到10倍 静态时序更全面,通过计算设计...
- 文章目录 前言FPGA设计的上板调试“实践是检验真理的唯一标准”如何解决问题如何找到问题“时间是检验真理的第二标准” 项目总结、备份与后期维护 前言 上板调试几乎是项目的尾声了,这一步是检验最终成果的时候,可是这一步却不像想象的那么容易,耗时耗力,莫名其妙的bug折磨着你,考验FPGA开发者的心智。再加上抱怨,可能会导致一个人的崩溃。哈哈,本人就曾被... 文章目录 前言FPGA设计的上板调试“实践是检验真理的唯一标准”如何解决问题如何找到问题“时间是检验真理的第二标准” 项目总结、备份与后期维护 前言 上板调试几乎是项目的尾声了,这一步是检验最终成果的时候,可是这一步却不像想象的那么容易,耗时耗力,莫名其妙的bug折磨着你,考验FPGA开发者的心智。再加上抱怨,可能会导致一个人的崩溃。哈哈,本人就曾被...
- 文章目录 前言提高设计的重用性构建自己的IP库提高设计的易改性常量参数化模块设计结构参数化模块设计总线参数化规模参数化功能参数化 参数化设计的参数管理与组织参数相关性可传递的模块参数化例化参数文件结构 前言 本文节选自《FPGA之道》。 提高设计的重用性 如果打算长期从事FPGA项目开发的话,那么你总不希望自己之前花了那么多精力编写、仿真... 文章目录 前言提高设计的重用性构建自己的IP库提高设计的易改性常量参数化模块设计结构参数化模块设计总线参数化规模参数化功能参数化 参数化设计的参数管理与组织参数相关性可传递的模块参数化例化参数文件结构 前言 本文节选自《FPGA之道》。 提高设计的重用性 如果打算长期从事FPGA项目开发的话,那么你总不希望自己之前花了那么多精力编写、仿真...
- 博文目录 写在前面正文原理Verilog实现仿真测试代码提示 参考资料交个朋友 写在前面 相关博文 博客首页 注:学习交流使用! 正文 原理 线性反馈移位寄存器(LFSR)的英文全称为:Linear Feedback Shift Register。 赛灵思公司的高速串口IP核示例程序经常以LFSR为例,例如Aurora IP的例子程序: /... 博文目录 写在前面正文原理Verilog实现仿真测试代码提示 参考资料交个朋友 写在前面 相关博文 博客首页 注:学习交流使用! 正文 原理 线性反馈移位寄存器(LFSR)的英文全称为:Linear Feedback Shift Register。 赛灵思公司的高速串口IP核示例程序经常以LFSR为例,例如Aurora IP的例子程序: /...
- 前言 注:本文首发自FPGA逻辑设计回顾(1)新手易犯的逻辑综合错误之always块 本文中用到了如下的小标题: “心中有路”与综合推断“心中无路”与无从推断 这里所谓的路就是电路的意思,意思是逻辑工程师使用Verilog设计电路时要注重硬件思维,而不是软件编程。 心中有电路,在你使用RTL语言设计电路的时候,才能设计出综合工具能够推断出的具体硬件电路与之对应,... 前言 注:本文首发自FPGA逻辑设计回顾(1)新手易犯的逻辑综合错误之always块 本文中用到了如下的小标题: “心中有路”与综合推断“心中无路”与无从推断 这里所谓的路就是电路的意思,意思是逻辑工程师使用Verilog设计电路时要注重硬件思维,而不是软件编程。 心中有电路,在你使用RTL语言设计电路的时候,才能设计出综合工具能够推断出的具体硬件电路与之对应,...
- 文章目录 前言HDL中的常用约束示例保持约束keepkeep_hierarchy 前言 这一节的内容很有意思也很有用,对于我们主动地操作我们的Verilog代码很有帮助。众所周知,通过设置工具的综合策略,实现策略等也可以实现对综合以及实现的操作,但这是对于整体地、宏观地操作,如果我们需要对其中的某些模块,某些功能进行操作,使其按照我们的想法来综合、实... 文章目录 前言HDL中的常用约束示例保持约束keepkeep_hierarchy 前言 这一节的内容很有意思也很有用,对于我们主动地操作我们的Verilog代码很有帮助。众所周知,通过设置工具的综合策略,实现策略等也可以实现对综合以及实现的操作,但这是对于整体地、宏观地操作,如果我们需要对其中的某些模块,某些功能进行操作,使其按照我们的想法来综合、实...
- 文章目录 前言DDR的前世SDRAMDDR的今生以及演变版本:DDR/DDR2/DDR3DDR/DDR2/DDR3/DDR4之间简单对比速度对比电压对比延迟对比预取差异电阻端接对比物理方面对比 前言 本篇作为有关DDR的相关知识的第一篇,先给出DDR的前生SDRAM以及演变DDR/DDR2/DDR3等的总体概念与区别,后面会细分技术细节。文章... 文章目录 前言DDR的前世SDRAMDDR的今生以及演变版本:DDR/DDR2/DDR3DDR/DDR2/DDR3/DDR4之间简单对比速度对比电压对比延迟对比预取差异电阻端接对比物理方面对比 前言 本篇作为有关DDR的相关知识的第一篇,先给出DDR的前生SDRAM以及演变DDR/DDR2/DDR3等的总体概念与区别,后面会细分技术细节。文章...
- 文章目录 写在前面正文宏定义文件包含条件编译条件生成语句问题回顾 参考资料交个朋友 写在前面 相关博文 博客首页 注:学习交流使用! 正文 看稍微复杂一点的IP Core以及模块等 ,都会遇到大量的编译预处理语句,它和参数定义语句通常都是为了模块复用以及增强代码可读性等等。 `define 与localparam和parameter最大的区别就... 文章目录 写在前面正文宏定义文件包含条件编译条件生成语句问题回顾 参考资料交个朋友 写在前面 相关博文 博客首页 注:学习交流使用! 正文 看稍微复杂一点的IP Core以及模块等 ,都会遇到大量的编译预处理语句,它和参数定义语句通常都是为了模块复用以及增强代码可读性等等。 `define 与localparam和parameter最大的区别就...
- 文章目录 前言正确的变量访问思路变量访问思路概述访问思路简述写变量注意事项读变量注意事项 赋值冲突两个以上并行语句赋值冲突两个以上串行语句赋值冲突组合并行语句内串行语句的赋值冲突时序并行语句内串行语句的赋值冲突利用赋值冲突编写代码 总线是怎么回事?总线的基本概念介绍总线实现形式之选择器原理简介示例代码 总线实现形式之三态门原理简介赋值冲突?示例代码 ... 文章目录 前言正确的变量访问思路变量访问思路概述访问思路简述写变量注意事项读变量注意事项 赋值冲突两个以上并行语句赋值冲突两个以上串行语句赋值冲突组合并行语句内串行语句的赋值冲突时序并行语句内串行语句的赋值冲突利用赋值冲突编写代码 总线是怎么回事?总线的基本概念介绍总线实现形式之选择器原理简介示例代码 总线实现形式之三态门原理简介赋值冲突?示例代码 ...
- 文章目录 前言FPGA芯片的配置方法主动配置模式被动配置模式JTAG配置模式 前言 Xilinx公司FPGA芯片的配置方法在调试阶段可以通过JTAG的方式将bit流文件烧写(编程)进FPGA芯片进行配置,当硬件设计成熟后可以通过固话进Flash的方式进行开机自启。 至于为什么固化进Flash里面即可实现开机自启,下面的内容会给出回答。 如果产品... 文章目录 前言FPGA芯片的配置方法主动配置模式被动配置模式JTAG配置模式 前言 Xilinx公司FPGA芯片的配置方法在调试阶段可以通过JTAG的方式将bit流文件烧写(编程)进FPGA芯片进行配置,当硬件设计成熟后可以通过固话进Flash的方式进行开机自启。 至于为什么固化进Flash里面即可实现开机自启,下面的内容会给出回答。 如果产品...
- 前言 大家都知道HDL是逻辑设计的语言,FPGA开发是一种硬件开发的行为,但由于我们平时也使用某种类似软件的方式管理项目,并且类似软件的行为来编码,大多数人还是会误会?你是不是在搞软件? 对于这种问题,我从来都是尴尬一笑,我是做逻辑的。或者说我是做FPGA开发的?但貌似这种回答并不能说明什么问题?我明明看到你在写代码,你三个大屏幕上都是密密麻麻的代码,这是做硬件或者... 前言 大家都知道HDL是逻辑设计的语言,FPGA开发是一种硬件开发的行为,但由于我们平时也使用某种类似软件的方式管理项目,并且类似软件的行为来编码,大多数人还是会误会?你是不是在搞软件? 对于这种问题,我从来都是尴尬一笑,我是做逻辑的。或者说我是做FPGA开发的?但貌似这种回答并不能说明什么问题?我明明看到你在写代码,你三个大屏幕上都是密密麻麻的代码,这是做硬件或者...
上滑加载中
推荐直播
-
基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战(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基础知识到昇腾技术的完整学习路径。
回顾中
热门标签