面试必考丨你知道FIFO是什么吗?一节课让你熟练掌握FIFO
“这位同学,能占用你一点时间吗?我希望能跟你讲一下IC设计中的必备技能—FIFO”
FIFO是什么?
First in, First out
代表先进的数据先出 ,后进的数据后出,它代表的是一种先进先出的设定。
在现代集成电路芯片中,随着设计规模不断扩大,一个系统里往往含有数个时钟,理想状态下我们希望所有数据传输都可以同步进行的,但设计终究不是理想化的,多时钟域的产生必然会引出一个问题:如何设计异步时钟之间的接口电路?
这个时候,异步FIFO的价值和意义就显露无疑,大多数情况下我们所讨论的FIFO都是异步FIFO。
基本上所有IC设计的岗位,FPGA也好、数字IC也好、设计也好、验证也好,都需要对FIFO有足够的掌握。
如果说,Verilog是IC设计门槛的话,那FIFO就是让你更上一层楼的阶梯。
无论你是科班同学,还是非科班转行,只是掌握数电模电,Verilog还远远不够。
企业需要考核的知识技能有很多,显然FIFO就是最多问到的知识之一。
根据过往经验看,海思、字节跳动、阿里平头哥等大厂在面试时都提问过关于FIFO的相关问题。FIFO对于芯片工程师的重要性可见一斑。
相信大家平时所搜集的IC笔试题和面试题中,自然也少不了FIFO的身影:
你对fifo熟悉吗?谈谈如何判断fifo的空满状态?
fifo有同步的和异步的,它们有什么区别?
对于异步fifo,如何处理空满时的同步问题?还可以采用什么方法?
。。。
试问,以目前你所掌握的知识,是否能在面试的时候对答如流?
你的对手自信从容地答出了正确答案,你则是支支吾吾说不出话,那这场面试的结果相信可以不言而喻了。
目前,我们可以将同学们大致分为三种类型:
刚刚了解IC设计,什么都不懂:“FIFO是啥?我连数电模电都还没看呢?”科班同学或转行有一段时间:“FIFO我知道,但具体要掌握什么,了解什么?”对FIFO有一定认知的:“我了解FIFO,但我还需要知道怎么去应用,怎么更进一步。”知其然还要知其所以然,这是一个IC设计工程师需要贯彻始终的理念。
制胜的关键就在于比别人学的更多,为了让大多数同学可以了解FIFO,掌握FIFO,IC修真院年末推出一堂公开课:
数字IC精讲课|教你一步一脚印零基础学懂FIFO
本次课程由IC修真院拥有十多年经验的工程师深入讲解FIFO设计并配套例题,讲练结合。
时间在100分钟左右,从FIFO原理、FIFO应用场景、FIFO深度宽度三个部分展开,帮助大家快速掌握FIFO设计方法。
公开课大纲:
FIFO是什么?有哪些应用场景?在行业里是如何被广泛应用的?FIFO的原理是什么?在设计一款FIFO前需要考虑什么?从工程师角度出发,拿到FIFO模块,在工作中的流程是怎样的?在ASIC前端面试中被问到异步FIFO时,如何对答如流?直播过程中我们会统计出大家提的问题,在最后的答疑环节中,老师会统一解答,因为直播时间有限,如果有问题没有来得及回答或者遗漏掉,大家也可以加入我们的IC修真院学习交流群,专门有老师做课后答疑,大家也可以一起讨论,加深学习记忆。
华为公司申请数据传输电路、芯片和终端专利,能检测数据信号在FIFO电路中传输时是否出错
金融界2023年12月15日消息,据国家知识产权局公告,华为技术有限公司申请一项名为“数据传输电路、芯片和终端“,公开号CN117242441A,申请日期为2021年8月。
专利摘要显示,本申请实施例提供了一种数据传输电路、芯片和终端,涉及集成电路技术领域,根据第一标识信号和第二标识信号,检测数据信号在FIFO电路中传输时是否出错。该数据传输电路包括FIFO电路、标识生成电路、比较器、数据生成电路和数据接收电路。数据生成电路可以向FIFO电路写入数据信号,与此同时,标识生成电路可以向FIFO电路写入第一标识信号。之后,在读使能信号的控制下,标识比较电路接收FIFO电路读出的第一标识信号和标识生成电路生成的第二标识信号,数据接收电路接收FIFO电路读出的数据信号。标识比较电路可以基于同一读使能信号作用下接收的第一标识信号和第二标识信号,指示数据信号在FIFO电路中传输时是否发生错误。
本文源自金融界
相关问答
usb1芯片作用?
USB芯片也分为Controller部分和PHY部分:Controller部分主要实现USB的协议和控制。内部逻辑主要有MAC层、CSR层和FIFO控制层,还有其他低功耗管理之类层次:(1)...
存储器芯片由哪些电路组成?其作用是什么?
用2k*4的RAM芯片组成32KB的外扩存储器,共需芯片32片。芯片指内含集成电路的硅片,体积很小,常常是计算机或其他电子设备的一部分。存储器(Memory)是...用2k*...
uast是什么?
UART:UniversalAsynchronousReceiver/Transmitter,通用异步接收/发送装置,UART是一个并行输入成为串行输出的芯片,通常集成在主板上,多数是16550...
芯片设计中,最难的是架构设计还是验证?
芯片设计这个行当,从大的方面讲,主要分模拟和数字两大块,而每大块又分前端和后端,我想大部分同学对这个肯定是非常清楚的,下面就数字电路聊聊芯片设计的一...
智能化集成系统中时钟系统是什么?
常看到说,时钟信号是用来“同步”系统各器件(CPU、内存、总线等)的工作的。但是这里的“同步”实在是太笼统了。什么是“同步”?各器件为什么要同步?通常所...
bga是什么时间出现的
各位业内同行:晚上好!关于用有铅锡锡膏做无铅元件时会造成什么不良,不良原因是什么?1、元件引脚无铅镀层是否能很好的与有铅锡膏形成良好的合金,是...
mAX1348是什么IC?
MAX1348是12-Bit,多通道ADCs/DACs带有FIFO,温度传感器和GPIO端口。MAX1348是12-Bit,多通道ADCs/DACs带有FIFO,温度传感器和GPIO端口。
诸位行家,麻烦回答一下!山东数据采集仪参数,数据采集仪哪...
[回答]常用的有单端32路/差分16路、单端16路/差分8路●采样频率:单位时间采集的数据点数,与AD芯片的转换一个点所需时间有关,例如:AD转换一个点需要T=10uS...
NIUSB6211数据采集卡与PLC的比较-ZOL问答
数据采集卡一般用来采集模拟量信号,采样频率可以很高,而PLC一般用在工业上,逻辑控制功能比较强大,相对来说数据处理能力就弱一些;而且,PLC不用来做...
计算机存储器中一个字节包括的二进制位是-ZOL问答
存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路...