FPGA
文章平均质量分 91
Pilgrim2017
知行合一,有容乃大
展开
-
在Quartus II中分配管脚的两种常用方法
示范程序seg7_test.v12345678910111213141516171819202122/* * seg7 x 8 查找表测试文件 */转载 2017-11-06 22:01:27 · 13719 阅读 · 1 评论 -
FPGA学习网站推荐(二)
1 FPGA官网===========================毫无疑问,FPGA的两大主力厂商的主页不容错过,所有资料都原滋原味,http://www.altera.com.cn/http://www.xilinx.com/,这个也可以由中文的,http://china.xilinx.com/比如,altera的Recommended HDL Coding Styles可在官网下http:...转载 2018-04-28 12:34:19 · 432 阅读 · 0 评论 -
Vivado2016 中调用 UltraEdit 方法
想利用UltraEdit编辑代码,自己摸索了一段时间,终于找到方法(如图):首先安装好UltraEdit;1 点击vivado菜单栏中tool选项,选择options;2 左边选择Text Editor;3 在Curgent Editor栏中选Custom Editor;4 点击后边 “…”按钮;5 在⑤处,按照Editor中的格式,粘贴UltraEdit的安装路径,并删除 ”-[line num...原创 2018-06-01 15:05:49 · 2874 阅读 · 0 评论 -
Tsu,Tco,Th,Tpd的概念
转自:https://blog.csdn.net/gtkknd/article/details/53064530tsu : setup time, 定义输入数据讯号在 clock edge 多久前就需稳定提供的最大须求;以 正缘触发(positive edge trigger)的D flip-flop 来举例就是 D 要比 CLK 提前 tsu 时间以前就要准备好,此 flip-flop 就能于某...转载 2018-07-08 10:32:07 · 1300 阅读 · 0 评论 -
flipflop和latch以及register的区别
触发器:flipflop锁存器:latch寄存器:register 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时输出才会随着数据输入发生变化。 触发器是边沿敏感的存储单元,数据存储的动作有某一信号的上升或者下降沿进行同步的。 寄存器用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就...转载 2018-07-08 11:39:17 · 7393 阅读 · 0 评论 -
电平触发和边沿触发的区别
电平触发是在高或低电平保持的时间内触发,而边沿触发是由高到低或由低到高这一瞬间触发 在数字电平变化的电压上升沿或下降沿到一定阀值时就产生触发,是谓边沿触发。当电压达到数字电平的高或低电压一段时间后(一般是最小脉冲宽度的三分之一),才产生触发是电平触发。 边沿触发一般时间短,边沿触发一般时间都是us级的,响应要快的,而电平触发只须是高和低就可以了,没时间要求,比如10...转载 2018-07-08 12:04:06 · 35535 阅读 · 1 评论 -
RTL行为级仿真、综合后门级功能仿真和时序仿真
数字电路设计中一般有源代码输入、综合、实现等三个比较大的阶段,而电路仿真的切入点也基本与这些阶段相吻合,根据适用的设计阶段的不同仿真可以分为RTL行为级仿真、综合后门级功能仿真和时序仿真。这种仿真轮廓的模型不仅适合FPGA/CPLD设计,同样适合IC设计。... 一、RTL行为级仿真 在大部分设计中执行的第一个仿真将是RTL行为级仿真。这个阶段的仿真可以用来检查代码中的语法错...转载 2018-07-08 13:41:40 · 1377 阅读 · 0 评论 -
Xilinx-7系列FPGA架构—— CLB
xilinx7系列FPGA主要包括:Spartan®-7/Artix®-7/Kintex®-7/Virtex®-7。其性能/密度/价格也随着系列的不同而提升。其中以Virtex-7有着极高的系统性能和资源。本篇主要介绍其组成的基本单元configurable logic blocks(CLBs)。通常来说,我们不需要关心或参与逻辑综合过程CLBs资源的分配。但是如果遇到了性能/时序...转载 2018-07-09 13:04:58 · 4689 阅读 · 1 评论 -
数字系统中的亚稳态及其解决办法
本文转自https://www.cnblogs.com/xiaoxie2014/p/4149565.html 1. 应用背景 1.1 亚稳态发生原因 在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段...转载 2018-07-11 15:04:46 · 862 阅读 · 0 评论 -
FPGA静态时序分析
转自:https://blog.csdn.net/bbs_vip/article/details/46627673任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析。静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法,可以看透它的本质,而且不需要再记复杂的公式了。我们的分析从下图开始,下图是常...原创 2018-07-26 13:22:17 · 679 阅读 · 1 评论 -
FPGA学习网站推荐(一)
1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。对于想了解这个行业动态人可以看看它的投票调查。 http://www.opencores.org/polls.cgi/list OpenCores is a loose ...转载 2018-04-28 12:31:09 · 2377 阅读 · 0 评论 -
Vivado 双口RAM 的调用和实现
1.双口RAM概述双口RAM(dual port RAM)在异构系统中应用广泛,通过双口RAM,不同硬件架构的芯片可以实现数据的交互,从而实现通信。例如,一般情况下,ARM与DSP之间的通信,可以利用双口RAM实现,ARM通过EBI总线连接到双口RAM的A口,DSP通过EMIF总线(也可以是uPP总线,取决于速度需求)连接到双口RAM的B口,两者对同一块存储区域进行操作,即可实现两者的数据交互。但...转载 2018-05-01 17:37:30 · 11289 阅读 · 0 评论 -
DDR控制器集成与读写测试之FPGA片内存储器概述
片内存储器是基于FPGA的嵌入系统中最简单的存储器。因为存储是在FPGA内部完成的,电路板上无需外部连线。FPGA的片内存储器可以根据需求定义存储器的大小、位宽、种类、及特殊的片内存储器特性,如DDR模式等。片内存储器在基于FPGA的嵌入式系统的存储器中具有最高吞吐量和最低反应延时。它的反应延时通常仅为一个时钟周期。通过流水线操作访问存储器,可以使吞吐量达到每个时钟周期进行一次数据处理。转载 2017-12-19 17:43:34 · 1118 阅读 · 0 评论 -
SDRAM/DDR/DDR2学习笔记
在说明初始化之前先了解一下SDRAM的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU的前端总线的系统时间频率相同,并且他的内部命令的发送与数据的传输都是以这个时钟为基准的,动态是指存储阵列需要不断的刷新才能保证数据的不丢失。随机是指数据不是线性存储的,是可以自由转载 2017-12-05 19:48:35 · 1292 阅读 · 0 评论 -
DDR2学习笔记(1)
这是我学习的芯片MT47H16M16BG-5E:配置如下:Configuration 16 Meg x 16 (4 Meg x 16 x 4) 16M16FBGA Package Lead-Free 84-ball FBGA (8mm x 14)mm BGTiming – Cycle Time 5.0ns @ CL = 3 (DDR2-400) -5E转载 2017-12-18 23:24:57 · 3160 阅读 · 0 评论 -
DDR2学习笔记(2)
DDR2 SDRAM指令(1)所有DDR2 SDRAM指令均是在CKE为上升沿的时候,由CS#,RAS#,CAS#,WE#的状态定义的。DDR2 SDRAM指令的真值表如下:(2)在同一块bank中的状态转换如下表:(此时CKE一直保持高电平)a,现在状态的定义:Ilde:bank完成了precharge且tRP被满足。Row Active:在该bank转载 2017-12-18 23:28:48 · 1334 阅读 · 0 评论 -
DDR2学习笔记(3)
READ指令(1)READ指令用来初始化一个触发读存储到一个被激活的行上。变量BA1,BA0用来选择bank,A0-A9用来选择在bank中的列,A10决定是否使用auto precharge。如果选择了auto precharge,该行在读操作结束之后变为precharge;如果没有选择auto precharge,该行在结束读操作之后为随后的存取保持激活状态。开启READ 指令转载 2017-12-18 23:31:39 · 1942 阅读 · 0 评论 -
FPGA中的时钟设计1
关于一款芯片,最权威、最新的资料当然是厂家的官方文件。很多大牛都推荐直接阅读原厂的 datasheet 和 user guide。根据我的体验,这确实是最好的途径。原因有两个:首先,市面上的书一般都落后业界的步伐,我们看到的很多书上的资料都是过时的。其次,市面上书(尤其是国内)很多都是简单的翻译手册而来的,而且虽然作者标的是某某大学的教授,事实上都是教授手下的研究生替老师干活翻转载 2018-01-03 11:10:54 · 2659 阅读 · 0 评论 -
Vivado中嵌入式逻辑分析仪ILA的使用(2)
FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪。在vivado中叫 ILA(Integrated Logic Analyzer),之前在ISE中是叫ChipScope。基本原理就是用fpga内部的门电路去搭建一个逻辑分析仪,综合成一个ILA的core核伸出许多probe去探测信号线。下面逐步讲解在线debug转载 2018-01-04 23:00:35 · 3402 阅读 · 0 评论 -
理解FPGA中的RAM、ROM和CAM;ROM、RAM、DRAM、SRAM、FLASH
目前大多数FPGA都有内嵌的块RAM(Block RAM),可以将其灵活地配置成单端口RAM(DPRAM,Single Port RAM)、双端口RAM(DPRAM,Double Ports RAM)、伪双端口RAM(Pseudo DPRAM)、CAM(Content Addressable Memory)、FIFO等常用存储结构。FPGA中其实并没有专用的ROM硬件资源,实现ROM的思路是对RA...转载 2018-04-11 09:49:16 · 5232 阅读 · 0 评论 -
FPGA中block ram和distributed ram的区别
在Spartan-3系列FPGA中使用LUT构建分布式RAM http://xilinx.eetrend.com/tag/846?quicktabs_1=0利用块RAM实现数据延迟的一些问题 http://bbs.eetop.cn/thread-431323-1-1.html分布式RAM是如何产生的及其与Block RAM的区别- 问 -分布式和Block RAM的区别- 答 -CLB单元生成的d...转载 2018-04-11 10:07:55 · 1524 阅读 · 0 评论 -
FPGA开发基本流程
转自:https://www.cnblogs.com/synow/p/5498654.htmlFPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。典型FPGA的开发流程一般如图1所示,包括功能定义/器件选型、设计输入、功能仿真、综合优化、综合后仿真、实现、布线后仿真、板级仿真以及芯片编程与调试等主要步骤。 ...转载 2018-08-02 16:22:04 · 14145 阅读 · 0 评论