![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA之道
文章平均质量分 87
小羊肖恩想
想创造点好东西的真芯工程师
展开
-
FPGA-跨时钟域问题的解决
FPGA 跨时钟域解决问题提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言解决跨时钟域问题的原理两级采样法握手法2.读入数据总结前言如果控制两个时钟域的信号没有关联,例如它们分别是由两个不同频率的晶振产生的,那么它们的相位可能经过上亿个周期才能对齐,甚至可能永远可对不起1,这种情况下,肯定会出现采样到不稳定态的问题。提解决跨时钟域问题的原理既然跨时钟域的问题称为隐患已经成为必然,所以我们需要用恰当的方法来确定当我们跨时钟域取信号的时候,当前时钟的有效沿不会采原创 2021-02-22 20:45:46 · 957 阅读 · 0 评论 -
FPGA-时钟域
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、时钟信号基本特征1.时钟信号基本特征参数介绍二、时钟信号的分类按来源分类三、时钟域1.时钟域的概念2.时钟树简介前言在时序逻辑中,正是时钟信号将各个存储单元中的数据一级、一级地推动下去,如果时钟信号突然停止,那么整个时序逻辑也将陷入瘫痪,因此时钟就好像时序逻辑的心跳一样,那么重要,却又那么平常的存在着。一、时钟信号基本特征1.时钟信号基本特征参数介绍时钟信号具有什么样的基本特征呢?对于一个时钟信号来说,最原创 2021-02-09 18:45:57 · 2243 阅读 · 1 评论 -
FPGA-竞争与冒险
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言单输入的组合逻辑多输入的组合逻辑(1)多个输入不同时变化(2)多个输入同时变化(3)仅有一个输入变化竞争与险象的讨论前提什么是竞争(1)门电路的开关特性(2)门电路的半开关特性(3)竞争的定义(4)险象的定义二、使用步骤1.引入库2.读入数据总结前言存在多个输出的组合逻辑也必然存在着和寄存器输出类似不稳定态问题,不过不幸的是,对于多输出的组合逻辑。若想避免其输出出现不稳定态,可不是利用格雷码这样的方法可以轻松解决的,这是原创 2021-02-08 20:50:57 · 634 阅读 · 0 评论 -
FPGA-数字电路的隐患
## Verilog 之数字电路的隐患文章目录前言数字电路中的隐患寄存器输出的不稳定态多触发器寄存器不稳定态对数字电路的影响特定状态下去除不稳定态的方法消除不稳定态的定理格雷码简介总结前言数字电路由于其自身的特点,总会出现一些隐患,有些隐患不会对FPGA设计造成影响,有些时候这个隐患是致命的,本章对隐患进行简单的介绍。寄存器输出的不稳定态不稳定态,指的就是不稳定的状态,请注意,寄存器输出的不稳定态并不是由于赋值冲突而导致的不确定态(即“X”状态),而是由于不同路径的延迟不一致所导原创 2021-02-06 14:59:50 · 369 阅读 · 0 评论 -
FPGA-赋值冲突
Verilog 语法(2)参数声明一致推荐在module 端口声明之前声明参数,在module例化语句的最开始的时候修改参数。module xxx#(parameter WIDTH=8)(input a,output b);xxx #(.WIDTH(4))三种描述方式1、结构化描述方式module example(input a,b,c,d;output o);wire tmp0,tmp1;XOR1 mo(.O(tmp0),.IO(a),.I1(b));XOR2 m1(.O(原创 2021-02-01 19:22:25 · 607 阅读 · 0 评论 -
FPGA-模块声明 数据类型
Verilog 基本语法一、 Verilog 只有一个部分,即module,称之为模块,模块的接口部分主要分为三个部分,即模块命名部分、参数声明部分和端口列表部分。(1)模块声明部分很简单,语法关键字是module,在空格后面跟随一个名字即可。(2) 参数声明部分关键字是parameter,parameter的作用主要有两个,一个是增加代码的可重用性,另一个是定义代码中的常量,增加代码可读性和方便代码修改。(3)端口列表部分,Verilog中的端口有三种分别是输入端口、输出端口、以及双向端口,i原创 2021-02-01 14:43:25 · 1250 阅读 · 0 评论