自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lizf477的专栏

SOC芯片设计,FPGA

  • 博客(26)
  • 收藏
  • 关注

原创 平行宇宙的追逐--异步FIFO控制器的设计。

在逻辑设计中,通常会用到异步FIFO,异步FIFO控制器是经典的异步信号传输的范例,通过FIFO控制器与异步双端口RAM的组合实现数据的从一个时钟域到另一个时钟域的传输。在IC设计/FPGA设计中,可以通过designware或其他IP生成器可以例化相关设计,但是如何设计一个适合系统的异步fifo控制器,不依赖其他IP,是本文所讨论的重点。      上图所示:FIFO由f

2015-11-09 22:35:07 1433

原创 FPGA研发之道(25)-管脚

管脚是FPGA重要的资源之一,FPGA的管脚分别包括,电源管脚,普通I/O,配置管脚,时钟专用输入管脚GCLK等。(1)电源管脚:   通常来说: FPGA内部的电压包括内核电压和I/O电压。      1.内核电压:即FPGA内部逻辑的供电。通常会较I/O电压较低,随着FPGA的工艺的进度,FPGA的内核电压逐渐下降,这也是降低功耗的大势所趋。      2.I/

2015-11-09 22:27:34 5400

原创 FPGA研发之道(24)-控制(下)

首先依次回答上篇提出的几个问题:      第一个问题:如何避免状态机产生lacth 示例如下,通过在always(*)语句块中,添加默认赋值,ns_state = cs_state;always@(*)      ns_state = cs_state;      case(cs_state)              idle :      

2015-11-09 22:20:28 904

原创 FPGA研发之道(23)-控制(上)

本质上说,FPGA的模块设计就是将输入转化成想要得到的输出结果。而除了某些简单模块,即在当拍内完成,即将输入进行逻辑操作后,再输出。(如简单加法器等)。其余大部分的设计需要通过时序逻辑和组合逻辑混合实现,时序逻辑带来就是延迟起效的问题,举例说,如实现某个信号(start)起效后,接下来五个周期需要分别进行五种操作,分别是op0,op1,op2,op3,op4 等等。如何进行控制,这就是每个工程师要

2015-11-08 23:19:54 1136

原创 FPGA研发之道(22)-交换矩阵

如果在FPGA设计中,需要多端口,大数据量的交换,那么交换矩阵则是一个不错的实现方案。交换矩阵使用的目的主要有几个,一,灵活的端口转发。通过交换矩阵灵活实现数据流的灵活交换,减少外部负责控制。 二,高效的转发效率,交换矩阵能够实现通常单一总线不能达到的转发效率,满足高吞吐量的系统的需要。三,系统设计以交换矩阵为中心,便于IP集成和模块复用。交换矩阵的实现方案较为复杂,最早的交换沿袭了共享总线式

2015-11-08 23:18:57 2309

原创 FPGA研发之道(21)-鸡肋?

通常认为,SOPC是FPGA设计中的鸡肋,“弃之可惜,食之无味”。诚然,SOPC一直不是FPGA的主流应用设计,制约主要因素则是性能,因为作为处理器使用时,处理器主频是其应用范围的瓶颈(SOPC的软核处理器一般运行几十兆到百兆,而一般的嵌入式处理器系统在几百兆到Ghz的主频)。但是若因此说成“鸡肋”,也确实夸张。厂家推出SOPC的设计,其优点主要有一下几点,其一:是差异化竞争的需要。其二,扩大应用

2015-11-08 23:18:06 1081

原创 FPGA研发之道(20)-片上系统

从最初的占地170平方的第一代ENIAC计算机开始,计算机开始了不断集成化、小型化的发展之旅。现今在单一芯片内部已经能够集处理器,存储,各型协处理器等,从而形成的强大的单芯片的片上系统(SOC),而这些片上系统已存在于生活的方方面面。因此FPGA内部支持片上系统,也算不上是新奇的事情了。ALTERA和XILINX已各自推出了各自应用片上系统(FPGA领域称之为SOPC,因此其片上系统可以根据业务需

2015-11-08 23:16:32 2287

原创 FPGA研发之道(19)- “背靠大树好乘凉”--总线(下)

如果说在PC时代,垄断PC江湖的是WINTEL(微软和英特尔),那么在移动互联网时代,最具有这个潜质的就是谷歌的andriod操作系统和ARM芯片。基于ARM公司授权的各型ARM处理器,基本上在各型嵌入式终端设备占据了垄断地位。“背靠大树好乘凉”,因此,用于作为ARM处理做片上系统互联的AMBA总线标准亦成为业界应用最广泛的标准。AMBA总线事实上为三个总线标准的合集,分别是AHB、ASB、A

2015-11-08 23:15:29 1399

原创 FPGA研发之道(18)-设计不是凑波形(八)总线(上)

如果设计中有多个模块,每个模块内部有许多寄存器或者存储块需要配置或者提供读出那么实现方式有多种,主要如下:实现方式一:可以在模块顶部将所有寄存器引出,提供统一的模块进行配置和读出。这种方式简单是简单,但是顶层连接工作量较大,并且如果配置个数较多,导致顶层中寄存器的数目也会较多。实现方式二:通过总线进行连接,为每个模块分配一个地址范围。这样寄存器等扩展就可以在模块内部进行扩展,而不用

2015-11-08 23:14:02 1653

原创 FPGA研发之道(17)-化繁为简

有个笑话说,有个病人感冒了,于是去看医生,医生诊断后说,你得了感冒,但是我只会治疗肺炎,不如你回家再浇点凉水,把病恶化成肺炎,那我能治了。这个笑话展示了庸医误人。但是另一方面,从逻辑上来讲,医生则是一个把未知问题转化成已知问题的高手。      不说笑话,下面出两个题目,其分别是问题1:运用数字电路,如何将一个时钟域的上升沿,转换成另一个时钟域的脉冲信号(单周期信号)。问题

2015-11-08 23:12:52 722

原创 FPGA研发之道(16)-可测性设计—从大数据开始说起

当下,最火的学问莫过于《大数据》,大数据的核心思想就是通过科学统计,实现对于社会、企业、个人的看似无规律可循的行为进行更深入和直观的了解。FPGA的可测性也可以对FPGA内部“小数据”的统计查询,来实现对FPGA内部BUG的探查。可测性设计对于FPGA设计来说,并不是什么高神莫测的学问。FPGA的可测性设计的目的在设计一开始,就考虑后续问题调试,问题定位等问题。要了解FPGA可测性设计,只不过

2015-11-08 23:11:46 1099

原创 FPGA研发之道(15)-设计不是凑波形(五)接口设计

作为FPGA工程师来说,碰到新的问题是设计中最常见的事情了,技术发展趋势日新月异,所以经常会有新的概念,新的需求,新的设计等待去实现。不是每个通过BAIDU或者GOOGLE都有答案。因此,新的设计经常会有,那如何实现?假设,FPGA需要设计一个接口模块,那我们就需要了解一下几个问题:(1)       同步接口还是异步接口模块;(2)       有哪些信号,功能是什么?(3)

2015-11-08 23:10:34 1091

原创 FPGA研发之道(14)写在coding之前的铁律

写在coding之前的那些铁律 (1)注释: 好的代码首先必须要有注释,注释至少包括文件注释,端口注释,功能语句注释。     文件注释:文件注释就是一个说明文:这通常在文件的头部注释,用于描述代码为那个工程中,由谁写的,日期是多少,功能描述,有哪些子功能,及版本修改的标示。这样不论是谁,一目了然。即使不写文档,也能知道大概。     接口描述:module的接口信号中,接

2015-11-08 23:08:51 835

原创 FPGA研发之道(13)-设计不是凑波形(三)RAM

在FPGA内部资源中,RAM是较为常用的一种资源。     通常实例化RAM中,一种使用为BLOCK RAM 也就是块RAM 。另外资源可以通过寄存器搭,也就是分布式RAM。前者一般用于提供较大的存储空间,后者则提供小的存储空间。     在实际应用过程中,一般使用的包括,单端口、双端口RAM,ROM等形式等不同的形式。 实际应用中FIFO也是利用RAM和逻辑一起实现的。    对于一

2015-11-08 23:06:41 2685

原创 FPGA研发之道(12)-设计不是凑波形(二)FIFO(下)

FIFO在FPGA设计中除了上篇所介绍的功能之外, 还有以下作为以下功能使用:(1)       内存申请 在软件设计中,使用malloc()和free()等函数可以用于内存的申请和释放。特别是在有操作系统的环境下,可以保证系统的内存空间被动态的分配和使用,非常的方便。如果在FPGA内部实现此动态的内存分配和申请,相对来说较为复杂,例如某些需要外部数据存储且需动态改变的应用需求下,

2015-11-08 22:58:07 1155

原创 FPGA研发之道(11)-设计不是凑波形(一)FIFO(上)

FIFO是FPGA内部一种常用的资源,可以通过FPGA厂家的的IP生成工具生成相应的FIFO。FIFO可分为同步FIFO和异步FIFO,其区别主要是,读写的时钟是否为同一时钟,如使用一个时钟则为同步FIFO,读写时钟分开则为异步FIFO。一般来说,较大的FIFO可以选择使用内部BLOCK RAM资源,而小的FIFO可以使用寄存器资源例化使用。    一般来说,FIFO的主要信号包括:

2015-11-08 22:56:36 1432

原创 FPGA研发之道(10)架构设计漫谈(五)数字电路的灵魂-流水线

FPGA研发之道(10)架构设计漫谈(五)数字电路的灵魂-流水线      流水线,最早为人熟知,起源于十九世纪初的福特汽车工厂,富有远见的福特,改变了那种人围着汽车转、负责各个环节的生产模式,转变成了流动汽车组装线和固定操作的人员。于是,工厂的一头是不断输入的橡胶和钢铁,工厂的另一头则是一辆辆正在下线的汽车。这种改变,不但提升了效率,更是拉开了工业时代大生产的序幕。     这种模式常常

2014-07-12 23:18:18 4813

原创 FPGA研发之道(9)架构设计漫谈(三)并行与复用

FPGA研发之道(9)架构设计漫谈(三)并行与复用FPGA其在众多器件中能够被工程师青睐的一个很重要的原因就是其强悍的处理能力。那如何能够做到高速的数据处理,数据的并行处理则是其中一个很重要的方式。数据的并行处理,从结构上非常简单,但是设计上却是相当复杂,对于现有的FPGA来说,虽然各种FPGA的容量都在增加,但是在有限的逻辑中达到更高的处理能力则是FPGA工程师面临的挑战。常用并行计算结

2014-07-11 23:34:08 3796 1

原创 研发之道(8)架构设计漫谈(三)时钟和复位

接口确定以后,FPGA内部如何规划?首先应该时钟和复位。时钟:根据时钟的分类,可以分为逻辑时钟,接口时钟,存储器时钟等;1.         逻辑时钟取决与逻辑的关键路径,最终值是设计和优化的结果,从经验而不是实际出发:低端FPGA(cyclone spantan)工作频率在40-80Mhz之间,而高端器件(stratix virtex)可达100-200Mhz之间,根据各系列的先

2014-07-10 23:21:20 1720

原创 FPGA研发之道(7)架构设计漫谈(二)

FPGA研发之道(7)架构设计漫谈(二)    敏捷开发宣言中,有一条定律是“可以工作的软件胜过面面俱到的文档”。如何定义可可以工作的,这就是需求确定后架构设计的首要问题。而大部分看这句话的同志更喜欢后半句,用于作为不写文档的借口。FPGA的架构设计最首先可以确定就是外接接口,就像以前说的,稳定可靠的接口是成功的一半。接口的选择需要考虑几个问题。1,  有无外部成熟IP。一般来说,

2014-07-09 23:01:41 1770

原创 FPGA研发之道(6)架构设计漫谈(一)

勿用讳言,现在国内FPGA开发还处于小作坊的开发阶段,一般都是三、四个人,七八台机器.小作坊如何也能做出大成果。这是每个FPGA工程师都要面临的问题。架构设计是面临的第一关。经常有这样的项目,需求分析,架构设计匆匆忙忙,号称一两个月开发完毕,实际上维护项目就花了一年半时间。主要包括几个问题,一,性能不满足需求。二,设计频繁变更。三,系统不稳定,调试问题不收敛。   磨刀不误砍柴工,FPGA设计

2014-07-08 22:43:37 4205 1

原创 FPGA研发(5)从零开始调试FPGA。

对于新手来说,如何上手

2014-07-07 22:49:48 2898 1

原创 FPGA研发(4)灵活性的陷阱

如果说用一个词来说明,

2014-07-06 22:47:33 1344

原创 FPGA研发(3) FPGA和他那些小伙伴们 (二) 器件互联。

架构确定,下一步就是如何互联,

2014-07-06 14:10:29 1864

原创 FPGA研发(2) FPGA和他那些小伙伴们 (一) 架构组成。

FPGA是个什么玩意(2) 器件的选型

2014-07-05 23:15:25 2050

原创 FPGA研发(1)FPGA是个什么玩意?

作为一个有着6年

2014-07-05 11:02:45 1599

空空如也

空空如也

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

TA关注的人

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