【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,??戳此立抢??

赌博默示录第二季:基于FPGA的异步FIFO的实现

FPGA学习交流 ? 2018-06-21 11:15 ? 次阅读

揭秘微信赌博群 www.b03i.com.cn ????????大家好,又到了每日学习的时间了,今天我们来聊一聊基于FPGA的异步FIFO的实现。
? ? ? ?
? ? ? ?一、FIFO简介

? ? ? ?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。

? ? ? ?用途1:
? ? ? ?异步FIFO读写分别采用相互异步的不同时钟。在现代集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步FIFO是这个问题的一种简便、快捷的解决方案,使用异步FIFO可以在两个不同时钟系统之间快速而方便地传输实时数据。

? ? ? ?用途2:
? ? ? ?对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。

? ? ? ?二、分类
? ? ? ?同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作;
? ? ? ?异步FIFO是指读写时钟不一致,读写时钟是互相独立的。

? ? ? ?三、FIFO的常见参数
? ? ? ?FIFO的宽度:即FIFO一次读写操作的数据位;
? ? ? ?FIFO的深度:指的是FIFO可以存储多少个N位的数据(如果宽度为N)。
? ? ? ?满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。
? ? ? ?空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。
? ? ? ?读时钟:读操作所遵循的时钟,在每个时钟沿来临时读数据。
? ? ? ?写时钟:写操作所遵循的时钟,在每个时钟沿来临时写数据。

? ? ? ?读写指针的工作原理
? ? ? ?写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0)。
? ? ? ?读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0)

? ? ? ?FIFO的“空”/“满”检测
? ? ? ?FIFO设计的关键:产生可靠的FIFO读写指针和生成FIFO“空”/“满”状态标志。

? ? ? ?当读写指针相等时,表明FIFO为空,这种情况发生在复位操作时,或者当读指针读出FIFO中最后一个字后,追赶上了写指针时,如下图所示:
? ? ? ?123118sawxcouuaacy3ck4.png


? ? ? ?当读写指针再次相等时,表明FIFO为满,这种情况发生在,当写指针转了一圈,折回来(wrapped around)又追上了读指针,如下图:
? ? ? ?122509xslrjygkggjyghr5.png


? ? ? ?为了区分到底是满状态还是空状态,可以采用以下方法:

? ? ? ?方法1:在指针中添加一个额外的位(extra bit),当写指针增加并越过最后一个FIFO地址时,就将写指针这个未用的MSB加1,其它位回零。对读指针也进行同样的操作。此时,对于深度为2n的FIFO,需要的读/写指针位宽为(n+1)位,如对于深度为8的FIFO,需要采用4bit的计数器,0000~1000、1001~1111,MSB作为折回标志位,而低3位作为地址指针。

? ? ? ?* 如果两个指针的MSB不同,说明写指针比读指针多折回了一次;如r_addr=0000,而w_addr = 1000,为满。
? ? ? ?* 如果两个指针的MSB相同,则说明两个指针折回的次数相等。其余位相等,说明FIFO为空;

? ? ? ?3.二进制FIFO指针的考虑
? ? ? ?将一个二进制的计数值从一个时钟域同步到另一个时钟域的时候很容易出现问题,因为采用二进制计数器时所有位都可能同时变化,在同一个时钟沿同步多个信号的变化会产生亚稳态问题。而使用格雷码只有一位变化,因此在两个时钟域间同步多个位不会产生问题。所以需要一个二进制到gray码的转换电路,将地址值转换为相应的gray码,然后将该gray码同步到另一个时钟域进行对比,作为空满状态的检测。
? ? ? ?122509e29dmvv62g2bg4os.png


? ? ? ?4.
? ? ? ?使用gray码进行对比,如何判断“空”与“满”
? ? ? ?使用gray码解决了一个问题,但同时也带来另一个问题,即在格雷码域如何判断空与满。

? ? ? ?对于“空”的判断依然依据二者完全相等(包括MSB);

? ? ? ?而对于“满”的判断,如下图,由于gray码除了MSB外,具有镜像对称的特点,当读指针指向7,写指针指向8时,除了MSB,其余位皆相同,不能说它为满。因此不能单纯的只检测最高位了,在gray码上判断为满必须同时满足以下3条:

? ? ? ?* wptr和同步过来的rptr的MSB不相等,因为wptr必须比rptr多折回一次。
? ? ? ?* wptr与rptr的次高位不相等,如上图位置7和位置15,转化为二进制对应的是0111和1111,MSB不同说明多折回一次,111相同代表同一位置。
? ? ? ?* 剩下的其余位完全相等。
? ? ? ?122510vqu8elbujwakye4n.png
? ? ? ?
? ? ? ?5.总体实现
? ? ? ?系统的总体框图如下:
? ? ? ?122510pdyt99tfhddmob5t.png


? ? ? ?1)顶层??椤?br /> module AsyncFIFO
#(parameter ASIZE = 4, ? ?//地址位宽
? parameter DSIZE = 8) ? ?//数据位宽
(
? ?input ?[DSIZE-1:0] wdata,
? ?input ? ? ? ? ? ? ?winc, wclk, wrst_n, ?//写请求信号,写时钟,写复位
? ?input ? ? ? ? ? ? ?rinc, rclk, rrst_n, ?//读请求信号,读时钟,读复位
? ?output [DSIZE-1:0] rdata,
? ?output ? ? ? ? ? ? wfull,
? ?output ? ? ? ? ? ? rempty
);
wire [ASIZE-1:0] waddr, raddr;
wire [ASIZE:0] ? wptr, rptr, wq2_rptr, rq2_wptr; ? ? ? ?/************************************************************
* In order to perform FIFO full and FIFO empty tests using
* this FIFO style, the read and write pointers must be
* passed to the opposite clock domain for pointer comparison
*************************************************************/
/*在检测“满”或“空”状态之前,需要将指针同步到其它时钟域时,使用格雷码,可以降低同步过程中亚稳态出现的概率*/
sync_r2w I1_sync_r2w(
? ?.wq2_rptr(wq2_rptr),
? ?.rptr(rptr),
? ?.wclk(wclk),
? ?.wrst_n(wrst_n));
sync_w2r I2_sync_w2r (
? ?.rq2_wptr(rq2_wptr),
? ?.wptr(wptr),
? ?.rclk(rclk),
? ?.rrst_n(rrst_n));
/*
* ?DualRAM
*/
DualRAM #(DSIZE, ASIZE) I3_DualRAM(
? ?.rdata(rdata),
? ?.wdata(wdata),
? ?.waddr(waddr),
? ?.raddr(raddr),
? ?.wclken(winc),
? ?.wclk(wclk));
? ?
/*
* ?空、满比较逻辑
*/
rptr_empty #(ASIZE) I4_rptr_empty(
? ?.rempty(rempty),
? ?.raddr(raddr),
? ?.rptr(rptr),
? ?.rq2_wptr(rq2_wptr),
? ?.rinc(rinc),
? ?.rclk(rclk),
? ?.rrst_n(rrst_n));
wptr_full #(ASIZE) I5_wptr_full(
? ?.wfull(wfull),
? ?.waddr(waddr),
? ?.wptr(wptr),
? ?.wq2_rptr(wq2_rptr),
? ?.winc(winc),
? ?.wclk(wclk),
? ?.wrst_n(wrst_n));
endmodule

? ? ? ?2)DualRAM???br /> module DualRAM
#(
? ?parameter DATA_SIZE = 8, ? // 数据位宽
? ?parameter ADDR_SIZE = 4 ? // 地址位宽
)
(
? ?input ? ? ? ? ? ? ? ? ? ? ? wclken,wclk,
? ?input ? ? ?[ADDR_SIZE-1:0] ?raddr, ? ? //RAM read address
? ?input ? ? ?[ADDR_SIZE-1:0] ?waddr, ? ? //RAM write address
? ?input ? ? ?[DATA_SIZE-1:0] ?wdata, ? ?//data input
? ?output ? ? [DATA_SIZE-1:0] ?rdata ? ? ?//data output
); ? ?
localparam RAM_DEPTH = 1 << ADDR_SIZE; ? //RAM深度 = 2^ADDR_WIDTH
? ? ? ?reg [DATA_SIZE-1:0] Mem[RAM_DEPTH-1:0];
? ? ? [email protected](posedge wclk)
begin
? ? if(wclken)
? ? ? ? Mem[waddr] <= wdata;
end
assign rdata = ?Mem[raddr];
endmodule

3)同步???br /> module sync_r2w
#(parameter ADDRSIZE = 4)
(
? ?output reg [ADDRSIZE:0] wq2_rptr,
? ?input ? ? ?[ADDRSIZE:0] rptr,
? ?input ? ? ? ? ? ? ? ? ? ? ? wclk, wrst_n
);
reg [ADDRSIZE:0] wq1_rptr;
always @(posedge wclk or negedge wrst_n)
? ?if (!wrst_n)
? ? ? ?{wq2_rptr,wq1_rptr} <= 0;
? ?else
? ? ? ?{wq2_rptr,wq1_rptr} <= {wq1_rptr,rptr};
endmodule

4)同步???
module sync_w2r
#(parameter ADDRSIZE = 4)
(
? ?output reg ?[ADDRSIZE:0] rq2_wptr,
? ?input ? ? ? ? [ADDRSIZE:0] wptr,
? ?input ? ? ? ? rclk, rrst_n
); ? ? ? ?reg [ADDRSIZE:0] rq1_wptr;
always @(posedge rclk or negedge rrst_n)
? ?if (!rrst_n)
? ? ? ?{rq2_wptr,rq1_wptr} <= 0;
? ?else
? ? ? ?{rq2_wptr,rq1_wptr} <= {rq1_wptr,wptr};
endmodule

5)空判断逻辑
module rptr_empty
#(parameter ADDRSIZE = 4)
(
? ?output reg rempty,
? ?output ? ? [ADDRSIZE-1:0] raddr,
? ?output reg [ADDRSIZE :0] ?rptr,
? ?input ? ? ? [ADDRSIZE :0] rq2_wptr,
? ?input ? ? ? rinc, rclk, rrst_n);


reg ?[ADDRSIZE:0] rbin;
wire [ADDRSIZE:0] rgraynext, rbinnext;
wire ?rempty_val;
//-------------------
// GRAYSTYLE2 pointer: gray码读地址指针
//-------------------
always @(posedge rclk or negedge rrst_n)
? ?if (!rrst_n)
? ? ? ?begin
? ? ? ? ? ?rbin <= 0;
? ? ? ? ? ?rptr <= 0;
? ? ? ?end
? ?else
? ? ? ?begin
? ? ? ? ? ?rbin <= rbinnext ;
? ? ? ? ? ?rptr <= rgraynext;
? ? ? ?end
// gray码计数逻辑
assign rbinnext = !rempty ? (rbin + rinc) : rbin;
assign rgraynext = (rbinnext>>1) ^ rbinnext; ? ? ?//二进制到gray码的转换
? ? ? ?assign raddr = rbin[ADDRSIZE-1:0];
//---------------------------------------------------------------
// FIFO empty when the next rptr == synchronized wptr or on reset
//---------------------------------------------------------------
/*
* ? 读指针是一个n位的gray码计数器,比FIFO寻址所需的位宽大一位
* ? 当读指针和同步过来的写指针完全相等时(包括MSB),说明二者折回次数一致,FIFO为空
* ? ?
*/
assign rempty_val = (rgraynext == rq2_wptr);
? ? ? ?always @(posedge rclk or negedge rrst_n)
if (!rrst_n)
? ?rempty <= 1'b1;
else
? ?rempty <= rempty_val;
endmodule

6)满判断逻辑
module wptr_full
#(
? ?parameter ADDRSIZE = 4
)
(
? ?output reg ? ? ? ? ? ? ? ?wfull,
? ?output ? ? [ADDRSIZE-1:0] waddr,
? ?output reg [ADDRSIZE :0] ?wptr,
? ?input ? ? ?[ADDRSIZE :0] ?wq2_rptr,
? ?input ? ? ? ? ? ? ? ? ? ? winc, wclk, wrst_n); ? ? ? ?

reg ?[ADDRSIZE:0] wbin;
wire [ADDRSIZE:0] wgraynext, wbinnext;
wire wfull_val;
// GRAYSTYLE2 pointer
always @(posedge wclk or negedge wrst_n)
? ?if (!wrst_n)
? ?begin
? ? ? ?wbin <= 0;
? ? ? ?wptr <= 0;
? ?end
? ?else
? ?begin
? ? ? ?wbin <= wbinnext;
? ? ? ? wptr <= wgraynext;
? ?end
//gray 码计数逻辑 ? ?
assign wbinnext ?= !wfull ? wbin + winc : wbin;
assign wgraynext = (wbinnext>>1) ^ wbinnext;
? ? ? ?assign waddr = wbin[ADDRSIZE-1:0];
? ? ? ?/*由于满标志在写时钟域产生,因此比较安全的做法是将读指针同步到写时钟域*/
/**/
//------------------------------------------------------------------
// Simplified version of the three necessary full-tests:
// assign wfull_val=((wgnext[ADDRSIZE] !=wq2_rptr[ADDRSIZE] ) &&
// (wgnext[ADDRSIZE-1] !=wq2_rptr[ADDRSIZE-1]) &&
// (wgnext[ADDRSIZE-2:0]==wq2_rptr[ADDRSIZE-2:0]));
//------------------------------------------------------------------
assign wfull_val = (wgraynext=={~wq2_rptr[ADDRSIZE:ADDRSIZE-1],
? ? ? ? ? ? ? ? ? ?wq2_rptr[ADDRSIZE-2:0]});
always @(posedge wclk or negedge wrst_n)
if (!wrst_n)
? ?wfull <= 1'b0;
else
? ?wfull <= wfull_val;
endmodule

? ? ? ?在quartus中有异步FIFO IP核,为安全起见推荐使用IP核定制FIFO,本文的目的只是作为思路参考。

? ? ? ?今天就聊到这里,各位,加油。

收藏 人收藏
分享:

评论

相关推荐

基于FPGA实现频率和可调相位的DDS

从查找表读取出来的数据,经DA转换芯片可以直接输出进行滤波或其他操作,最后可使用示波器进行观察波形变....
发表于 02-17 11:12 ? 13次 阅读
基于FPGA实现频率和可调相位的DDS

Xilinx FPGA的电源设计详解

本篇主要介绍Xilinx FPGA的电源设计,主要包括电源种类、电压要求、功耗需求,上下电时序要求,....
发表于 02-17 11:03 ? 18次 阅读
Xilinx FPGA的电源设计详解

Xilinx原语ODDR概述和使用

OLOGIC块在FPGA内的位置紧挨着IOB,其作用是FPGA通过IOB发送数据到器件外部的专用同步....
发表于 02-17 10:55 ? 18次 阅读
Xilinx原语ODDR概述和使用

FPGA复位设计常见问题及处理方法

一开始接触到FPGA,肯定都知道”复位“,即简单又复杂。简单是因为初学时,只需要按照固定的套路——按....
发表于 02-17 10:49 ? 13次 阅读
FPGA复位设计常见问题及处理方法

浅析FPGA中的“门”的区别

在ASIC的世界里,衡量器件容量的常用标准是等效门。这是因为不同的厂商在单元库里提供了不同的功能???...
发表于 02-16 09:31 ? 29次 阅读
浅析FPGA中的“门”的区别

FPGA的不同年龄段有什么区别

事情的发展真是太快了。今天,FPGA已经是最令人激动的器件类型之一。除了具有可编程的体系结构外(正是....
发表于 02-16 09:20 ? 40次 阅读
FPGA的不同年龄段有什么区别

spartan-6 FPGA的配置资料说明

本文档的主要内容详细介绍的是spartan-6 FPGA的配置资料说明。
发表于 02-15 16:39 ? 13次 阅读
spartan-6 FPGA的配置资料说明

spartan-6 FPGA中可用的输入输出特性和逻辑资源资料免费下载

第1章,Selectio Resources描述了输出驱动器和输入接收器的电气行为,并给出了许多标准....
发表于 02-15 16:39 ? 24次 阅读
spartan-6 FPGA中可用的输入输出特性和逻辑资源资料免费下载

spartan-6 FPGA的时钟资源的用户指南资料免费下载

本文档的主要内容详细介绍的是spartan-6 FPGA的时钟资源的用户指南资料免费下载。
发表于 02-15 16:39 ? 17次 阅读
spartan-6 FPGA的时钟资源的用户指南资料免费下载

Spartan-6 FPGA块RAM的技术参考资料免费下载

本指南是描述所有Spartan-6 FPGA中可用的Spartan?6 FPGA块RAM的技术参考。....
发表于 02-15 16:38 ? 16次 阅读
Spartan-6 FPGA块RAM的技术参考资料免费下载

spartan-6 FPGA可配置逻辑块的用户指南资料免费下载

本文档的主要内容详细介绍的是spartan-6 FPGA可配置逻辑块的用户指南资料免费下载。
发表于 02-15 16:38 ? 20次 阅读
spartan-6 FPGA可配置逻辑块的用户指南资料免费下载

FPGA设计中层次结构设计和复位策略影响着FPGA的时序

FPGA设计中,层次结构设计和复位策略影响着FPGA的时序。在高速设计时,合理的层次结构设计与正确的....
发表于 02-15 15:15 ? 50次 阅读
FPGA设计中层次结构设计和复位策略影响着FPGA的时序

浅析如何评估FPGA的资源

在使用FPGA过程中,通常需要对资源做出评估,下面简单谈谈如何评估FPGA的资源。
发表于 02-15 15:09 ? 39次 阅读
浅析如何评估FPGA的资源

学习SDRAM控制器设计 能让你掌握很多FPGA知识

在学习FPGA的过程中,注意是在学习过程中,联系FPGA的使用技巧,强烈建议尝试设计一个SDRAM控....
发表于 02-15 15:04 ? 77次 阅读
学习SDRAM控制器设计 能让你掌握很多FPGA知识

spartan-6 FPGA PCB设计和引脚规划指南

本指南提供了有关Spartan?6设备的PCB设计的信息,重点介绍在PCB和接口级别做出设计决策的策....
发表于 02-15 14:56 ? 30次 阅读
spartan-6 FPGA PCB设计和引脚规划指南

如何在spartan-6 FPGA中使用GTP收发器的详细资料说明

本文档介绍如何在Spartan?6 FPGA中使用GTP收发器。?spartan-6 FPGA GT....
发表于 02-15 14:42 ? 15次 阅读
如何在spartan-6 FPGA中使用GTP收发器的详细资料说明

spartan-6 FPGA DSP48A1芯片的详细资料介绍

本用户指南详细介绍了Spartan?6 FPGA中DSP48A1芯片的功能。 本章提供了Spart....
发表于 02-15 14:42 ? 28次 阅读
spartan-6 FPGA DSP48A1芯片的详细资料介绍

spartan-6 FPGA的设备引出线和包装规格介绍

本文档的主要内容详细介绍的是spartan-6 FPGA的设备引出线和包装规格介绍。
发表于 02-15 14:42 ? 14次 阅读
spartan-6 FPGA的设备引出线和包装规格介绍

coregen如何产生核心

coregen如何产生核心并使用它的重要性是什么? 有什么步骤,请像我一样指导 newbie.I生成了fifo核心但不了解接下来的步骤,以...
发表于 02-15 11:51 ? 34次 阅读
coregen如何产生核心

请问能提供FPGA开发板上建立JESD204与AD9164链路的示例设计吗

我在FPGA开发板上可以建立链路,能够抓到204这边的波形。但是在AD9164那边的软件上的寄存器显示的是没有建立链路。请问这是...
发表于 02-15 08:58 ? 3次 阅读
请问能提供FPGA开发板上建立JESD204与AD9164链路的示例设计吗

请问dds芯片ad9910无输出是时序问题吗?

工程师,您好,我用fpga的max10芯片控制ad9910的cs,sclk,io_updtae,osk,profile0-2,pwr,txen,sdio引脚,可是ad9910一直输出直流...
发表于 02-15 06:47 ? 37次 阅读
请问dds芯片ad9910无输出是时序问题吗?

怎么将DDR3SDRAM连接到fpga

嗨,任何1可以帮我写一个代码,用于连接DDR3 SDRAM内存和Virtex6 fpga。 实际上我有一个小疑问,通过MIG我可以为此...
发表于 02-15 06:36 ? 18次 阅读
怎么将DDR3SDRAM连接到fpga

FPGA数字密码锁设计

十二、数字密码锁设计 本文由山东大学研友袁卓贡献,特此感谢 实验目的 实现数字密码锁设计,要求矩阵按键输出且数码管显示输...
发表于 02-15 06:35 ? 56次 阅读
FPGA数字密码锁设计

【PYNQ-Z2试用体验】玩转PYNQ系列:四、PYNQ数字图像处理之空域处理

本文紧接上一篇“PYNQ数字图像处理之图像采集”,主要介绍使用PYNQ-Z2开发板中的Python框架实现对图像进行空域处理方法...
发表于 02-14 20:55 ? 150次 阅读
【PYNQ-Z2试用体验】玩转PYNQ系列:四、PYNQ数字图像处理之空域处理

spartan-6 FPGA电源管理的用户指南资料免费下载

本文介绍了Spartan-6 FPGA中电源管理的各种硬件方法,主要介绍了暂停模式。其他电源管理主题....
发表于 02-14 17:33 ? 28次 阅读
spartan-6 FPGA电源管理的用户指南资料免费下载

浅谈Zynq7000 FPGA引脚功能有哪些

Zynq7000系列引脚的分类是确定的,而各类引脚的数目则因芯片封装的不同而不同,(为了便于理解,本....
发表于 02-14 17:12 ? 48次 阅读
浅谈Zynq7000 FPGA引脚功能有哪些

Xilinx的DSP和FPGA设备的数据表修改资料说明

本通知的目的是向Xilinx Automotive(XA)Spartan?-3A和Spartan-3....
发表于 02-14 17:11 ? 21次 阅读
Xilinx的DSP和FPGA设备的数据表修改资料说明

Xilinx的XA Spartan-6系列FPGA产品规格数据手册免费下载

Xilinx Automotive(XA)Spartan?-6系列FPGA提供了领先的系统集成功能,....
发表于 02-14 16:19 ? 22次 阅读
Xilinx的XA Spartan-6系列FPGA产品规格数据手册免费下载

Xilinx要停止生产汽车FPGA PQ(G)208的包装产品你了解吗

本通知的目的是告知Xilinx将停止生产汽车(XA)Spartan?-3/-3e FPGA PQ(G....
发表于 02-14 16:19 ? 16次 阅读
Xilinx要停止生产汽车FPGA PQ(G)208的包装产品你了解吗

Xilinx的汽车FPGA产品封装类型从金到铜的资料说明

本通知的目的是宣布汽车“xa”spartan?-3/-3e/-3a/-3a DSP和spartan?....
发表于 02-14 16:19 ? 130次 阅读
Xilinx的汽车FPGA产品封装类型从金到铜的资料说明

FPGA对微型打印机的驱动设计

RDDH型微型打印机采用热敏加热点阵打印方式,是一款体积小,打印速度快的打印输出设备。该型打印机可采....
发表于 02-14 15:17 ? 38次 阅读
FPGA对微型打印机的驱动设计

ad7655总是烧坏

我是用fpga来控制ad7655的 前置电路用的是,ad8021接成电压跟随器的方式。ad8021是正负12V供电。其中4号脚与5号脚的电容,按照...
发表于 02-14 14:55 ? 21次 阅读
ad7655总是烧坏

关于利用FPGA做图像处理的相关知识盘点

用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,能达到最高的实时性。因此在一....
发表于 02-14 14:33 ? 59次 阅读
关于利用FPGA做图像处理的相关知识盘点

当FPGA复位扇出较多时 有以下办法可以解决

xilinx推荐尽量不复位,利用上电初始化,如果使用过程中需要复位,采用同步高复位。
发表于 02-14 14:29 ? 43次 阅读
当FPGA复位扇出较多时 有以下办法可以解决

想要实现FPGA的CNN加速 需要考虑以下内容

网上对于FPGACNN加速的研究已经很多了,神经网络的硬件加速似乎已经满大街都是了,这里我们暂且不讨....
发表于 02-14 14:25 ? 30次 阅读
想要实现FPGA的CNN加速 需要考虑以下内容

关于FPGA学习过程中的一些理论知识浅析

学习FPGA,先要有数电知识,最好有点C语言,,学好硬件描述语言,verilog或者vhdl。在有这....
发表于 02-14 14:24 ? 59次 阅读
关于FPGA学习过程中的一些理论知识浅析

在这个强调智能与联网的时代 FPGA已经成为一个重要且不可或缺的元件

在这个强调智能与联网的时代,可编程逻辑栅阵列 (FPGA)已经成为一个重要且不可或缺的元件。以全球5....
发表于 02-14 14:12 ? 104次 阅读
在这个强调智能与联网的时代 FPGA已经成为一个重要且不可或缺的元件

怎么延迟PWM带宽为100MHz

嗨,我会延迟PWM带宽为100MHz,周期为2e-6秒(2微秒)。 总延迟时间为1e-6秒。我将使用具有250 MHz或320 MHz时钟的FP...
发表于 02-14 11:29 ? 21次 阅读
怎么延迟PWM带宽为100MHz

中途向ICAP中止写入部分比特流

嗨, 我正在尝试部分自我重新配置。 想法是通过介质将部分比特流发送到FPGA。 FPGA接收它(在多个块中)并将比特流写...
发表于 02-14 09:40 ? 39次 阅读
中途向ICAP中止写入部分比特流

FPGA串口调试不能正常接收

FPGA自己写了一个串口程序,串口助手能一个8位自己发送,但是在串口中发一连串数据时,不能正常接收,谁能提供一个完好的,经...
发表于 02-14 06:35 ? 52次 阅读
FPGA串口调试不能正常接收

MYC-C7Z010和MYC-C7Z020开发板的CPU??樽柿厦夥严略?/a>

myc-c7z010/20 CPU??槭且桓龌趜ynq的Linux就绪SOM(??樯系南低常?,可用....
发表于 02-13 17:49 ? 43次 阅读
MYC-C7Z010和MYC-C7Z020开发板的CPU??樽柿厦夥严略? />    </a>
</div><div class=

MYD-C7Z010和MYD-C7Z020开发板的产品用户手册免费下载

MYD-C7Z010/20 开发板是由MYC-C7Z010/20 核心板加MYB-C7Z010/20....
发表于 02-13 17:49 ? 22次 阅读
MYD-C7Z010和MYD-C7Z020开发板的产品用户手册免费下载

Altium designer批量导入引脚的详细资料说明

随着集成电路的发展,芯片的管脚数量越来越多。比如xilinx V6 系列的FPGA 芯片动辄上千管脚....
发表于 02-13 17:18 ? 34次 阅读
Altium designer批量导入引脚的详细资料说明

xilinx的FPGA芯片选型手册免费下载

本文档的主要内容详细介绍的是xilinx的FPGA芯片选型手册免费下载
发表于 02-13 17:16 ? 37次 阅读
xilinx的FPGA芯片选型手册免费下载

新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

虽然FPGA的传统用户是硬件设计者,但是赛灵思的新型嵌入式设计平台,使得软件开发人员也能够在熟悉的环....
发表于 02-13 16:07 ? 83次 阅读
新型嵌入式开发套件可最大限度地缩短开发时间 提高人员的工作效率

FPGA SoC通过融合FPGA和ASIC 跨越了灵活性和性能之间的界限

FPGA SoC通过融合FPGA和ASIC两者的元件,跨越了灵活性和性能之间的界限。但随着它们进入高....
发表于 02-13 15:58 ? 67次 阅读
FPGA SoC通过融合FPGA和ASIC 跨越了灵活性和性能之间的界限

中国既是FPGA的重要应用市场 也在FPGA产业上具有一定的基础

作为四大通用集成电路芯片之一,FPGA(现场可编程门阵列)的重要性与CPU、存储器、DSP齐平。特别....
发表于 02-13 15:51 ? 108次 阅读
中国既是FPGA的重要应用市场 也在FPGA产业上具有一定的基础

利用FPGA设计工具减少设计周期时间和降低风险

推出的FPGA设计工具集搭配Zynq UltraScale+ RFSoC会提供所有生产用的IP以及一....
的头像 FPGA开发圈 发表于 02-13 10:53 ? 678次 阅读
利用FPGA设计工具减少设计周期时间和降低风险

xc7z020和xc7z010 FPGA芯片的电路原理图免费下载

本文档的主要内容详细介绍的是xc7z020和xc7z010 FPGA芯片的电路原理图免费下载。
发表于 02-12 17:20 ? 46次 阅读
xc7z020和xc7z010 FPGA芯片的电路原理图免费下载

Z-turn Board可编程逻辑中文开发手册资料免费下载

Vivado 是Xilinx 公司针对旗下SoC 全系列产品线推出的一款新一代高度集成的开发套 件,....
发表于 02-12 16:07 ? 30次 阅读
Z-turn Board可编程逻辑中文开发手册资料免费下载

Zynq-7000系列产品器件说明

赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列。旨在为视频监视、汽车驾驶员辅助....
发表于 02-12 16:07 ? 35次 阅读
Zynq-7000系列产品器件说明

Zynq-7000全可编程SoC系列产品的规格数据手册免费下载

Zynq7000系列基于Xilinx全可编程SoC架构。这些产品在单个设备中集成了功能丰富的双核AR....
发表于 02-12 16:07 ? 31次 阅读
Zynq-7000全可编程SoC系列产品的规格数据手册免费下载

随着技术的进步 在FPGA中实现信号处理算法成为有吸引力的替代方案

过去十几年,通信与多媒体技术的快速发展极大地扩展了数字信号处理(DSP)的应用范围。眼下正在发生的是....
发表于 02-12 15:42 ? 132次 阅读
随着技术的进步 在FPGA中实现信号处理算法成为有吸引力的替代方案

在高速的AD转换中 FPGA承担着不可替代的作用

AD转换,也叫模数转换,是将模拟信号转换为数字信号。目前包括电脑CPU,ARM,FPGA,处理的信号....
发表于 02-12 15:37 ? 74次 阅读
在高速的AD转换中 FPGA承担着不可替代的作用

MYC-C7Z010和20嵌入式SoC核心板的数据手册免费下载

MYC-C7Z010/20 是深圳市米尔科技有限公司推出的一款以Xilinx Zynq-7010/7....
发表于 02-11 17:48 ? 34次 阅读
MYC-C7Z010和20嵌入式SoC核心板的数据手册免费下载

Z-turn Board开发板的产品用户手册免费下载

Z-turn Board是深圳市米尔科技有限公司推出的一款以Xilinx Zynq-7010 (兼容....
发表于 02-11 17:47 ? 39次 阅读
Z-turn Board开发板的产品用户手册免费下载

TB-7Z-020-EMC开发板UART以及RTC测试

从TB-7Z-020-EMC板载的资源情况来看,板卡功能还是非常强大的,包括了1GB的DDR3 SD....
发表于 02-11 17:31 ? 59次 阅读
TB-7Z-020-EMC开发板UART以及RTC测试

如何学习FPGA学习FPGA的一些建议和总结资料合集

有些人比较差,做了一些介绍,有误导成分。有些人水平太高,介绍的很好,但是很多人依旧听不懂,得到的肯定....
发表于 02-11 16:50 ? 62次 阅读
如何学习FPGA学习FPGA的一些建议和总结资料合集

Verilog HDL入门教程

本文主要介绍了Verilog HDL 语言的一些基本知识,目的是使初学者能够迅速掌握HDL 设计方法....
发表于 02-11 08:00 ? 48次 阅读
Verilog HDL入门教程

提升10纳米产能 英特尔投10亿美元扩建三大工厂

2018年,英特尔的产能可以说一再受到挑战,市场上也出现了非常严重的缺货情况。为了解决这一问题,英特....
发表于 02-07 09:51 ? 485次 阅读
提升10纳米产能 英特尔投10亿美元扩建三大工厂

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 ? 23次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小?;て荡嵘阅?,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 ? 27次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器
  • 池莉:她构建了一座叫“生活”的城 2018-12-13
  • GreatNews The Intelligent RSS Reader 2018-12-13
  • 285| 423| 916| 983| 333| 22| 194| 522| 120| 347|