开端

今天下午面了“星测未来”,是一个海投的小公司,本来面之前心里面也没什么波动,因为知道即使面上了也有很大概率不会过去,但是面完了还是有点心得感悟的,就立刻开了博客收录一下自己的心得。

主要问的问题如下:

1:二段式状态机和三段式状态机的区别(没答上来,只是会用三段式)

查询了一下具体的状态机一段、二段、三段的区别,原来发现自己编写代码的时候常用的一段式,简单说说这几种的区别

其中一段式只用一个always块,将所有的时序逻辑以及组合逻辑编在一起,虽然我觉得更方便一点,但是从综合,布线,以及后续维护的角度来说一段式最差

二段式使用两个always块,第一个always块进行时序逻辑的跳转,多加一个寄存器,第二个always块进行组合逻辑的跳转,就不涉及到时钟的约束问题,占用资源最少,但是因为该always块中既包含组合逻辑的状态跳转,又包含了输入输出,会产生毛刺

三段式使用三个always块,前两个同二段式,而第三个always块则专门进行输入输出,可以用时序逻辑,也可以用组合逻辑,三段式的缺点就是代码的结构要复杂一些,但是从其他的角度来考量,它使得状态机(FSM)能够同步寄存器输出,并且能够消除组合逻辑直接输出的不稳定以及毛刺的影响,所以尽量用三段式。

 

2:高速ADC的原理以及一些参数性的问题,比如你的采样频率,时钟频率(基于你的项目,正常说就行)


浅谈一下自己的理解吧,高速ADC也就是高速模数转换器,通常来说我们对一个模拟信号首先进行采样,再将采集到的信号进行量化处理,然后再进行编码,就可以实现将模拟信号到数字信号的转换,那么其中的分辨率,也就是最小的误差,也叫量化误差,是由ADC的位数来决定的,如果是n位的话,就是能量化出来2的N次方个电平,那么分辨率就是总电压除以2的N次方,而采样频率是要大于信号频率的2倍的,为了保证信号不会产生混叠,也叫奈奎斯特定理。而ADC的采样频率和ADC的时钟频率要搭配。

3:drfm的全称以及使用原理(这个是给予你简历来的,但是这部分项目没准备好,没答上来)

数字射频接收机,项目里面的,还不想研究,过段时间再说吧

4:被动侧向的原理(基于你简历问的)

具体涉及到的算法不是我做的,没有去学习

5:跨时钟域的方式(答上来了,前一阵刚刚看完异步fifo的相关知识)

常见的跨时钟域的方法有三种,打两拍,双口ram(也可以是异步fifo),转换成格雷码使之变成单bit的信息流,然后进行打两拍的操作

首先第一种,打两拍主要针对的式单bit流,所谓打两拍指的是添加两个寄存器,能够消除亚稳态现象,亚稳态现象指的是在一级时钟跳变的瞬间进入数据,无法准确的判断是0还是1

双口ram指的是两个口都能进行读写,且可以分开时钟控制,能够实现跨时钟(读写时钟不同),还涉及到一个概念叫做伪双口ram指的是只能一个口读,一个口写,不能混用

而fifo与二者的区别是,fifo也只能一个口入一个口读,但是fifo是顺序输入输出,而ram则可以储存数据,按照地址线输出。

6:fpga原语是什么?(没答上来,没听说过)

7:软核

感觉这一家面试官还是很好的,很和蔼,但是我对于自己这一次的评价不好,面试官问问题还是根据几个模块来问的。

ADC模块,简历模块,fpga模块。

总结一下还是要把简历上你写的内容以及项目上的经历的原理搞清楚,越细越好,所以我觉得多面试面试也挺好,可以找到你的不足。

嗯,明天还有一场面试,今天再准备一下,慢慢会好的。

posted @ 2022-03-18 17:17  reppar  阅读(102)  评论(0)    收藏  举报