常用IP核

前言

记录自己用到的模块,随时补充。

主要分类:

 

一、常用模块

1-FIFO

  • FIFO分为两种,一是输入输出时钟相同(Common clock)的 fifo ;二是输入输出时钟不相同(Independent clocks)
  • FIFO常用于:跨时钟域操作和数据位宽转换。例如:两个独立的时钟域,独立的数据位宽,可以利用一个FIFO进行连接

比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16位 100K SPI,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间就可以采用FIFO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。

  • fifo 没有地址,通过 full 和 empty 信号来判断是否可写/读
  • 用 full 和 empty 来判断 fifo 中存储的状态有些极端,可以通过 read_count 和 write_count 来判断存储的状态,write_count: fifo 中存储的余量。

  • 进行写复位后,要延迟3个时钟周期才能进行写操作。写复位以后,可通过count引入了3个时钟的延迟

FIFO的一些参数——

  FIFO的宽度:也就是英文资料里常看到的THE WIDTH,它只的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM 32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。

  FIFO的深度:THE DEEPTH,它指的是FIFO可以存储多少个N位的数据(如果宽度为N)。如一个8位的FIFO,若深度为8,它可以存储8个8位的数据,深度为12 ,就可以存储12个8位的数据,FIFO的深度可大可小,个人认为FIFO深度的计算并无一个固定的公式。在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。

  满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。

  空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出(underflow)。

FIFO设计的难点在于怎样判断FIFO的空/满状态。为了保证数据正确的写入或读出,而不发生溢出或读空的状态出现,必须保证FIFO在满的情况下,不能进行写操作。在空的状态下不能进行读操作。怎样判断FIFO的满/空就成了FIFO设计的核心问题(特别是Independent clocks的情形)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

F28335中断系统

F28335中断系统 DSP中断管理分为3个层次:外设级,PIE级,CPU级

notepad++与ISE/Vivado关联

转自:http://www.cnblogs.com/ninghechuan/p/6172237.html 1、notepad与vivado关联 打开vivado软件,选择菜单栏“Tools——>Options…”,在弹出的对话框中,选择General选项卡,如图1所示。 拉动右边的滚动条到Text E…

花呗不还会怎样?

现如今花呗以其短平快俘获很多网购朋友的心,随借随还,确实很好用,但是问题来,如果花呗忘记还了,或者不还会有什么后果呢?先来看下一个网友的真实经历:3个月前,我拖欠了花呗2000多块钱…

外部中断实验

外部中断实验 #include "exti.h" #include "leds.h" #include "key.h"void EXTI1_Init(void) {EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK 1; // GPIO input clockEDIS;EALLOW;//KEY端口配置GpioCtrlRegs.GPAMUX1.bit.GPIO120;GpioCtrlReg…

有法院被执行人记录还能贷款吗?

贷款除了看个人的资质之外,还会查看借款人的一些社会信息,比如法院被执行人记录。通常来说,有法院被执行记录的人是很难通过贷款申请的。1、什么叫法院被执行人记录?被执行人指的是通过法院判决,需要承担对应执行义务的…

如何找到安全的贷款机构

贷款谁都希望找一家安全可靠的机构,不希望碰到骗子或不正规的公司,但是对于很多缺乏贷款经验的朋友来说,他们并不知道哪些贷款机构是正规的,也不知道哪些贷款是安全的,下面我们就来给大家说下如何找一个正规安全的贷款…

梅森增益公式

梅森增益公式 式中 P——从源节点到阱节点的传递函数(或总增益); n——从源节点到阱节点的前向通路总数; pk——从源节点到阱节点的第条前向通路总增益; △——流图特征式 式中

为什么销售员贷款比较难?

销售员其实是一个相对高收入的群体,按道理来说去贷款应该是比较好下的,但是在实际的贷款审批过程中,销售人员去贷款要么比较难下,要么就是额度比较低。为什么会这样呢?这其实跟销售员的工作性质有关。第一、销售员工作…

老公贷款还不上,妻子有偿还责任吗?

如果贷款不还,可能会涉及到夫妻共同还款的情况,也就是说,如果一方的贷款是用于家庭所需或者双方有共同利益的项目,一旦贷款还不上,那夫妻中的另一方就需要承担偿还责任,这就是我们通常所说的夫妻共同负债。…

银行流水你真的会看吗?

(1)银行流水的的构成每个银行流水的构成要素可能有所差距,但是总整体上来说,银行流水的构成基本是差不多的。正常的银行流水一般都会包含以下几个构成因素:账号、户名、交易日期、对方帐号、对方户名、交易代码&#x…

Cisco Wireless Controller 5508 Configuration Step by Step – Part 1 (CLI and GUI Access, Upgrade)

As the industry’s most deployed controller, the Cisco 5500 Series Wireless Controller provides the highest performance, security, and scalability to support business communications today and in the future. Cisco 5500 Series Wireless Controller • Support …

求解单位冲激响应的笔记

求解单位冲激响应的笔记 冲激响应的定义 求解方式 正常的方式 另一种方法 再看下一个例子

信用贷款额度是怎么确定的?

信用贷款的额度,不同的贷款机构能办的最高额度都不一样,一般来说银行系统的信用贷款比较高,有些银行100万以内都可以做;而小贷公司的额度就相对比较低一些,一般都是1万-30万居多,部分贷款机构最高能做到50万…

定时器中断

定时器中断 1 定时器介绍 2 定时器的配置步骤 #include "time.h" #include "leds.h"//定时器0初始化函数 //Freq:CPU时钟频率(150MHz) //Period:定时周期值,单位us void TIM0_Init(flo…

一个弱智问题, Ubuntu 中gedit 菜单栏在哪里?

Ubuntu 所有的软件的菜单栏都移到了系统的顶部,习惯了 Windows 的用户习惯看 gedit 工具栏的上面。。。如图,鼠标移动到 Text Editor 哪里菜单栏出来了,这个问题憋了好几个月,一直找不到菜单栏在哪里。。。。

乱骑共享单车?黑名单见!

共享单车现在很火热,已经成为解决人们出行最后一公里的主要交通工具。但是共享单车方便人们出行的同时也出现了不少社会问题,比如盗用共享单车,共享单车乱停放,闯红灯,逆行、占道等,给交通运行带来了一定的…

增强型脉宽调制ePWM实验

增强型脉宽调制ePWM实验 1 PWM简介 2 F28335的ePWM介绍 3 PWM输出配置步骤 4 硬件设计 5 软件设计 #include "epwm.h" #include "leds.h"void EPWM1_Init(Uint16 tbprd) {EALLOW;SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC 1; // Disable T…

民间借贷利息多少才合法?

一、民间借贷利息多少才合法?民间借贷利率是否合法是要根据法律的相关规定来判断,事实上,就借贷利息本身而言,其实不存在合法不合法之说,只能说利率受不受法律保护。而且我国不同时期对民间借贷利率的保护界限也不一样…

ADC模数转换实验

ADC模数转换实验 1 AD 转换原理介绍 2 F28335的ADC介绍 3 ADC配置步骤 4 硬件设计 5 软件设计 #include "adc.h"void ADC_Init(void) {// Specific clock setting for this example:EALLOW;SysCtrlRegs.PCLKCR0.bit.ADCENCLK 1; // ADCEDIS…