FPGA——基础
Next_FSE
这个作者很懒,什么都没留下…
展开
-
保持时间和建立时间
**保持时间和建立时间** 在描述保持时间和建立时间之前我们首先需要了解为什么需要保持时间和建立时间,通俗的说就是在时钟信号来临之前,传输给寄存器的信号必须保持稳定,有效,才可以打入触发器,称为建立时间;时钟沿来了之后,信号必须维持稳定一段时间,使得信号能够正确被打入触发器; 下面我们就经典的D触发器来解释这一现象: 首先描述一下触发器的原理,便于我们理解之后的说明; 当CLK=0转载 2017-06-23 16:10:52 · 3449 阅读 · 0 评论 -
Xilinx FIR IP核的的使用及延时问题
前一段时间一直在研究通信系统,必然就会和各种滤波器打交道,同样也遇到了一些问题。比如说本文的主要内容,滤波器的延时问题。在生成滤波器IP核之前需要产生抽头系数,这个抽头系数的阶数是自己设定的,阶数越高代表滤波器乘累加运算越多,但是阶数大小的选择要看是否满足自己的设计要求(例如衰减db是否满足要求)。同时,生成的滤波器抽头系数的值是与自己设计滤波器的各种参数确定的,如数据采样速率,通带截止频率、原创 2017-07-01 10:15:02 · 21163 阅读 · 9 评论 -
FPGA的LPM标准
说到LPM(Library of Parameterized Modules),就一定要谈谈EDIF(Electronic Design Interchange Format)。EDIF文件是EDA厂商之间和EDA厂商与IC厂商之间传递设计信息的文件格式。LPM最初是作为EDIF标准的附件出现的。 EDIF和LPM的标准化过程: 1988年,ANSI/EIA-548: Elec转载 2017-06-28 22:15:28 · 2082 阅读 · 0 评论 -
FPGA优缺点、Verilog HDL与VHDL的优缺点
FPGA优缺点、Verilog HDL与VHDL的优缺点Verilog HDL优点:类似C语言,上手容易,灵活。大小写敏感。在写激励和建模方面有优势。缺点:很多错误在编译的时候不能被发现。VHDL优点:语法严谨,层次结构清晰。缺点:熟悉时间长,不够灵活。FPGA优点:设计周期短,灵活。适合用于小批量系统,提高系统的可靠性和集成度。转载 2017-06-28 22:13:36 · 12030 阅读 · 0 评论 -
关于ASIC、CPLD和FPGA介绍
关于ASIC、CPLD和FPGA介绍ASIC(Application Specific Intergrated Circuits)即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一,它们的共性是都具有用户现场可编程特性,都支持边界扫描技术,但两者在集成度、速转载 2017-06-28 22:12:02 · 2346 阅读 · 0 评论 -
Xilinx FPGA设计代码风格 以后逐渐补充
Xilinx FPGA设计代码风格 以后逐渐补充1、时钟信号的分配策略 (1)、使用全局时钟可以为信号提供最短的延时和可以忽略的扭曲; (2)、FPGA特别适合于同步电路的设计,尽可能减少使用始终信号的种类; (3)、减少时钟摆率的一种有效方法是使用一个时钟信号生成多个时钟使能信号,分别驱动触发器的时钟使能端,也就是说让所有的触发器都在同一个使能的原创 2017-06-28 22:07:52 · 1083 阅读 · 0 评论 -
FPGA综合工具中可综合的代码结构
不同厂商的综合工具所支持的可综合子集可能有所不同。本文所说的是ISE的综合工具XST在Verilog中综合时XST综合工具支持的结构有: 1、线网类型wire、tri、supply1、supply0等 2、寄存器类型reg、integer、time等 3、连续赋值 4、门原型和模块例化 5、always模块、用户定义的task和fun原创 2017-06-28 21:47:42 · 1446 阅读 · 0 评论 -
FPGA中SRL16资源
资源的使用:今天对FPGA中的srl16资源IP核进行的仿真,以研究其功能,芯片为XC7K325Tffg900。1、SRL16的作用就是移位寄存器,Xilinx的FPGA中基本单元为CLB,CLB由两个slice构成,分为SliceL与SliceM,其中SliceM中的LUT可以配置为Distribute RAM或SRL;2、SRL16的IP核名称为RAM-based Shift Re原创 2017-06-28 21:42:16 · 3443 阅读 · 0 评论 -
关于FIFO深度的计算的讨论
其实很惭愧,在这之前用FIFO都是直接用IP,因为应用场景很简单,因此FIFO深度的选择也比较随意,并没想很多。今天在网上看到一个异步FIFO深度计算的题目,发现对于这块并不熟悉,因此注意了下,下面写写自己的一些理解吧。提前说明下,因为我实际中并没有碰到需要去计算FIFO深度的场景,因此可能有些理解是错误的,希望各位大侠能批评指正。首先,一定要理解清楚FIFO的应用场景,这个会转载 2017-06-20 16:24:19 · 858 阅读 · 0 评论 -
FPGA编程注意事项
信号的产生及always块使用注意事项 1.1 不要在不同的always块内为同一个变量赋值。即某个信号出现在 所以注意,在产生一个信号时,所有产生该信号的条件都应放在一个always块内考虑。 1.2 不要在同一个always块内同时使用阻塞赋值(=)和非阻塞赋值( 1.3 使用always块描述组合逻辑时使用阻塞赋值(=),在原创 2017-06-20 21:52:48 · 1004 阅读 · 0 评论 -
异步FIFO设计与实现
转载网址:http://blog.sina.com.cn/s/blog_6592e7700100x68n.html#cmt_3255991 异步FIFO是一种先进先出电路,用在需要实时数据接口的部分,用来存储、缓冲在两个异步时钟之间的数据传输。异步FIFO与同步FIFO最大的不同在于异步FIFO读写时钟不同,通常异步FIFO用来做数据的时钟域转换,FIFO设计中难度最转载 2017-06-22 20:07:02 · 1975 阅读 · 10 评论 -
异步FIFO中读写指针为什么要用格雷码
首先要了解的是异步FIFO使用格雷码的唯一目的就是“即使在亚稳态进行读写指针抽样也能进行正确的空满状态判断”。那么典型的判断方法是怎样进行的呢?以满状态判断为例,先要对读指针(属于读时钟域)在写时钟域进行抽样,然后才能与写指针进行比较,如果写指针赶上了读指针,说明已经写满,写操作必须暂停。接下来说说为什么2进制指针不适合做空满判断。事实上2进制读指针在增减时,经常发生多位突转载 2017-06-22 20:14:39 · 2860 阅读 · 0 评论 -
FPGA中状态机实现需要注意的地方
写状态机时需要注意的地方:1、状态机的状态编码大概有三种:二进制编码,格雷码,独热码。 其中二进制编码就是000、001、010、011、100这类的逐渐加一 格雷码就是相邻两个状态只有一位数不一样,000、001、011、010之类的 独热码的意思是有多少个状态那么状态码就有多少位,比如说状态机有六个状态,那么状态向量就有6位,其状态分别为000001、0原创 2017-06-28 21:49:41 · 1255 阅读 · 0 评论