平头哥 芯片设计工程师 一面面经
专业测试
我记得很多公司用的性格测试都是这家网站,就是那种:30分钟短文题 + 30分钟图表题 + 30分钟符号题 + 20分钟选符合/不符合的题,各位正常发挥就行。
一面·技术面【1小时】
自我介绍
做项目时时序约束是怎么约束的 -我还没说完,但是他好像觉得差不多了,所以就换问题了
单bit跨时钟域方法(CDC),非脉冲&脉冲的都说说
当我们不知道两个时钟域的时钟关系时,想传递脉冲信号,我们应当怎么做CDC?(可以保证源时钟域的脉冲信号间隔足够远)
a. 引入反馈(我一开始说的这个,然后他说一般工程上没有这么复杂)
b. 2-phase handshake的方法握手——大概就是源时钟域的latch每来一个脉冲就翻转一次,目的时钟域只用检验latch的跳变沿并翻译成脉冲即可。
多比特(CDC)处理方法,DMUX跨时钟域有哪些问题,怎么处理(不愧是华为出来的)
同步复位和异步复位的异同优缺
异步复位有哪些时序问题,什么时候异步复位时序违例不需要考虑
AXI中怎么保证乱序还知道谁是谁的?怎么知道Slave接收的顺序和Master发出的顺序一致的? -ID
介绍一下outstanding
AHB中,为什么有一个ready_out和ready_in(Slave为什么又要发出ready又要接收ready)
是否了解CPU中地址分配(mem和device的地址分配、好像是什么cache分配什么的,后来发现我不是很了解所以没问,我也没记住问题)
出了道题:(类似于找1在哪)
有5个成递增关系的32bit地址值,彼此之间的间隔大小不确定,可以把他们当成parameter来输入模块,现有一个32bit输入数据,要求用尽量少资源去的判断这个数处于哪2个地址之间(地址区间),并且输出区间号。(我用的组合逻辑实现的) -10分钟,做完叫他
提问环节
a. 后期大概有还有一轮技术面和一轮HR面,因为面试的人很多所以可能两面之间间隔会比较久(1周往上都有可能),所以没有收到通知不要慌张
b. 这边的CPU是自己研制的(玄铁),成都这边主要做存储和网络,都有SOC