面试时间:2009面试职位:fpga验证分享时间:2011-03
- 面试经历:
- 面试当天早上8点起床,出门的时候已经8点半了。买了点吃的道上吃。
743到清华西门的时候已经8:06了,前面刚走一辆656。等了一会儿只能打的去了!
上地六街就是一条小马路,南北方向的。所谓“研华大厦”其实就是“研华科技”所在的那座大楼。一共花了我19元打的,给了他20,他没零钱,20元哪!
进了五楼右转就是了,还好刚刚9点。
接待给了我一杯水,然后说,“面试官有事,先给你一张卷子做做。”晕,上来就做题,我昨天还想着呢,面试没有笔试挺不好的,不容易锻炼我的“面经”。今天却真有!
题目是:
实现一个输入输出模块,输入有:clk,rst,start,data(18位并行)
输出为:sclk,din,cs
总的说来就是将并行数据data转换为串行数据 din。
首先要捕获并行输入数据:其中,clk和start可能是不同步的
clk _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
start _____________---_________________
data ______________xxxxxxxxxxxxxxxx____
这里有一个关键点:如何判断出start信号的高电平?
我的解决方法是:分别在clk的每个falling和rising的edge出读取 start信号
temp1 <= temp2;
temp2 <= start;
当 temp1和temp2都为“1”时,就判断出了start信号。
徐工程师的方法是:
由于start信号一定会比一个clk时钟周期长,所以在clk的每个falling(或rising)沿读取start信号,并置位
temp1 <= start; temp2 <= start;
当 temp1和temp2都为“1”时,就判断出了start信号。
但是,我现在看他的这个方法,有一个疑问:怎么知道是用falling还是 rising沿读取start信号呢?因为clk和start不同步,而且start信号会比两个clk时钟周期长吗?
后来又问我关于串口通信协议:uart。
对于我的“无线抄表”项目和“ibm嵌入式设计大赛”,都提到了方案的可行性和成本问题。
无线抄表:如果用rs485可以实现较长距离的传输和较多设备的联接。
ibm嵌入式设计大赛:开发板的成本问题,我认为:开发阶段资源上应该尽量多,等产品开发出来了,可以计算其资源,从而量体裁衣!节约成本。
后来我又问了:公司性质,国有企业,福利不错,待遇处于ic领域中间水平。
明年公司就要搬到三元桥公司总部大楼了
我如果去就是做“fpga验证”工作,可能是跟这个徐工程做。
他们说:我不用再投简历了,我们会保持联系的,而且等经理回来了再跟我面谈。
我想到时侯就可以问一些关于:具体工资、北京户口、保险报销范围等等这些敏感问题了。 - 面试官提的问题:
- 实现一个输入输出模块,输入有:clk,rst,start,data(18位并行)
输出为:sclk,din,cs
总的说来就是将并行数据data转换为串行数据din。
首先要捕获并行输入数据:其中,clk和start可能是不同步的
clk _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
start _____________---_________________
data ______________xxxxxxxxxxxxxxxx____
这里有一个关键点:如何判断出start信号的高电平??
有用(0) 面试难度:难度一般的面试 应聘途径:网络招聘