自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 FPGA静态时序分析基础(三)

在上一篇文章中介绍完了reg2reg的时序分析模型,这一篇文章着重来介绍以下pin2reg的时序分析模型。pin2reg时序分析pin2reg时序分析基本模型有两种:源同步的FPGA输入时序分析模型,系统同步的FPGA输入时序分析模型。上图为源同步的FPGA输入时序分析模型,时钟源为上游器件和下游器件(fpga)同时提供时钟。此模型不利于传送高速数据,基本已被淘汰。上图为源同步的FPGA输入时序分析模型,数据和器件都是由源端提供的。这种模型也在被高速串行总线淘汰如pcie、sata、usb3.0

2021-03-21 21:12:43 407 1

原创 FPGA静态时序分析基础(二)

在上一篇文章中讲述了静态时序分析的概念,以及其分类,即主要分为四种:reg2reg、reg2pin、pin2reg、pin2pin,这一篇文章就来细致分析一下reg2reg的时序分析。首先看上面这张图,给出以下定义:reg1:源寄存器,即信号发出端reg2:目标寄存器,即信号接收端Tclk1:时钟源到达reg1的延迟Tclk2:时钟源到达reg2的延迟Tdata:数据从源寄存器到目标寄存器的传播延时Tco:Tclk1到达源寄存器至信号发出之间的延时Tsu:数据建立时间Th:数据保持时间

2021-03-21 19:51:54 1418

原创 FPGA静态时序分析基础(一)

相信在看这篇文章的时候基本上已经对FPGA有了一个比较全面的了解了,那现在来谈一谈静态时序分析基础。什么是静态时序分析?在我们进行简单的FPGA设计的时候,都假设信号在FPGA内部的流动是0延时的,即当clk上升沿到来之后,信号直接从源寄存器到达目标寄存器。其实不然,信号在FPGA内部,以及FPGA与外部设备进行通信的时候都是有延时的,这种延迟包括走线延迟、门延时等等。但是这些延时是多少呢,如果走线过长或者经过的门特别多,那么势必会影响到下一级寄存器对信号的锁存,出现亚稳态,甚至会导致下一级寄存器采样到

2021-03-18 22:54:31 520

原创 细说DDR(二)

细说DDR(二)上一篇文章中详细讲述了SDRAM的原理,这一篇文章来讲述一下DDR、DDR2、DDR3的发展及他们的主要原理。DDR SDRAMDDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM 的基础上改进而来。下图为DDR SDRAM的原理图:可以看出,前面部分基本上是与SDRAM没有区别的,区别只在于后面那一部分,下面来看一下为什么加上后面那部分就变成了双倍数据流的SDRAM了。首先要说明

2021-03-04 22:26:26 1479 1

原创 细说DDR

一、从SDRAM到DDR3SDRAM内部结构SDRAM操作时序要想知道DDR3 SDRAM,我们首先来说一下什么是SDRAM,因为DDR SDRAM 是在 SDRAM 技术的基础上发展改进而来的。SDRAM:(Synchronous Dynamic Random Access Memory),同步动态随机存储器。同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失,随机是指数据不是线性依次存储,而是自由

2021-02-28 22:09:42 1956

原创 存储器总结(RAM、ROM)

存储器是能够存储大量二值信息的器件。存储容量和存取速度是衡量存储器性能的两个最重要的指标。因为存储器的存储单元数目及其庞大,但是器件的引脚数目有限,所以电路结构上就不能把每个存储单元都直接引出,为解决此问题,便给每个存储单元编了一个地址,只有被输入地址代码指定的那些存储单元才能与公共的输入/输出引脚接通,进行数据的读出或写入。半导体存储器种类很多,其中AM(Random Access Memory随机存取存储器)和ROM(Read Only Memory只读存储器),其中RAM的访问速度比较快,但掉电

2021-02-28 17:46:48 1264

原创 FPGA进阶(四)如何在书写代码时进行面积优化

如何在书写代码时进行面积优化在之前讨论进行速度优化时候已经了解到,速度和面积往往是一对矛盾体,在此我们来讨论以下在写代码时候如何进行面积优化。一、操作符平衡之前介绍过通过使用括号来对乘法操作符进行平衡,使得各个输入到输出的延时从三级乘法减少到了两级乘法,从而达到速度优化的目的。同样,操作符平衡还可以达到面积优化的目的。可见操作符平衡是一个一举两得的好方法。通过下面这个例子可以看出是如何减小设计面积的:如上图的例子,其代码是result <=abc*d;下图给出了其综合布局布线之后逻辑资源消耗

2021-02-25 22:29:29 2885 1

原创 FPGA进阶(三)如何在书写代码时进行速度优化

如何在书写代码时进行速度优化设计的优化最好交给代码自身来完成,不到万不得已千万不要使用工具来对设计进行优化。在逻辑设计业内,前辈设计师给这些后来者早就总结了三大设计原则,即速度面积互换、并行以及同步设计原则。根据逻辑设计的内涵,基本可以给逻辑设计速度定义三个有关的概念,即**设计吞吐量、设计延时以及设计时序。**这里的速度优化将主要针对时序优化而言。吞吐量是指每个时钟周期能够处理的数据量,常见的吞吐量单位如比特每秒(b/s)。设计延时是指输入数据和数据被处理后输出之间的时间间隔,它的典型单位是普通

2021-02-25 22:18:57 1857 1

原创 vivado基本开发流程

FPGA基本开发流程:FPGA开发软件如quartas和vivado的开发流程基本都相同,在这里主要介绍以下xilinx家的vivado的开发流程,其开发流程基本为以下六步:1、创建工程、添加源文件,编写verilog代码2、RTL描述与分析3、设计综合4、添加设计约束5、设计实现6、比特流文件生成与下载其一整套的开发流程都在vivado左侧的flow navigator中可以找到。创建工程与IP核、添加源文件,编写verilog代码我们编写verilog代码、添加IP核等任务基本都是在

2021-01-19 23:40:13 5504 3

原创 FPGA进阶(二)高质量VerilogHDL描述方法(上)

高质量VerilogHDL描述方法(上)Verilog可综合语言概述Verilog HDL 的基本功能之一是描述可综合的硬件电路。如何合理使用 Verilog HDL 描述高性能的可综合电路是非常重要的。这里要注意HDL意思为硬件描述语言,对其应有正确的认识,在对已知的硬件电路进行编写前,应当对所要实现的电路“胸有成竹”。相比C语言,最显著的区别在与HDL语言具备以下硬件设计的基本概念:互连(connectivity ):- wire型变量描述各个模块之间的端口与网线连接关系并发(concurr

2021-01-17 14:19:35 503

原创 FPGA进阶学习总结(一)

芯片设计产业链1、晶圆厂foundry专门从事半导体晶圆制造生产,接受其他无晶圆厂设计公司委托,制造芯片,是整个微电子行业的基础。如TSMC(台积电)、global foundry、UMC、中芯等。2、无晶圆设计公司fablessFabrication less的组合 是指没有制造业务,只专注于芯片设计的公司,如博通、高通、英伟达、AMD、华为海思、紫光等。3、EDA软件公司自动化软件生产厂商,为集成电路设计提供软件支持。大部分被EDA三大巨头垄断,国内的厂商为华大九天。4、设计服务公司de

2021-01-17 12:37:55 1465 4

原创 三篇文章搞懂级数之三(公式不好打,以图片形式上传)

2020-04-08 22:54:11 87 1

原创 三篇文章搞懂级数之二(公式不好打,以图片形式上传)

2020-04-06 09:46:00 78

原创 三篇文章搞懂级数之一(公式不好打,以图片形式上传)

2020-04-02 21:53:46 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除