FPGA笔试题知识点汇总

第三章 FPGA笔试题知识点汇总(41~60)


文章目录

  • FPGA笔试题知识点汇总

    前言

    一、题目及解析?

    1.IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案?(寄生效应在IC设计中怎样加以克服和利用)

    2.设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零

    3.加上拉电阻后,TTL可驱动CMOS.上拉电阻用途?

    4.画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子)?

    5.用与非门等设计全加法器?(华为)

    6.用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?

    9.SRAM,FALSH MEMORY,DRAM,SSRAM及SDRAM的区别?

    10.ASIC设计流程中什么时候修正Setup time violation 和Hold time violation?如何修正?解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA2003.11.06 上海笔试试题)

    11.实现三分频电路,3/2分频电路等(偶数倍分频 奇数倍分频)

    12.描述反馈电路的概念,列举他们的应用

    13.源滤波器和无源滤波器的区别

    14.用逻辑门画出D触发器。(威盛VIA 2003.11.06 上海笔试试题)

    15.画出DFF的结构图,用verilog实现之。(威盛)

    16.用VERILOG或VHDL写一段代码,实现10进制计数器

    17.你知道的集成电路设计的表达方式有哪几种?(仕兰微面试题目)

    18.描述你对集成电路设计流程的认识。(仕兰微面试题目)

    19.描述你对集成电路工艺的认识。(仕兰微面试题目)

    20.请用HDL描述四位的全加法器、5分频电路。(仕兰微电子)

    总结


前言

已经进入秋招的黄金期,面临找工作之际,继上一章,这是第三章,继续汇总一下网上的题目,每日打卡,供自己巩固复习知识点,祝愿自己能找到FPGA工作,如有错误,恳请各位大佬能够批评指正,本人咸鱼FPGA一枚。


一、题目及解析?

1.IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案?(寄生效应在IC设计中怎样加以克服和利用)

所谓寄生效应就是那些溜进你的PCB并在电路中大施破坏、令人头痛、原因不明的小故障。它们就是渗入高速电路中隐藏的寄生电容和寄生电感。其中包括由封装引脚和印制线过长形成的寄生电感;焊盘到地、焊盘到电源平面和焊盘到印制线之间形成的寄生电容;通孔之间的相互影响,以及许多其它可能的寄生效应。

理想状态下,导线是没有电阻,电容和电感的。而在实际中,导线用到了金属铜,它有一定的电阻率,如果导线足够长,积累的电阻也相当可观。两条平行的导线,如果互相之间有电压差异,就相当于形成了一个平行板电容器(你想象一下)。通电的导线周围会形成磁场(特别是电流变化时),磁场会产生感生电场,会对电子的移动产生影响,可以说每条实际的导线包括元器件的管脚都会产生感生电动势,这也就是寄生电感。

在直流或者低频情况下,这种寄生效应看不太出来。而在交流特别是高频交流条件下,影响就非常巨大了。根据复阻抗公式,电容、电感会在交流情况下会对电流的移动产生巨大阻碍,也就可以折算成阻抗。这种寄生效应很难克服,也难摸到。只能通过优化线路,尽量使用管脚短的SMT元器件来减少其影响,要完全消除是不可能的

2.设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零

1.画出fsm(有限状态机)

2.用verilog编程,语法要符合FPGA设计的要求

3.设计工程中可使用的工具及设计大致过程?

设计过程:

a.首先确定输入输出,A=1表示投入10分,B=1表示投入5分,Y=1表示弹出饮料,Z=1表示找零。

b.确定电路的状态,S0表示没有进行投币,S1表示已经有5分硬币。

c.画出状态转移图。

module sell(
input  clk,
input  rst,
input    a,
input    b,
output   y,
output   z);parameter s0=0,s1=1;
reg state,next_state;   always@(posedge clk) begin    if(!rst)    state<=s0;    else state<=next_state;end   always@(a or b or cstate) begin   y=0;z=0;    case(state)  s0: if(a==1&&b==0) next_state=s1;       else if(a==0&&b==1) begin next_state=s0;y=1; end else next_state=s0;   s1: if(a==1&&b==0) begin next_state=s0;y=1; end else if(a==0&&b==1) begin next_state=s0; y=1;z=1; end else next_state=s0; default: next_state=s0; endcase end
endmodule  

3.加上拉电阻后,TTL可驱动CMOS.上拉电阻用途?

上拉电阻用途:

1、当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2、OC门电路必须加上拉电阻,以提高输出的高电平值。

3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

4、在CMOS芯片上,为了放置精电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。(FPGA上通常接下拉电阻,降低功耗)

5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。

6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。

7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波的干扰。

上拉电阻阻值的选择原则包括:

1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。
        OC门电路必须加上拉电阻,以提高输出的高电平值。OC门电路要输出1时才需要加上拉电阻不加根本就没有高电平
        在有时我们用OC门作驱动(例如控制一个 LED)灌电流工作时就可以不加上拉电阻 总之加上拉电阻能够提高驱动能力。

4.画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子)?

Y=A*B+C(D+E)=((AB)’(CD)’(CE)’)’ 三个两输入与非门,一个三输入与非门

5.用与非门等设计全加法器?(华为)

通过摩根定律化成用与非门实现

全加器的真值表

输入 输出
CI A B S CO
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

化简得到:S=(A'B'CI'+AB'CI+A'BCI+ABCI')'      CO=(A'B'+B'CI'+A'CI')'

一位全加器的与非门实现:

完全用与非门搭的全加器电路如下:

6.用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?

module  counter7(input         clk,input        rst_n,input  [2:0] data ,//预置的初值input        load ,output reg [2:0] cout);  always @(posedge clk) begin if(!rst_n) cout <= 3'd0;else if(load)cout <= data ;else if(cout <3'd6)cout <= cout + 1'b1;else cout <= 3'd0;
end
endmodule 

7.你所知道的可编程逻辑器件有哪些?

PAL,PLA,GAL,CPLD,FPGA

8.用Verilog或VHDL写一段代码,实现消除一个glitch(毛刺)?

消除毛刺的方法,在上一章讨论过,就是防止亚稳态的措施(例如降低时钟频率,用更快的触发器FF),因为毛刺可能会导致亚稳态,这里因为题干采用代码的形式表达,那么这里最好采用同步器的方式,将传输过来的信号经过两级触发器就可以消除毛刺。但这种方式消除毛刺是需要满足一定条件的,并不能保证一定可以消除,只能尽量降低毛刺的影响。

module    glitch(input      clk,input      rst_n,input      data,output reg value_d);reg  data_t0  ;always @(posedge clk or negedge rst_n) beginif(!rst_n) begin data_t0  <= 1'b0;value_d  <= 1'b0;end else begindata_t0  <= data   ;value_d  <= data_t0;end
endendmodule 

9.SRAM,FALSH MEMORY,DRAM,SSRAM及SDRAM的区别?

SRAM:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像DRAM 需要不停的REFRESH,制造成本较高,通常用来作为快取(CACHE) 记忆体使用。

FLASH:闪存,存取速度慢,容量大,掉电后数据不会丢失

DRAM:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比SRAM便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用。

SSRAM:即同步静态随机存取存储器。对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。

SDRAM:即同步动态随机存取存储器。

10.ASIC设计流程中什么时候修正Setup time violation 和Hold time violation?如何修正?解释setup和hold time violation,画图说明,并说明解决办法。(威盛VIA2003.11.06 上海笔试试题)

见第一章的建立时间和保持时间,violation违反,不满足

11.实现三分频电路,3/2分频电路等(偶数倍分频 奇数倍分频)

JK-FF实现3分频很方便,不需要附加任何逻辑电路就能实现同步计数分频。但用D-FF实现3分频时,必须附加译码反馈电路,强制计数状态返回到初始全零状态,就是用NOR门电路把Q2,Q1=―11B‖的状态译码产生―H‖电平复位脉冲,强迫FF1和FF2同时瞬间(在下一时钟输入Fi的脉冲到来之前)复零,于是Q2,Q1=―11B‖状态仅瞬间作为―毛刺‖存在而不影响分频的周期,这种―毛刺‖仅在Q1中存在,实用中可能会造成错误,应当附加时钟同步电路或阻容低通滤波电路来滤除,或者仅使用Q2作为输出。D-FF的3分频,还可以用AND门对Q2,Q1译码来实现返回复零。

12.描述反馈电路的概念,列举他们的应用

反馈,就是在电路系统中,把输出回路中的电量(电压或电流)输入到输入回路中去。 反馈的类型有:电压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈。 负反馈的优点:降低放大器的增益灵敏度,改变输入电阻和输出电阻,改善放大器的线性和非线性失真,有效地扩展放大器的通频带,自动调节作用。 电压负反馈的特点:电路的输出电压趋向于维持恒定。 电流负反馈的特点:电路的输出电流趋向于维持恒定。

13.源滤波器和无源滤波器的区别

无源滤波器:这种电路主要有无源元件R、L和C组成
有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点。

集成运放的开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定的电压放大和缓冲作用。但集成运放带宽有限,所以目前的有源滤波电路的工作频率难以做得很高。

14.用逻辑门画出D触发器。(威盛VIA 2003.11.06 上海笔试试题)

电平触发的D触发器(D锁存器)牢记!(在SR触发器的基础之上,将SR两端用D改进)

边沿触发的D触发器,有两个D锁存器构成(CMOS主从D触发器)

15.画出DFF的结构图,用verilog实现之。(威盛)

DFF(D触发器)的结构图参考上一题14的边沿触发的D触发器

module   DFF(input      clk,input      rst_n ,input      D,output reg  q
);always @(posedge clk  or negedge rst_n) begin if(!rst_n)q <= 1'b0 ;else q <= D;
end endmodule 

16.用VERILOG或VHDL写一段代码,实现10进制计数器

 module     counter10(input         clk,input         rst,output reg  [3:0] count
);  always@(posedge clk) begin    if(!rst)   count<=0; else if(count>=4’d9)   count<=0;    else count<=count+1; end
endmodule   

17.你知道的集成电路设计的表达方式有哪几种?(仕兰微面试题目)

 集成电路设计也叫IC设计,IC 分数字和模拟 门海 门阵列 FPGA ASIC CPLD

18.描述你对集成电路设计流程的认识。(仕兰微面试题目)

制定规格书-任务划分-设计输入-功能仿真-综合-优化-布局布线-时序仿真时序分析-芯片流片-芯片测试验证

19.描述你对集成电路工艺的认识。(仕兰微面试题目)

工艺分类:TTLCMOS两种比较流行,TTL速度快功耗高,CMOS速度慢功耗低。

 集成电路的工艺主要是指CMOS电路的制造工艺,主要分为以下几个步骤:衬底准备-氧化、光刻-扩散和离子注入-淀积-刻蚀-平面化。

20.请用HDL描述四位的全加法器、5分频电路。(仕兰微电子)

四位的全加法器

  module       adder4(input  [3:0]  a,input  [3:0]  b,input        ci,output [3:0]  s,output       co
);assign{co,s} = a+b+ci;endmodule

5分频电路(此处占空比不为50%,3:5)

 module    div5(input       clk,input       rst_n,input  reg  clk_out
);always @(posedge clk or negedge rst_n) beginif(!rst_n) begin clk_out  <=  1'b0;count    <=  3'd0;end else if(count == 3'd3) begin clk_out  <=  1'b1;count    <=  count + 1'b1;end else if(count == 3'd5) beginclk_out  <=  1'b0;count    <=  1'b0;  end else beginclk_out  <=  1'b1;count    <=  1'b0;  end
end endmodule

实现奇数倍分频且占空比为50%的情况:

module      div7 (input      clk, input      reset_n, output      clkout
);    reg [3:0]  count;
reg        div1;
reg        div2;   //七分频计数器
always @( posedge clk ) begin if ( ! reset_n )         count <= 3'b000;     else case ( count ) 3'b000 : count <= 3'b001;             3'b001 : count <= 3'b010;             3'b010 : count <= 3'b011;             3'b011 : count <= 3'b100;             3'b100 : count <= 3'b101;             3'b101 : count <= 3'b110;             3'b110 : count <= 3'b000;             default : count <= 3'b000;         endcase end   always @( posedge clk ) begin if ( ! reset_n )         div1 <= 1'b0; else if ( count == 3'b000 )        div1 <= ~ div1; end   always @( negedge clk ) begin if ( ! reset_n )         div2 <= 1'b0; else if ( count == 3'b100 )         div2 <= ~ div2; end assign clkout = div1 ^ div2;endmodule

总结

今日的打卡就到这里,每天整理才知道有许多细节问题,以前没有重视,算是学有所得吧,继续加油,早日找到工作,一枚想入坑的小咸鱼FPGA。

FPGA笔试题知识点汇总(41~60)相关推荐

  1. 【实用】游戏开发岗位常见笔试题知识点汇总

    版权声明:本文为CSDN博主「趁着头发多我想做游戏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/weixi ...

  2. java面试笔试题大汇总

    java面试笔试题大汇总 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题 ...

  3. Java面试笔试题大汇总一(最全+详细答案)

    Java面试笔试题大汇总二(最全+详细答案)https://www.jianshu.com/p/f5120f1b75be Java面试笔试题大汇总三(最全+详细答案)https://www.jians ...

  4. Java面试笔试题大汇总三(最全+详细答案)

    Java面试笔试题大汇总一(最全+详细答案):https://www.jianshu.com/p/73b6b3d35676 Java面试笔试题大汇总二(最全+详细答案)https://www.jian ...

  5. 剑指Offer——迅雷笔试题+知识点总结

    剑指Offer--迅雷笔试题+知识点总结 情景回顾 时间:2016.9.19 19:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:迅雷笔试 总体来说,迅雷笔试内容体量不算多,主要 ...

  6. FPGA笔试问题知识点汇总(61~80)

    系列文章目录 第四章 FPGA笔试问题知识点汇总(61~80) 目录 系列文章目录 前言 1.function 和 task有什么区别? 2.AND ---与门:OR --- 或门:INV --- 非 ...

  7. 剑指Offer——当当+搜狐+好未来笔试题+知识点总结

    剑指Offer--当当+搜狐+好未来笔试题+知识点总结 情景回想 时间:2016.9.21 15:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:当当笔试.搜狐笔试.好未来笔试 3 ...

  8. 程序员笔试题收集汇总(三)

    相关文章: 程序员笔试题收集汇总(一) http://blog.csdn.net/youyou1543724847/article/details/52383530 程序员笔试题收集汇总(二) htt ...

  9. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结

    剑指Offer--腾讯+360+搜狗校招笔试题+知识点总结 9.11晚7:00,腾讯笔试.选择题与编程.设计题单独计时. 栈是不是顺序存储的线性结构啊? 首先弄明白两个概念:存储结构和逻辑结构. 数据 ...

最新文章

  1. onCompositionStart与compositionend
  2. JavaScript 专题之如何判断两个对象相等
  3. 自然语言12_Tokenizing Words and Sentences with NLTK
  4. 每天一道LeetCode-----将链表中满足条件的节点移动到前面
  5. 中石油训练赛 - Russian Dolls on the Christmas Tree(树上启发式合并/主席树)
  6. System 类 和 Runtime 类的常用用法
  7. day32 java 多线程(3)了解篇
  8. 1.登录mysql数据库_MySql使用全记录1 -----使用命令登录数据库
  9. 滴滴缺席的这 11 个月,顺风车迷局如何破?
  10. php排序算法面试题,PHP面试:尽可能多的说出你知道的排序算法
  11. CSS揭秘之多重边框连续的图像边框
  12. win7重启mysql服务器_Win7系统下怎么重启iis服务?
  13. VisualStudio VC redist各版本下载链接
  14. Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂
  15. 戰女神V、ef_latter、BaldrSky 注册表补丁
  16. 初学编程丨从零开始进修编程的基本路线,BAT程序员亲手总结!
  17. Oracle数据库文件
  18. 软考高项范文——论信息系统项目的人力资源管理
  19. Volo - Rust gRPC 框架入门
  20. STM32——继电器控制灯的开关

热门文章

  1. 如何快速启动android app
  2. python数组赋值失败
  3. C++ perimer plus 第三章!
  4. 千万别把自己当回事,千万要把自己当回事
  5. 传智播客定制2019新年播仔“天天向上”礼盒,为老学员送祝福
  6. Shane版详细设计书 文档模板
  7. php自动加反斜杠,处理php自动反斜杠的函数代码
  8. Dynamic Model
  9. 对象数据成员的初始值
  10. C++ 类中的static成员的初始化和特点