数字IC笔试面试常考问题及答案汇总(内含各岗位大厂题目)

经历了无数的笔试面试之后,不知道大家有没有发现数字IC的笔试面试还是有很多共通之处和规律可循的。所以一定要掌握笔试面试常考的问题。

数字IC笔试面试常考问题及答案汇总(文末可领全部哦~)

在这里插入图片描述

验证方向(部分题目)

Q1.定宽数组、动态数组、关联数组、队列各自的特点和使用方式。
队列:队列结合了链表和数组的优点,可以在一个队列的任何位置进行增加或者删除元素。其通过[ ] 这样的符号进行申明 : i n t q [ ]这样的符号进行申明: int q[ ]这样的符号进行申明:intq[],使用广泛,多应用与scoreboard;

定宽数组:属于静态数组,编译时便已经确定大小。其可以分为压缩定宽数组和非压缩定宽数组:压缩数组是定义在类型后面,名字前面;非压缩数组定义在名字后面。Bit [7:0][3:0] name压缩数组(存储空间连续); bit[7:0] name [3:0]非压缩数组(存储空间非连续);

动态数组:其内存空间在运行时才能够确定,使用前需要用new[]进行空间分配。

关联数组:其主要针对需要超大空间但又不是全部需要所有数据的时候使用,类似于hash,通过一个索引值和一个数据组成: bit [63:0] name[bit[63:0]];索引值必须是唯一的,该部分的重点要学习关联数组的遍历方法。

Q2.fork…join/fork…join_any/fork…join_none之间的异同
fork…join:内部 begin end块并行运行,直到所有线程运行完毕才会进入下一个阶段。

fork…join_any:内部 begin end块并行运行,任意一个begin end块运行结束就可以进入下一个阶段。

fork…join_none:内部 begin end块并行运行,无需等待可以直接进入下一个阶段。

Q3.mailbox、event、semaphore之间的异同
mailbox:主要用于两个线程之间的数据通信,通过put函数和 get 函数还有peek函数进行数据的发送和获取。

event:事件主要用于两个线程之间的一个同步运行,通过事件触发和事件等待进行两个线程间的运行同步。使用@(event)或者 wait(event.trigger)进行等待,->进行触发。

semaphore:旗语主要是用于对资源访问的一个交互,通过key的获取和返回实现一个线程对资源的一个访问。使用put和 get函数获取返回key。一次可以多个。

Q4.@(event_handle)和wait(event_handle.triggered)区别
@(event_handle):边沿触发,事件会一直等待,直到触发为止,阻塞型;

wait(event_handle.triggered):电平触发,如果事件在当前已经被触发,则不会引起阻塞,非阻塞型,当event被多次触发时,避免使用wait.

Q5.task和function异同区别
function:至少要有一个输入变量,一个返回值,只能运用于纯粹的数字或者逻辑运算 ;

task:可以内置常用的耗时语句,可能会被运用于需要耗时的信号采样或者驱动场景。

如果要调用function,则使用function和task均可对其调用;而如果要调用task,建议使用task来调用,这是因为如果被调用的task内置有耗时语句,则外部调用它的方法类型必须为task.

Q6.使用clocking block的好处
Interface:是一组接口,用于对信号进行一个封装,捆扎起来。如果像 verilog中对各个信号进行连接,每一层我们都需要对接口信号进行定义,若信号过多,很容易出现人为错误,而且后期的可重用性不高。因此使用interface接口进行连接,不仅可以简化代码,而且提高可重用性,除此之外,interface内部提供了其他一些功能,用于测试平台与DUT之间的同步和避免竞争。

Clocking block:在interface内部我们可以定义clocking块,可以使得信号保持同步,对于接口的采样和驱动有详细的设置操作,从而避免TB与 DUT的接口竞争,减少我们由于信号竞争导致的错误。采样提前,驱动落后,保证信号不会出现竞争。

Q7.同步FIFO和异步FIFO的作用和区别
FIFO在硬件上是一种地址依次自增的Simple Dual Port RAM,按读数据和写数据工作的时钟域是否相同分为同步FIFO和异步FIFO,其中同步FIFO是指读时钟和写时钟为同步时钟,常用于数据缓存和数据位宽转换;异步FIFO通常情况下是指读时钟和写时钟频率有差异,即由两个异步时钟驱动的FIFO,由于读写操作是独立的,故常用于多比特数据跨时钟域处理。

Q8.SystemVerilog中OOP的三大特性
类主要有三个特性:封装、继承、多态。

封装:通过将一些数据和使用这些数据的方法封装在一个集合里,成为一个类。

继承:允许通过现有类去得到一个新的类,且其可以共享现有类的属性和方法。现有类叫做基类,新类叫做派生类或扩展类。

多态:得到扩展类后,有时我们会使用基类句柄去调用扩展类对象,这时候调用的方法如何准确去判断是想要调用的方法呢?通过对类中方法进行virtual声明,这样当调用基类句柄指向扩展类时,方法会根据对象去识别,调用扩展类的方法,而不是基类中的。而基类和扩展类中方法有着同样的名字,但能够准确调用,叫做多态。

Q9.详述对于ref类型的理解
ref参数类型是引用。向子程序传递数组时应尽量使用ref获取最佳性能,如果不希望子程序改变数组的值,可以使用const ref类型。在任务里可以修改变量而且修改结果对调用它的函数随时可见。

Q10.外部约束如何使用,有哪几种方式
使用方法例示:

class Packet; rand bit [7:0] length; rand bit [7:0] payload[];
constraint c_valid {length > 0;payload.size() == length;} constraint
c_external; endclass constraint Packet::c_external {length == 1;}
//外部约束

随机化是SV中极其重要的一个知识点,通过设定随机化和相关约束,我们可以自动随机想要的数据。

权重约束 dist: 有两种操作符::=n :/n 第一种表示每一个取值权重都是n,第二种表示每一个取值权重为n/num。

条件约束 if else 和->(case): if else 就是和正常使用一样;->通过前面条件满足后可以触发后面事件的发生。

范围约束inside:inside{[min:max]};范围操作符,也可以直接使用大于小于符号进行,不可以连续使用,如 min<wxm<max 这是错误的。

在这里插入图片描述

前端设计方向(部分题目)

1.什么是同步逻辑和异步逻辑?
同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。

改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

2.同步电路和异步电路的区别:
同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,只有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。

3.时序设计的实质:
时序设计的实质就是满足每一个触发器的建立/保持时间的要求。

4.建立时间与保持时间的概念?
建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。

5.为什么触发器要满足建立时间和保持时间?

因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在 0 和 1 之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。

这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。(比较容易理解的方式)

换个方式理解:需要建立时间是因为触发器的 D 端像一个锁存器在接受数据,为了稳定的设置前级门的状态需要一段稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。

6.什么是亚稳态?为什么两级触发器可以防止亚稳态传播?

这也是一个异步电路同步化的问题。亚稳态是指触发器无法在某个规定的时间段内到达一个可以确认的状态。使用两级触发器来使异步电路同步化的电路其实叫做“一位同步器”,他只能用来对一位异步信号进行同步。

两级触发器可防止亚稳态传播的原理:假 设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时 间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的 数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。

更确切地说,输入脉冲宽度必须大于同步时钟周期与第一级触发器所需的保持时间之和。最保险的脉冲宽度是两倍同步时钟周期。所以,这样的同步电路对于从较慢的时钟域来的异步信号进入较快的时钟域比较有效,对于进入一个较慢的时钟域,则没有作用。

7.时序约束的概念和基本策略?

时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,使设计达到时序要求。附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。

附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对 FPGA/CPLD 输入输出 PAD 附加偏移约束、对全组合逻辑的 PAD TO PAD 路径附加约束。附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

8.锁存器(latch)和触发器(flip-flop)区别?
电平敏感的存储器件称为锁存器。可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。有交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。

9.FPGA 芯片内有哪两种存储器资源?
FPGA 芯片内有两种存储器资源:一种叫 BLOCK RAM,另一种是由 LUT 配置成的内部存储器(也就是分布式 RAM)。BLOCK RAM 由一定数量固定大小的存储块构成的,使用 BLOCK RAM 资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的 BLOCK RAM 资源是其块大小的整数倍。

10.什么是时钟抖动?
时钟抖动是指芯片的某一个给定点上时钟周期发生暂时性变化,也就是说时钟周期在不同的周期上可能加长或缩短。它是一个平均值为 0 的平均变量。

后端方向(部分题目)

• 1) Chip utilization depends on ___.
a.Only on standard cells
b.Standard cells and macros
c.Only on macros
d.Standard cells macros and IO pads

• 2) In Soft blockages ____ cells are placed.
a.Only sequential cells
b.No cells
c.Only Buffers and Inverters
d.Any cells

• 3) Why we have to remove scan chains before placement?
a.Because scan chains are group of flip flop
b.It does not have timing critical path
c.It is series of flip flop connected in FIFO
d.None

• 4) Delay between shortest path and longest path in the clock is called ____.
a.Useful skew
b.Local skew
c.Global skew
d.Slack

• 5) Cross talk can be avoided by ___.
a.Decreasing the spacing between the metal layers
b.Shielding the nets
c.Using lower metal layers
d.Using long nets

请列举一下导入后端设计需要哪些文件?

此题经常容易被作为笔试题,考察学生的时序基础理解能力 本质上,standard cell delay 由 cell 的 input transition 和 output load 决定 PVT作为外部条件,也会影响到 cell 的 delay。应该理解到 PVT 与 delay 的关 系是怎么样? 建议: 比较全面的回答是在同一种 PVT 条件下,cell delay 由 inputtransition 和 output load 决定

请列举几个你知道的sdc命令,并说出它的用途?

回顾常见的sdc命令:描述芯片的工作速度,即时钟的频率,包括 create_clock,create_generated_clock 等

描述芯片的边界约束,包括 set_input_delay,set_output_delay 等描述芯片的一些设计违反 rule(DRV),包括 set_max_fanout,set_max_capacitance, set_max_transition 等
描述设计中一些特殊的路径,包括 set_false_path, set_multicycle_path 等

描述设计中一些需要禁止的timing arc,例如 set_disable_timing

请说一下 drv 的概念,主要包含哪些内容?
Max transition, max capacitance, max fanout 为什么优先修复,课上提过多次,需要记牢 可以特意和面试官指出:max fanout 不需要修复

版图方向(部分题目)

在这里插入图片描述
在这里插入图片描述

IC笔试面试经验(26家大厂)

在这里插入图片描述

由于篇幅限制,就不一一更新所有题目了,以上都可以分享大家。如果需要那个方向的笔面试题目,可按需领~

这里放一个口:IC笔面试题目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/57182.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字IC笔试/面试题

1、什么是同步逻辑和异步逻辑&#xff1f; 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑的特点&#xff1a;各触发器的时钟端全部连接在一起&#xff0c;并接在系统的时钟端&#xff0c;只有当时钟脉冲到来时&#xff0c;电路…

数字IC笔试面试常考问题及答案

来源&#xff1a;知乎 链接&#xff1a;https://zhuanlan.zhihu.com/p/261298869 基础知识 原理务必理解透彻。 锁存器的结构-DFF的结构-建立保持时间-亚稳态-STA-CDC。 亚稳态的成因&#xff0c;危害&#xff0c;解决方法。 建立保持时间的计算&#xff0c;违例的Fix&#x…

3D建模除了日常工作,私下还可以赚外快哦,分分钟嗨赚

学习了游戏建模&#xff0c;肯定是想赚些外快的&#xff0c;可是有哪些地方可以提供这些方便呢&#xff1f;接下来陌陌就来说说了 APP和网站 八戒网&#xff1a;一个比较老的网站&#xff0c;会有一些企业发单&#xff0c;有很多任务&#xff0c;如果能力够不仅能赚取还能给对…

网上赚钱并不适合所有人!你为何没有在网上赚到钱!

为何100个人在网上开端挣钱&#xff0c;最后能挣钱的不到10个人呢&#xff1f;其实网上现在挣钱早已不是早期那么简略了&#xff01;互联网最开端也许是为了把各个地方的人链接在一起&#xff0c;可是不知道从什么时候开端互联网上的人逐渐形成了一个集体然后再到一个圈子。 ​…

飞迈阁带你了解网上赚钱

中国互联网的发展近20年左右&#xff0c;网兼也曾经有过非常多的值得很多人回忆与唠嗑的时​代&#xff0c;每个时代都存在着变富的人&#xff0c;在这些人的背后有的是沧桑&#xff0c;有的是肮脏&#xff0c;网兼就是如此&#xff0c;它本来就差不多是一个毁誉参半的圈子。 当…

AI绘画美女项目成功案例分享:3种变现方式让你赚翻!

的“真人AI绘画美女项目”是指使用人工智能技术绘制美女人脸的项目。这些图片通常呈现出高度的美感和完美的外貌&#xff0c;很难分辨其真实性。这类项目在抖音、小红书等社交平台上备受欢迎&#xff0c;吸引了大量的粉丝和点赞&#xff0c;尽管有人认识到这些图片是使用AI绘制…

美女画画赚钱月入10万,不懂画画你也可以月入1万

今天打开腾讯新闻&#xff0c;看到了这么一个信息&#xff0c; 这条新闻你可能也看到了&#xff0c;现在我把它贴出来&#xff0c;不妨再看一次&#xff01; 视频当中的主角&#xff1a;潘绫莹&#xff0c;从事的是油画定制&#xff0c;一副作品3800起&#xff0c;淡季的时候一…

作为全新流量密码,AI绘画到底怎么挣钱?

普通用户使用AI绘画进行创作&#xff0c;若自用或分享在社交媒体&#xff0c;免费额度已足够尝鲜&#xff0c;愿意为之付费的人寥寥无几。 尽管变现方式尚不明朗&#xff0c;这门象征着未来的生意&#xff0c;仍然影响着不少公司的命运。 流水一般的开支就像倒计时&#xff0c;…

盘点6个靠谱正规的赚钱软件(有用赶快收藏)

近年来&#xff0c;越来越多的人开始关注如何通过软件来赚钱。那么&#xff0c;到底哪些赚钱软件是靠谱的呢&#xff1f; 首先&#xff0c;我们要明白什么是赚钱软件。简单说&#xff0c;就是利用电脑、手机或平板电脑上的应用程序来完成某些金钱相关的任务&#xff0c;而这些…

为什么酷狗7歌词总是显示未能在服务器上找到歌词,热点 | 昨晚,周杰伦新歌上线,结果服务器崩溃,朋友圈沦陷了!MV彩蛋你看懂没?...

前阵子周杰伦夕阳红粉打榜超话 霸屏的盛况还历历在目昨晚&#xff0c;周杰伦新歌《说好不哭》上线直接把微博热搜给“爆”掉 新单曲还是熟悉的配方方文山作词周杰伦作曲 (点击播放视频) 歌词 ▼ 《说好不哭》 词&#xff1a;方文山 曲&#xff1a;周杰伦 没有了联络后来的生活 …

【水贴】如何将pdf发送到使用kindle的心路历程

由于kindle连上电脑不显示盘符&#xff0c;只能充电&#xff0c;想尽办法把 高可用架构.pdf 这本书传到kindle中 1. 试图使用ftp服务&#xff0c;让kindle直接访问 vsftpd搭建后&#xff0c;ftp服务端配置文件地址是/etc/vsftpd/vsftpd.conf&#xff0c;文件目录是/var/ftp/p…

周杰伦新歌《说好不哭》上线,程序员哭了......

前些天&#xff0c;场主的朋友圈被一首歌刷屏了。 数据有多牛逼&#xff1f;除了揽获各大新闻头条&#xff0c;新歌发售3小时&#xff0c;数字专辑就在QQ音乐卖了360万张。以单价3元计算&#xff0c;一首《说好不哭》已狂揽千万&#xff0c;无人匹敌。 结果因为访问量太大&…

在波点音乐听周杰伦新歌专辑,一起“用音乐穿越”

7月8日0点&#xff0c;周杰伦新专辑《最伟大的作品》正式开启预售&#xff0c;全宇宙的杰迷集体“过年”。但与想象中不同的是&#xff0c;办公室里以00后、95后为首的年轻同事&#xff0c;竟然早就在一个叫波点音乐的APP上预约过了。不仅如此&#xff0c;周杰伦还为波点音乐的…

周杰伦新歌发布,爬取《Mojito》MV弹幕,看看粉丝们都说的些啥!

6月12日凌晨0点&#xff0c;Jay Chou最新单曲《Mojito》正式上线&#xff0c;仅上线1小时销售量就超过百万张&#xff0c;预计今天这首单曲的销量仍然会继续攀升。这次新歌的歌名叫做《Mojito》&#xff0c;翻译成中文是莫吉托&#xff0c;一种巴西鸡尾酒&#xff0c;怪不得观看…

如何免费在线听周杰伦的歌曲

我平常用网易云来听音乐 http://music.163.com/ &#xff0c;网易云除了歌好听&#xff0c;评论更有故事。 之前已经写过网易云音乐了&#xff0c;有兴趣看看之前的文章那些你可能不知道的网易云音乐奇技淫巧 可惜周杰伦的大部分歌曲网易没有版权&#xff0c;还好我保存了一份…

周杰伦新歌《说好不哭》上线,程序员哭了......【华为云分享】

前些天&#xff0c;场主的朋友圈被一首歌刷屏了。 数据有多牛逼&#xff1f;除了揽获各大新闻头条&#xff0c;新歌发售3小时&#xff0c;数字专辑就在QQ音乐卖了360万张。以单价3元计算&#xff0c;一首《说好不哭》已狂揽千万&#xff0c;无人匹敌。 结果因为访问量太大&…

独家 | AI聊天机器人成为安全灾难的三种形式(附链接)

作者&#xff1a;Melissa Heikkil 翻译&#xff1a;李洪君 校对&#xff1a;zrx本文约1000字&#xff0c;建议阅读8分钟本文介绍了AI聊天机器人在当下被恶意行为者用来破解、辅助网络诈骗和数据污染的三种影响网络安全的形式。 现在&#xff0c;AI语言模型是技术领域最炙手可热…

不要让GPT成为你通向“学业作弊”的捷径——使用GPT检测工具来帮助你保持正确的方向

不要让GPT成为你通向“学业作弊”的捷径——使用GPT检测工具来帮助你保持正确的方向 最近&#xff0c;多所美国高校以及香港大学等都明确禁止在校使用ChatGPT等智能文本生成工具。GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一种自然语言处理技术&#x…

chatgpt赋能python:Python对接接口:一种高效的数据交互方式

Python对接接口&#xff1a;一种高效的数据交互方式 在现代数字化时代&#xff0c;软件系统之间的信息共享已经成为了一种必不可少的需求。这也就使得各种不同语言和不同框架之间的接口对接成为了程序员们在日常工作中必须掌握的技能之一。Python作为一个简洁高效的编程语言&a…

【古风女孩-InsCode Stable Diffusion 美图活动一期】

介绍 InsCode InsCode是一个集成了在线IDE、在线AI编程、在线算力租赁、在线项目部署以及在线SD 模型使用的综合代码开发平台。不论你是初级软件工程师&#xff0c;还是AI大模型爱好者&#xff0c;InsCode都能帮助你快速编写代码&#xff0c;运行项目。甚至在这里你还可以一键…