prog_full-100

问题描述:使用XILINX的FIFO IPcore遇到的问题 大家好,给大家分享一下一个有趣的事情,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

FPGA xilinx FIFO prog_empty做什么用的?设定的值具体有什么意义?

prog_full-100的相关图片

有可能你之后写入的数据就已经是全0了,用一个方法确定,你把输入连到一个常数上,如果到最后有数据输出就说明是对的,要是没数据输出就说明是错的,一般来说FIFO IP核没有问题的,用了好多次了。

fpgaip核最多的相关图片

fpgaip核最多

empty,表示绝对的空,其作用是告诉你fifo里没数据了;

prog_empty,表示可设置的相对的空,作用是告诉你fifo的数据个数不足一定量,暂时不可操作,等达到一定量后,才可以一次性操作。

举个例子,你的上层每次必须要从fifo里一次性拿100个数据才可以进行后续操作,那么你的prog_empty的门限就要设为100以上,这样prog_empty不使能,就代表fifo里至少有100个数据,这样上层保证可以连续读出100个数据。

P43 Neo3-F 怎么刷BIOS?会刷BIOS的进来看看!的相关图片

P43 Neo3-F 怎么刷BIOS?会刷BIOS的进来看看!

一、背景

FIFO是FPGA项目中使用最多的IP核,一个项目使用几个,甚至是几十个FIFO都是很正常的。通常情况下,每个FIFO的参数,特别是位宽和深度,是不同的。

明德扬(MDY)在2021年承担了多个基于XILINX芯片的研发项目,包括VPX网络透明传输项目(芯片为XC7K325T-2FBG900)、某高端测试仪项目(芯片为XCKU060-FFVA1156)、某网闸设备项目(芯片为XC7Z030-FBG676)等,另外,明德扬自研了基于XC7K325T-2FBG900和基于XC7K410T-2FBG900芯片的核心板,在XILINX研发领域拥有丰富的经验。

这些项目都必须用到FIFO。如果按照通常做法,每种位宽和深度的IP,都要打开FIFO IP核界面、命名(命名不好不好分辨需要的FIFO)、设置参数、生成并编译IP核,工作量可以想象出来是非常多的。更重要的是随之而来的管理问题,如何管理这几十个不同FIFO,如何检查FIFO的设置是否正确,都是一个不小的挑战。

对于我们专门承接项目的团队,绝不可忍受如此重复、枯燥、容易出错的工作。经过精心研究,终于找到了一条实用的方法:使用XILINX的原语--xpm_fifo_async和xpm_fifo_sync。

XILINX原语xpm_fifo_async和xpm_fifo_sync在FPGA中,可以直接例化使用,并且可以参数化FIFO的位宽和深度的。即在设计时,不用生成FIFO IP,直接例化就可以使用了。

二、获得参考代码

打开VIVADO软件,点击上图中的Language Templates,将会弹出Language Templates窗口,如下图。

在Language Templates窗口中,依次点击verilog、Xilinx Parameterized Macros(XPM)、XPM、XPM_FIFO,如上图。可以看到有三种FIFO,分别是异步的XPM FIFO:xpm_fifo_async、AXI总线的FIFO:xpm_fifo_axis和同步的XMP FIFO:xpm_fifo_sync。

选择xpm_fifo_async,右边的Preview窗口,将出现xpm_fifo_async的注释以及参考代码。将此部分代码拷出来,并将注释删除,剩下的是xpm_fifo_async的例化参考。

上图是对xpm_fifo_async的参数例化部分。下面是需要重点关注并经常使用的参数。

Ø FIFO_WRITE_DEPTH:FIFO的写深度,其实就是在这里设置FIFO的深度,注意该值通常是2的N次方,如8、16、32、64等数。

Ø PROG_EMPTY_THRESH:FIFO的快空的水线。当FIFO存储的数据量小于该水线时,FIFO的快空信号将会变高。

Ø PROG_FULL_THRESH:FIFO的快满的水线。当FIFO存储的数据量大于该水线时,FIFO的快满信号将会变高,表示有效。

Ø READ_DATA_WIDTH:读数据的位宽。

Ø WRITE_DATA_WIDTH:将数据的位宽。

Ø RD_DATA_COUNT_WIDHT:读侧数据统计值的位宽。

Ø WR_DATA_COUNT_WIDTH:写侧数据统计值的位宽。

上图是对xpm_fifo_async的接口信号部分。下面是需要重点关注并经常使用的信号。

Ø wr_clk:FIFO的写时钟。

Ø rst:FIFO的复位信号,高电平有效。要注意的是,该信号是属于写时钟域的。

Ø wr_en:FIFO的写使能信号。

Ø din:FIFO的写数据

Ø full:写满指示信号,当FIFO写满时,该信号变高。

Ø wr_data_count:FIFO存储数据量指示信号,用来指示当前FIFO已经写入但未读出的数据个数。

Ø rd_clk:FIFO的读时钟。

Ø rd_en:FIFO的读使能。

Ø dout:FIFO读出的数据。

Ø empty:FIFO的空指示信号。当其为1表示FIFO处于空状态,当其为0,表示FIFO内有数据。

三、定义自用的FIFO模块

从第二步可以看出,xpm_fifo_async是可以参数化深度和位宽的。但xpm_fifo_async有很多参数和信号,并且其中有部分是不使用的。为了使用上的方便,可以自定义自用的FIFO模块。

例如,明德扬就定义了一个模块mdyFifoAsy,该信号的接口信号如下图。可以看出,名称更加规范,并且定义常用的信号,如读时钟rd_clk,写时钟wrclk、写使能wrreq等信号。

明德扬还在模块mdyFifoAsy定义了一些常用的参数,分别是FIFO深度参数:DEPT_W;FIFO位宽的参数:DATA_W,还有FIFO快满参数AL_FUL和快空参数AL_EMP,如下图。

接下来,就是在mdyFifoAsy中例化并使用xpm_fifo_async了。如下图,就是对xpm_fifo_async的参数例化。将DEPT_W传给FIFO_WRITE_DEPTH,DATA_W传给READ_DATA_WIDTH等。

下图是对xpm_fifo_async的信号例化。将不用的信号留空,将dout连到q,din连到data,wr_en连到wrreq等。您可以根据自己情况来定制FIFO。

四、应用

定制完自己的FIFO后,就可以直接例化使用了。

上图就是使用了一个位宽为8,深度为256的FIFO。

上图就是使用了一个位宽为18,深度为1024的FIFO。

FIFO是FPGA、芯片设计中,最常用的IP核,在存储控制、算法实现、接口设计中,都少不了FIFO,因此合理并正确使用FIFO的技术就非常有必要了,明德扬录制了FIFO的训练视频,掌握后技术能力将有大提升。

通过上面介绍可知,通过此种方式,再也不用生成FIFO IP核啦,整个工程大小基本上可以减少一大半。

上面举的例子是xpm_fifo_async,同步FIFO:xpm_fifo_sync的使用方法是类似的。

80C51单片机引脚图及引脚功能介绍的相关图片

80C51单片机引脚图及引脚功能介绍

1.不知道你的主板BIOS是什么版本,目前微星对这块主板发布了3次BIOS. 。

①MSI微星P43 Neo3主板最新BIOS 1.1版For DOS(2008年6月4日发布)在memory-z中加入Patriot、GeIL、ProMos、Buffalo、OCZ字符串 . 。

②MSI微星P43 Neo3主板最新BIOS 1.2版For DOS(2008年6月19日发布)新版BIOS更新如下:1.更新了CPU模块。2.解决适用E2200 CPU时DTM SMBIOS出现的问题。3.超频失败时开启WatchDog或CLKGEN 。

③MSI微星P43 Neo3主板最新BIOS 1.3版For DOS(2008年7月11日发布)新版BIOS更新如下:1.升级CPU模块。2.升级NB模块。3.修正使用PCI-E网卡时,系统无法从S1模式恢复的问题 。

你对应着看一下,如果解决不了你的主板问题,那就最好是不刷。

2.BIOS下载地址:http://so.mydrivers.com/drivers.aspx?q=P43%20Neo3-F (不建议使用这种方法刷)。

3.刷BIOS注意不能中断,尤其是不能断电。

4.可以在xp里刷,你安装主板自带光盘里的Live Update,这是一套具备强大功能且方便使用的应用程式,可自动检测、即时更新系统装置的驱动程式及BIOS,藉此可省下搜寻各种驱动程式及BIOS的时间与降低风险。 (建议使用这种方法刷BIOS,非常非常非常简单)

5.只要不断电,肯定能刷成功,万一万一万一万一失败了,你把BIOS芯片拔下来(小心操作别弄碎了),找电子商店用专门设置给刷一下,百分百成功。

6.关于超频:

①这块主板上有FSB跳线,你可以看一下说明书进行设置。

②进入BIOS,光标移到“Cell Menu”,回车,第一行灰色的“Current CPU Frequency”对应的是CPU现在的频率。看第三行“D.O.T.Control”,这是动态超频,也就是说,当电脑侦测到CPU正在执行程序时,会自动超频,当CPU低负载的时候又会自动回复到原来的速度,可选项是1% 3% 5% 7% 10% 15%。

③第四行“Intel EIST”,智能降频技术,如果你超频,请把它关掉。

④第五行“Adjust CPU FSB Frequency (MHz)”,调整CPU外频,超频的时候要慢慢向高里调数值,譬如你将266MHz调整到300,保存设置后进系统,跑两遍测试软件,游戏什么的,再重启进BIOS接着往上调,CPU有个适应的过度,切忌一口吃个胖子。

⑤超频失败是再所难免的,开机不亮就清一下BIOS吧,主板说明书上有跳线位置图。超频里面的学问很多,如果你对超频感兴趣,就多去相关的论坛,看看网友们是怎么玩超频的,对你会有很大帮忙。

7.IDE接口可以装系统,只要在BIOS里设好启动顺序就可以了。

(我这都是自己打的啊,还下载了主板的说明书看了好久,楼主给个最佳吧,嘿嘿)

如何申请香港科技大学的研究生?

单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

⒈ 电源:

⑴ VCC - 芯片电源,接+5V;

⑵ VSS - 接地端;

⒉ 时钟:

XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。

⒊ 控制线:控制线共有4根,

⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址。

② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵ PSEN:外ROM读选通信号。

⑶ RST/VPD:复位/备用电源。

① RST(Reset)功能:复位信号输入端。

② VPD功能:在Vcc掉电情况下,接备用电源。

⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。

① EA功能:内外ROM选择端。

② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

⒋ I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P0口输入时需要接上拉电阻才能置1:

原文地址:http://www.qianchusai.com/prog_full-100.html

34410-100

34410-100

Strangle-90

Strangle-90

中国溯源-90,中国溯源码燕窝管理平台

中国溯源-90,中国溯源码燕窝管理平台

stm32usart-10

stm32usart-10

4dbu,4dbuv等于多少v

4dbu,4dbuv等于多少v

lw/金铜色广州五羊石雕

lw/金铜色广州五羊石雕

嘎嘎影视-90,嘎嘎影视-极速

嘎嘎影视-90,嘎嘎影视-极速

星牖月窗-10,星牖月窗是成语吗

星牖月窗-10,星牖月窗是成语吗

cincinnati-70

cincinnati-70

cc/造型基础作业图片,cg造型基础与创作免费下载

cc/造型基础作业图片,cg造型基础与创作免费下载