
FPGA
文章平均质量分 75
亦可西
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RTL仿真,前仿真,后仿真的区别
初学者学习FPGA,必定会被它的各种仿真弄的晕头转向。比如,前仿真、后仿真、功能仿真、时序仿真、行为级仿真、RTL级仿真、综合后仿真、门级仿真、布局布线后仿真等。 Quartus和Modelsim软件的仿真形式 Quartus II有两种仿真形式:1、功能仿真;2、时序仿真。 Quartus II调用Modelsim的两种仿真形式为:1、RTL级仿真;2、Gate-level仿真。 以下内容均经过资料查证,详细如下: 理解方法一 当用quartus进行仿真时,分为功能仿.转载 2020-09-13 20:56:40 · 22163 阅读 · 4 评论 -
DDR3之带宽、位宽和频率使用(MIGIP核里面的时钟结构)
一、如何确定DDR3芯片的带宽、位宽和最大IO时钟频率这里以芯片Part Number :MT41J256M16RH-125:E为例,打开芯片的数据手册,会找到如下所示的介绍: IO时钟频率:根据Part Number 中的“-125”我们就可以找到图中的“1”,根据这里tCK = 1.25ns,就可以算出芯片支持的最大IO时钟频率:1/1.25ns = 800Mhz;此处的IO时钟频率也就是DDR3的频率;位宽:根据Part Number 中的“2...转载 2020-08-24 21:27:05 · 17695 阅读 · 8 评论 -
史上最细的FIFO最小深度计算,(大多数笔试题中都会涉及)
转载地址:https://www.cnblogs.com/dxs959229640/p/8144656.html作者:星雨夜澈出处:http://www.cnblogs.com/dxs959229640/数字IC设计中我们经常会遇到这种场景,工作在不同时钟域的两个模块,它们之间需要进行数据传递,为了避免数据丢失,我们会使用到FIFO。当读数据的速率小于写数据的速率时,我们就不得不将那些还没有被读走的数据缓存下来,那么我们需要开多大的空间去缓存这些数据呢?缓存开大了会浪费资源,开小了会丢失数据,..转载 2020-08-16 15:04:32 · 3139 阅读 · 0 评论 -
XILINX ZYNQ7100 的上电顺序
PS Power-On/Off Power Supply Sequencing建议的上电顺序为VCCPINT,然后是VCCPAUX和VCCPLL,然后PS VCCO提供(VCCO_MIO0,VCCO_MIO1和VCCO_DDR)以实现最小电流消耗并确保I / O上电时为3态。在上电序列中,要求将PS_POR_B输入置为GND。直到VCCPINT,VCCPAUX和VCCO_MIO0达到最低操作级别,才能确保PS eFUSE完整性。有关PS_POR_B时序要求的其他信息,请参阅“复位”。推荐.原创 2020-05-19 16:41:14 · 4977 阅读 · 2 评论 -
launch edge 和 latch edge 延迟以及静态时序分析相关概念
launch edge和latch edge分别是指一条路径的起点和终点,只是一个参考时间,本身没有什么意义,latch_edge-launch_edge才有意义。1. 背景静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布转载 2020-05-17 20:13:30 · 4674 阅读 · 0 评论 -
verilog读入.txt的有符号十进制数,把有符号十进制数写入到.txt文件中
在进行功能仿真时,经常需要使用外部的数据作为输入,而数据经常存放在.txt,.dat等文本文件中;本文介绍一种从.txt中读取有符号十进制数的方式和写入有符号数到.txt文件的方式:代码如下:一、从.TXT中读取有符号十进制数:reg signed [8:0] dataa1[1:784];reg signed [8:0] datab[1:36];reg signed [8:0...原创 2020-05-06 16:01:36 · 7666 阅读 · 2 评论 -
高速收发器之8B/10B编码
前面文章说过,在高速链路中导致接收端眼图闭合的原因,很大部分并不是由于高频的损耗太大了,而是由于高低频的损耗差异过大,导致码间干扰严重,因此不能张开眼睛。针对这种情况,前面有讲过可以通过CTLE和FFE(包括DFE)均衡进行解决,原理无非就是衰减低频幅度或者抬高高频幅度,从而达到在接收端高低频均衡的效果。同时我们在前文还埋了个伏笔:隔了一段时间,不知道大家还记得我们这个约定吗?不管你们记不...转载 2019-12-27 21:09:12 · 820 阅读 · 0 评论 -
Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons
在使用quartus ii进行FPGA开发时,遇到如下警告信息: Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Constraints File is requiredby the TimeQuest Timing Analyzer to get ...转载 2019-12-06 11:16:25 · 14090 阅读 · 2 评论 -
XILINX-DDR3IP核的使用
最近博主在根据例程做ddr3的读写测试,发现根本看不到好吧,虽然之前博主做过SDRAM的读写测试,但是ddr3更加复杂,时序写起来很吃力,所以需要用到vivado下自带的ip核。具体来看下面例化过程:1.在ip核下搜索mig 双击打开2.直接next 然后在当前界面修改你的ddr3ip核的名字这里博主是因为已经例化了ip核,所以名字不能修改,然后next3.这是要不要兼容芯片,不...转载 2019-12-01 22:49:02 · 1557 阅读 · 2 评论 -
DDR3内存详解,存储器结构+时序+初始化过程
转载DDR3内存详解,存储器结构+时序+初始化过程2017-06-17 16:10:33a_chinese_man阅读数 23423更多分类专栏:硬件开发基础转自:http://www.360doc.com/content/14/0116/16/15528092_345730642.shtml首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其...转载 2019-11-04 21:02:03 · 7154 阅读 · 0 评论 -
DDR工作时序
DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM的基础上改进而来。下图是DDR和SDRAM的数据传输对比图图上可以清楚的看到,DDR SDRAM可在一个时钟周期内传送两次数据,上升沿传一次,下降沿传一次。1.DDR的基本原理先来看一张DDR读操作时序图从中可以发现它多了两个信号:C...转载 2019-11-04 15:44:19 · 1149 阅读 · 0 评论 -
DDR扫盲
FROM:http://blog.chinaaet.com/justlxy/p/5100051912DDR的种类:1、DDR SDRAM:Double Data Rate Synchronous Dynamic Random Access Memory,双倍数据率同步动态随机存取存储器;2、DDR2 SDRAM:Double-Data-Rate Two Synchronous Dyna...转载 2019-11-04 15:38:21 · 587 阅读 · 0 评论 -
FPGA开发设计必经之路:时序分析
转载自:微信公众号:FPGA之家时序分析是FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念。时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3点。对于低速设计,基本不用考虑这些特征;对于高速设计,由于时钟本身的原因造成的时序问题很普遍,因此必须关注。...原创 2019-10-16 09:58:34 · 1390 阅读 · 0 评论 -
触发器、锁存器、寄存器以及它们之间的区别
一、基本概念(1)锁存器 1. 锁存器(latch):是电平触发的存储单元,数据存储的动作(状态转换)取决于输入时钟(或者使能)信号的电平值,尽当锁存器处于使能状态时,输出才会随着数据输入发生变化。分为普通锁存器和门控锁存器: 2.普通锁存器无控制信号,输出状态始终直接由输入决定。 3.门控锁存器在控制信号无效时,输出保持不变,不随输入变...原创 2019-09-24 20:16:02 · 6916 阅读 · 0 评论 -
建立时间和保持时间关系详解
图1 建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。如图1。数据稳定传输必须满足建立和保持时间的要求,当然在一...转载 2019-09-18 11:34:51 · 3077 阅读 · 0 评论 -
verilog之按键消抖的理解
按键在按下时会产生抖动,释放时也会产生抖动,所以在设计键盘扫描程序时必须考虑按键的消抖,我们一般只考虑按下时的抖动,而放弃对释放时抖动的消抖。抖动时间一般为20ms左右。按下的最终结果是低电平。 按键去抖思路是:检测到按下时延时20ms,再检测,如果状态仍为按下,则确认是按下的;如果状态为弹起的,则确认是干扰,无按键按下。 假如rst_in 为一个按键,直接连接至FPGA里面的复位引...原创 2019-09-17 10:35:48 · 5344 阅读 · 3 评论 -
FPGA中数的表示方法
转自FPGA之家1. 概述基于FPGA实现各种设计的首要前提是理解并掌握数字的表示方法,计算机中的数字表示方法有两种:定点数表示法和浮点数表示方法。其中,对于浮点数尽管当前应用最为广泛的是基于IEEE 754所设计的浮点数表示方法,Xilinx(忘记Altera中是否有对应的IP核)的IP核中也提供了相应的设计方法,但其表示方法缺乏FPGA设计应有的灵活性,而且资源消耗相对严重,因此可以...转载 2019-08-15 09:39:26 · 2800 阅读 · 0 评论 -
Vivado中的Incremental Compile增量编译技术详解
Incremental Compile增量编译是Vivado提供的一项高阶功能。目的旨在当设计微小的改变时,重用综合和布局布线的结果,缩短编译时间。下图是增量编译的流程:增量编译需要已经编译完成的原始设计的dcp文件作为参考,当我们在原始设计上做微小的改动时,就可以使用增量编译的流程。这些改动包括:- RTL代码的微小修改- 网表的微小修改,比如增加或者改变ILA...转载 2019-08-10 15:20:43 · 2808 阅读 · 0 评论 -
Vivado中电路结构的网表描述
在vivado集成环境中,网表时对设计的描述,如网表由单元(cell)、引脚(pin)、端口(port)和网络(Net)构成。(1)单元是设计单元 1、设计模块(Verilog HDL)/实体(VHDL)。 2、元件库中的基本元素(Basic Elements ,BLEs)实例。如LUT、FF、DSP、RAM等。 3、硬件功能的类属表...原创 2019-08-10 15:14:13 · 1210 阅读 · 0 评论 -
FPGA内部资源总结
原文链接https://blog.youkuaiyun.com/times_poem/article/details/51351997 目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理 和DSP)的硬核(ASIC型)模块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯...转载 2019-07-23 11:35:19 · 9385 阅读 · 0 评论 -
FPGA与CPLD的区别
CPLD和FPGA两者的区别CPLD和FPGA都是我们经常会用到的器件。有的说有配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底有什么区别呢?下面我们就以Altera公司的CPLD和FPGA为例来说说两者的区别。首先我们看一下CPLD的芯片结构,搞清楚CPLD是由哪几部分组成的。下图是MAX系...转载 2019-05-07 20:02:33 · 20712 阅读 · 2 评论 -
FPGA启动过程
首先,FPGA相当于一个万能芯片,可以通过编程来实现其逻辑功能。为了实现其功能,就要把这个万能芯片变成自己想要的芯片,因此其内部结构就必须要改变,也就是它内部的资源要重新互联(通过熔丝的断与连),这就必须要有一个文件,这个文件也就是我们经常说的配置文件,因为fpga内部的逻辑结构是有配置数据决定的。 那好,既然我们想要这样的配置文件,那么这个配置文件从哪里来呢?fpga上电前还...原创 2019-05-07 21:52:22 · 4339 阅读 · 0 评论 -
几种常见的电平标准
原文:https://blog.youkuaiyun.com/calvin790704/article/details/53942443常用的电平标准有TTL、CMOS、LVTTL、LVCMOS、ECL、PECL、LVPECL、RS232、RS485等,还有一些速度比较高的LVDS、GTL、PGTL、CML、HSTL、SSTL等。供电电源、电平标准以及使用注意事项1.TTL:Trans...转载 2019-05-22 09:56:03 · 3063 阅读 · 0 评论 -
标准SPI、DUAL SPI、Quad SPI
1. 标准SPI标准SPI通常就称SPI,它是一种串行外设接口规范,有4根引脚信号:clk , cs, mosi, miso2. Dual SPI它只是针对SPI Flash而言,不是针对所有SPI外设。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dua...原创 2019-05-22 16:57:06 · 10351 阅读 · 1 评论 -
Xilinx FPGA用户原语介绍
原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;原语类似最底层的描述方法。使用原语的好处,可以直接例化使用,不用定制IP;即可通过复制原语的语句,然后例化IP,就可使用;Xilinx是通过直接修改原语中的参数再例化IP来使用;Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检测...转载 2019-05-27 22:37:57 · 5675 阅读 · 0 评论 -
深入理解UART、IIC、SPI与RS232以及RS485的区别
个人理解:uart、IIC、SPI都是一种具有协议特征的收发器、接口、总线,它规定数据按照什么的时序传输,rs232,、rs485是传输时候的电平标准,规定了按照上述协议传输的高电平与低电平的电压都应该是多少;uart还是一种硬件,是个收发器,发送和接收,是个设备,是完成特定功能的硬件,它本身并不是协议,它本身是硬件设备,但它具有协议特征,意思是运用uart收发器进行数据的收发必须按照ua...转载 2019-06-04 10:27:21 · 19910 阅读 · 6 评论 -
ALTERA 命名规则
参考文献:https://www.cnblogs.com/luckybag/articles/3844247.html https://blog.youkuaiyun.com/doghan11/article/details/69262535主流FPGA产品Altera 的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如C...转载 2019-07-18 15:41:56 · 2367 阅读 · 0 评论 -
聊一聊FPGA的片内资源相关知识
主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、DCM和DSP)的硬核(ASIC型)模块。如图所示,FPGA芯片主要由7部分组成,分别为:可编程输入输出单元(IOB)、基本可编程逻辑单元(CLB)、完整的时钟管理(DCM)、嵌入式块RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。 1.可编程输入输出单元...转载 2019-07-23 17:50:54 · 1514 阅读 · 0 评论 -
I/O接口标准(1):LVTTL、LVCMOS、SSTL、HSTL
转自FPGA开发圈2016-10-19I/O接口标准1.单端信号接口标准 LVTTL和LVCMOS(JESD8-5,JESD8-B) SSTL(JESD8-8,JESD8-9B,JESD8-15) HSTL(JESD8-6) LVTTL和LVCMOS结构通常是简单的push-pull。最简单的例子就是CMOS反向器,需要满足的唯一参数是VIL/V...转载 2019-08-02 15:20:58 · 4798 阅读 · 0 评论 -
如何理解FPGA的配置状态字寄存器Status Register
赛灵思FPGA开发圈今天Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己发送配置时钟信号CCLK)和被动Slave(即由外部器件提供配置所需要的时钟信号);另外还可由板上稳定晶振提供时钟信号,经由FPGA的EMCCLK接口,再从CCLK端口送出。如此多的...转载 2019-08-02 15:28:35 · 10335 阅读 · 2 评论 -
异步复位同步释放机制-系统完美稳定
原文地址:FPGA之家首选我们来聊聊时序逻辑中最基础的部分D触发器的同步异步,同步复位即复位信号随系统时钟的边沿触发起作用,异步复位即复位信号不随系统时钟的边沿触发起作用,置数同理,rst_n表示低电平复位,我们都知道D触发器是一个具有异步复位异步置数的器件,那么怎么样Verilog来具体描述这个器件呢,接下来我们就来看一下,这里以Vivado 2017.3为例。D触发器的几种...转载 2019-08-02 15:43:06 · 504 阅读 · 0 评论 -
LUT与移位寄存器
LUT表是最基本的逻辑单元,入门书籍必有的内容,基本原理这里不说了。一般的,有SLICEM和SLICEL两种,M代表存储,L代表逻辑,好记吧。L的功能M也能实现,M比L更复杂,所以我们直接去看SLICEM。图上面时直接从工具里面截的,这里面包括了:6位读地址输入(A1-A6)8位写地址输入(WA1-WA7)写时钟(CLK)写使能(WEN)数据输入(DI1)...转载 2019-08-02 15:47:53 · 2913 阅读 · 1 评论 -
FPGA里面的时钟管理
一般情况下,FPGA器件内部的逻辑会在每个时钟周期的上升沿执行一次数据的输入和输出处理,而在两个时钟上升沿的空闲时间里,则可以用于执行各种各样复杂的处理。而一个比较耗时的复杂运算过程,往往无法一个时钟周期完成,便可以切割成几个耗时较小的运算,然后在数个时钟上升沿后输出最终的运算结果。时钟信号的引入,不仅让所有的数字运算过程变成“可量化”的,而且也能够将各种不相关的操作过程同步到一个节拍上协同工作。...转载 2019-07-25 15:21:53 · 3031 阅读 · 1 评论 -
Xilinx Altera FPGA中的逻辑资源(Slices VS LE)比较
前言经常有朋友会问我,“我这个方案是用A家的FPGA还是X家的FPGA呢?他们的容量够不够呢?他们的容量怎么比较呢?”当然,在大部分时候,我在给客户做设计的时候,直接会用到最高容量的产品,因为我们的产品对成本不敏感。不过,在此还是比较一下两家的产品,简单写写一些自己的想法,供大家参考,如有不对的地方,还请指正!进入正题要比较Xilinx和Altera的FPGA,就要清楚两个大厂F...转载 2019-08-02 21:20:44 · 3044 阅读 · 0 评论 -
FPGA核心板内部各类型资源总结(xilinx)
1 查找表LUTFPGA是基于查找表的设计电路,查 找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4 位地址线的 的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就...转载 2019-07-23 11:33:17 · 3707 阅读 · 0 评论 -
Xilinx 7系列FPGA 高速收发器GTX/GTH的一些基本概念
本来写了一篇关于高速收发器的初步调试方案的介绍,给出一些遇到问题时初步的调试建议。但是发现其中涉及到很多概念。逐一解释会导致文章过于冗长。所以单独写一篇基本概念的介绍,基于Xilinx 7系列的GTX。需要说明,文本只是初步介绍基本概念,会尽量使用通俗浅显的描述而避免使用专业词汇,也只会描述一些基本的、常用的内容,不能保证全面型。所以从专业角度看,可能部分用词和原厂文档有出入,同时覆盖面...转载 2019-04-21 21:07:05 · 39903 阅读 · 1 评论