FPGA设计中遇到的奇葩问题之“芯片也要看出身”(一)

摘要: 昨夜西风凋碧树。独上高楼,望尽天涯路 2000年的时候,做设计基本都是使用Xilinx公司的Virtex和Virtex-E系列芯片。那时候Altera技术实力还比较弱,基于Altera的芯片做设计是要被大家diss的。

昨夜西风凋碧树。独上高楼,望尽天涯路

2000年的时候,做设计基本都是使用Xilinx公司的Virtex和Virtex-E系列芯片。那时候Altera技术实力还比较弱,基于Altera的芯片做设计是要被大家diss的。某天晚上大概十点多了吧,我正如痴如醉的沉浸在编码的快感当中。主管悄无声息的站到了我身后,我从显示器中看到了隐约的影子,转头一看果然是他老人家。

主管神色凝重,眉头紧蹙。我在脑子里迅速回顾了一下自己最近的所作所为,确信没干什么罪大恶极、自绝于人民的坏事儿,用颤抖的语气小心翼翼的问:老大,您找我?老大的神色迅速地转换,分明在说:蠢货,你又不是什么萌妹子,要是没事儿你以为我老人家愿意屈尊站到你这儿么?after一个蓝衣女子般的风情万种的白眼之后,老大终于开腔了。

“我们学理科的都不信鬼神对吧?”大哥,你这是什么开场白?!我那会儿不过才工作两年多,纯洁的像一张黑不溜秋的白纸,根本识别不了您这是准备给我刨什么坑好吧,为啥你要给我出这样的难题?老大露出了一些不耐烦:“几个月之前到现在,有一批单板邪门儿了,有的工作正常,有的就不断的出乱码。经过大家夜以继日没白没黑呕心沥血玩儿命的加班定位之后,大家一致认为问题出在这块单板上的FPGA上”。早说嘛,FPGA我熟啊。“老大,问题既然都定位了,那就解决嘛”。老大露出了诧异的神情:我X,你这货是怎么混进我司的?回头老子要找当初面试你的人算账!老大深吸了一口气,带着“老子再忍你十秒钟的神情”继续说:“这个FPGA一共9000多接近一万行代码,最关键的是,设计这个FPGA的同事三周前就离职了。现在虽然确定了问题出在这个FPGA,但是究竟是什么问题还不知道。所以呢,大家商量了一下,决定暂时把你抽调出来,全力投入这个事情。一呢,要搞清楚到底是什么问题,二呢,把问题彻底解决掉”。

要不怎么说当年的我就是纯洁啊,要是放到现在,这肯定是一个绝佳的跟老大讨价还价、多给自己争取个仨瓜俩枣的好机会啊。彼时单纯(其实就是弱智)的我却觉得天大的展示自己身手的时刻终于到来了,于是欣然接受。老大神情轻松了一些,但还带着少许疑惑:这货不知道行不行,但愿不要把老子也坑了。然后溜溜达达的走了。

隐达,阿里云资深专家,花名的意思就是做人隐,做事达。业余时间喜欢看美剧和读书,尤其是历史书;还喜欢喝点小酒侃大山,喝酒只喝啤酒和威士忌;酒量比较差,但是酒品还过得去。我在某通信公司工作了18年,其中十年的大规模FPGA/ASIC开发和系统设计,刚刚加入阿里云,负责FPGA/ASIC异构计算,So happy to be Ali Ren,很荣欣能在云栖社区和大家一起交流,学习!

原文链接

原文地址:http://blog.51cto.com/13679539/2118951

时间: 2024-10-13 19:23:59

FPGA设计中遇到的奇葩问题之“芯片也要看出身”(一)的相关文章

FPGA 设计中的流量,时滞,时序

FPGA 设计中的流量,时滞,时序 流量:每个时钟周期能够传输的数据位. 时滞:数据从输入到输出需要经历的时钟周期: 时序:两个元件之间的最大延迟,他决定系统的最高时钟速度. 1 采用流水线可以提高 流量: 例如计算X^3,迭代结构 流水线: 此时 流量=8/1 时滞=3 时序=乘法器延迟 2 如果要求低时滞则可以去掉寄存器 3 降低时序,提高时钟频率的方法 FPGA 设计中的流量,时滞,时序

影响FPGA设计中时钟因素的探讨【转】

Crazy Bingo Learn to walk first before you want to run- 影响FPGA设计中时钟因素的探讨 http://www.fpga.com.cn/advance/skill/speed.htm http://www.fpga.com.cn/advance/skill/design_skill3.htm 时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错

[转]消除FPGA设计中的毛刺问题

一.FPGA(Field Programmable Gate Array)以其容量大.功能强以及可靠性高等特点,在现代数字通信系统中得到广泛的应用.采用FPGA设计数字电路已经成为数字电路系统领域的主要设计方式之一.在FPGA的设计中,毛刺现象是长期困扰电子设计工程师的设计问题之一,是影响工程师设计效率和数字系统设计有效性和可靠性的主要因素.由于信号在FPGA的内部走线和通过逻辑单元时造成的延迟,在多路信号变化的瞬间,组合逻辑的输出常常产生一些小的尖峰,即毛刺信号,这是由FPGA内部结构特性决定

当今Web设计中存在的5大争议 ,你怎么看?

在 Web 空前繁荣的今天,有关 Web 设计中的各种观点很多会成为话题,有的很快达成一致,有的则一直争议下去,本文讲述 Web 设计中的 5 大经典争议,这些争议从它们诞生的那天起,就被正反两方争得不亦乐乎. 争议之一:链接是否应该在新窗口打开 正方: 外部链接应该始终从新窗口打开,当你浏览一个站点的时候,点击了一个链接,却被带到另外一个站点,你在这个站点的会话也因此丢失,这实在令人恼怒. 因此,站点内的链接可以在现有窗口打开,而站点外链接则应该在新窗口打开. 反方: 作为 Web 设计师,我

FPGA设计中对输入信号的处理

总而言之,五条原则: 1.全局时钟的跳变沿最可靠2.来自异步时钟域的输入需要寄存一次以同步化,再寄存一次以减少亚稳态带来的影响3.不需要用到跳变沿的来自同一时钟域的输入,没有必要对信号进行寄存4.需要用到跳变沿的来自同一时钟域的输入,寄存一次即可5.需要用到跳变沿的来自不同时钟域的输入,需要用到3个触发器,前两个用来同步,第3个触发器的输出和第2个的输出经过逻辑门来判断跳变沿

FPGA数字逻辑设计中一些重要的基本概念

一.关于建立时间与保持时间 建立时间(Tsu:Setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,建立时间不够,数据将不能在这个上升沿被打入触发器:保持时间(Th:Hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器.首先:建立时间和保持时间都是器件要求的特性,其中建立时间是器件输入端在时钟信号有效沿到来前,要求输入信号稳定不变的时间,保持时间是器件输入端要求输入信号在时钟信号有效沿到来后保持稳定不变

FPGA异步时钟设计中的同步策略

1 引言    基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免.如果对跨时钟域带来的亚稳态.采样丢失.潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行.本文总结出了几种同步策略来解决跨时钟域问题. 2 异步设计中的亚稳态    触发器是FPGA设计中最常用的基本器件.触发器工作过程中存在数据的建立(setup)和保持(hold)时间.对于使用上升沿触发的触

Verilog设计中的锁存器

问题: 什么是锁存器? 什么时候出现锁存器? 锁存器对电路有什么影响? 如何在FPGA设计中避免锁存器? 在FPGA设计中应该避免锁存器.实际上,锁存器与D触发器实现的逻辑功能基本相同,都有暂存数据的功能.但如果两者都由与非门搭建的话,锁存器耗用的逻辑资源要比D触发器少(D触发器需要12个MOS管,锁存器只需6个MOS管),锁存器的集成度更高.所以在的ASIC设计中会用到锁存器.但锁存器对毛刺敏感,无异步复位端,不能让芯片在上电时处在确定的状态:另外,锁存器会使静态时序分析变得很复杂,不利于设计

FPGA设计流程

FPGA设计人体分为设计输入.综合.功能仿真(前仿真).实现.时序仿真(后仿真).配置下载等六个步骤,设计流程如图2所示.下面分别介绍各个设计步骤. 1 设计输入 设计输入包括使用硬件描述语言HDL.状态图与原理图输入三种方式.HDL设计方式是现今设计大规模数字集成电路的良好形式,除IEEE标准中VHDL与Verilog HDL两种形式外,尚有各自FPGA厂家推出的专用语言,如Quartus下的AHDL.HDL语言描述在状态机.控制逻辑.总线功能方面较强,使其描述的电路能特定综合器(如Synop