自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 FIFO深度计算

我们通常需要异步FIFO用作两个不同时钟域的模块之间的数据缓冲,确保不会丢失数据,只有在读速率快,写速率慢的时候,需要使用FIFO才能缓存来不及读取的数据。反之??通常因为读速率慢于写速率,慢的模块来不及读取的数据要被缓存下来,所以说,FIFO的工作模式应该是,数据突发写入的形式,Bursts。也就是隔一段时间突发的写一组数据。如果连续写入的话,因为读速率慢于写速率,FIFO肯定会写满,FIFO的深度就需要无穷大,才能确保数据不丢失。我们需要知道,读写频率,突发速率,突发长度进而确定FIFO的最小深度。

2021-05-10 13:18:54 509

转载 Verilog -- 无glitch时钟切换电路

Verilog – 无glitch时钟切换电路题目:用Verilog实现glitch free时钟切换电路。输入sel,clka,clkb,sel为1输出clka,sel为0输出clkb第一种纯组合逻辑module clk_select1(input clk1,input clk2,input

2021-04-26 20:40:26 563

转载 异步复位同步释放

异步复位同步释放一. 同步复位(by Crazybingo)1.代码module system_ctrl//==================<端口>==================================================(//globel clock ----------------------------------input wire clk , //时钟,50Mhzinput

2021-04-17 20:15:42 1123

原创 Verilog--CDC跨时钟域处理(快时钟域到慢时钟域)

Verilog--CDC跨时钟域处理(快时钟域到慢时钟域)CDC问题单比特信号的跨时钟域问题从快时钟域到慢时钟域从慢时钟域到快时钟域多比特信号的跨时钟域问题异步FIFO握手协议今天先写单比特信号从快时钟域到慢时钟域的方法,后续继续填坑CDC问题单比特信号的跨时钟域问题从快时钟域到慢时钟域设计思想  从慢时钟域到快时钟域通常使用打两拍的方法,这也适用于从快时钟域到慢时钟域时,但是如果当单比特信号持续时间小于快时钟域的一个周期时,需要用展宽信号再打两拍的方法。设计相关代码module Sync_

2021-04-17 19:06:47 6955 3

转载 verilog中case/casez/casex区别

verilog中case/casez/casex区别首先,一般性的常识是使用casez,强烈的建议不要使用casex,(虽然我没有这个常识)。这是为啥呢?待续。首先要明确的是’?‘代表的不是don’t care,而是’z’。这点一定要明确。再有就是case/casez/casex其实都是可综合的,这一点也要记住。好,再说区别case treats 'z' & 'x' as it iscasez treats 'z' as dont care casex treats

2021-04-08 10:42:40 1901

转载 verilog各类运算符与优先级关系

verilog各类运算符与优先级关系一、算术运算符 注意与高阻态相加减为未知态二、位运算符 注意~ain是对ain的按位取反运算;<<<是有符号移位运算三、缩减运算符 注意位运算符中~ain与缩减运算符的区别,位运算符最终还是得到与输入等长的结果,而缩减运算符最终得到单比特0、1、x的值。四、关系运算符五、等式运算符 注意逻辑相等“= =”和逻辑全等“===”的区别,逻辑全等对不定态与高阻态也要进行比较,当两个操作数完全一致时,其结果才为1,否则为0。六、逻

2021-04-07 21:40:28 3813

转载 VIVADO使用vscode实现实时纠错与自动补全等功能

VIVADO使用vscode实现实时纠错与自动补全等功能前言Xilinx的VIVADO这个玩意儿本身自带的代码编辑器的功能非常有限,只有简单的语法高亮和颜色区分。然而其他语言的eda一般都会有代码自动补全,实施纠错等功能,非常提升代码开发者的幸福感。怎么到verilog这就拉了跨呢。那怎么能让VIVADO也能拥有这些功能呢。于是我在网上查了一些资料后发现是可以解决这个问题的,我就来说明一下我利用vscode打造一个舒适有b格的verilog编写环境的流程吧q(≧▽≦q)准备工作安装VScode与Vi

2021-04-07 10:33:14 11311 2

原创 异步FIFO(格雷码实现)

异步FIFO(格雷码实现) 一、FIFIO简介  FIFO是一种现先进先出的数据缓冲器,特点是没有外部的读写地址。由于没有外部的地址信号,所以只能顺序的读写,而不能跳读。FIFO的读写是根据满和空信号设计写使能和读使能来写/读FIFO,当FIFO满的时候不可以往里面写、当FIFO空的时候不能读数据。读FIFO时,内部的读指针自动的加一,当写FIFO时写指针自动的加一。二、异步FIFO的用途1、使用异步FIFO可以在两个不同的时钟域之间快速而方便的传输数据,起到跨时钟域处理的作用。经常用于处理跨时钟

2021-04-02 19:42:30 4160

原创 简单的串并转换verilog

串并转换verilog实现1、串转并的实现原理数据从串行到并行,数据排列顺序是高位在前,可以用以下的编码方式实现:prl_temp <= {prl_temp , srl_in};其中,prl_temp是并行输出缓存寄存器,srl_in是串行输入数据。对一些有规定的串并转换,可以使用case语句判断实现。对一些复杂的串并转换可以使用状态机实现。这边使用第一种方式实现verilog实现代码module serial2paraller( input clk,

2021-03-30 09:47:15 5615

原创 Verilog奇数分频(个人总结)

Verilog奇数分频(个人总结) 奇数分频器跟偶数分频器一样,当计数器的值等于分频系数(加1或者减1)的一半或等于分频系数时,时钟信号翻转。奇数分频器分频原理如下图: 上图的分频系数是3,用一个计数器在上升沿计数,每次计数到1翻转一次,每次计数到3再翻转一次,然后周期重复得到信号clkp1,它的周期就是clk的3倍,但是它的占空比不是50%(占空比就是clk为高的时间占整个时钟周期的百分比)。奇数分频想通过计数器直接分频出占空比是50%的时钟是不可能的,必须要通过中间的临时波形,做一些逻辑“与”“或

2021-03-29 20:50:39 7697 1

转载 AHB、APB、AXI三种协议对比分析(AMBA总线)

一、AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance Bus) 高级高性能总线 ASB (Advanced System Bus) 高级系统总线 APB (Advanced Peripheral Bus) 高级外围总线 AXI (Advanced eXtensible Interface) 高级可拓展接口 这些内容加起来就定义出一套为了高性能SoC而设计

2021-03-25 15:02:39 8768 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除