数字IC设计笔试题汇总(二)


快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考


1. 在边沿敏感的时序逻辑代码中使用(A)赋值,会导致综合前与综合后仿真结果不一致。

A . 阻塞
B. 非阻塞
时序逻辑中一般使用非阻塞式赋值,组合逻辑中一般用阻塞式赋值;

2. 下列表达式中正确的是(D)

A. 8’b101010 & 8’b010101 = 1’b0
B. 8’b101010 && 8’b010101 = 1’b0
C. 8’b101010 | 8’b010101 = 1’b1
D. 8’b101010 || 8’b010101 = 1’b1

& 和 | 代表按位与,或运算, && 和 || 代表逻辑与,或运算。 两个8bit数按位与,或运算结果为8位数;非0数为逻辑真,因此D选项正确;

3. Intel FPGA器件内部的最小逻辑单元是(A),一个逻辑单元主要是由(A),(A)组成;

A. LE, LUT, 可编程寄存器;
B. LUT, LE, 可编程寄存器;
C. LC, LUT, 互连资源;
D. LUT, LC, 互连资源;

逻辑单元在Altera(Intel)中叫作(Logic Element,LE)LE,在XILNX中叫作(Logic cell, LC) LC。 一个逻辑单元主要由以下部件组成:一个四输入的查询表(LookUp Table,LUT),一个可编程的寄存器。 互连资源应该是说的互连线资源(Interconnect),布线资源连通 FPGA 内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度,FPGA 芯片内部有着丰富的布线资源,这部分应该是属于逻辑单元间的连接通信资源。FPGA内部资源的介绍参考文末的参考资料【1】.

4. 在EDA工具中,能将硬件描述语言转化为硬件电路的重要工具软件是(D)

A. 适配器
B. 仿真器
C. 下载器
D. 综合器
适配器用于不同接口间的适配,比如安卓充电器给苹果手机充电,就需要一个适配器; 下载器,顾名思义,就是将代码最终输送到器件中(FPGA)的器件; 仿真器用于进行功能的仿真,以便调试代码; 在数字IC中,综合器为Design Compiler,也j就是常说的DC, 负责将硬件描述语言转化为硬件电路。

5.对’timescale 1ns/10ps描述正确的是(AC)

A. 仿真时间精度为10ps;
B. 仿真时间精度为1ns;
C. 仿真时延单位为1ns;
D. 仿真时延单位为10ps;
此时testbench测试脚本中,#1就代表此处延时1ns,误差在10ps以内

6.verlog中,以下说法正确的是(A)

A. 1byte = 8bit;
B. 1dword = 2bytes;
C. 1word = 2bytes;
D. 1qword = 2bytes;

1 qword (quadra word, 4字) = 2 dword(double word,双字) = 4word(字)= 8B(byte, 字节)= 64b(bit, 比特位);

7.以下说法正确的是(B,C,D)

A. function, task可以互相调用
B. function中可以有时间控制语句
C. task中可以有时间控制语句
D. task中可以没有输入输出端口,也可以有

function的定义和调用如下所示(以简单加法器为例):

module top_sum(
input [2 : 0] a,
input [2 : 0] b,
output [3 : 0] c);function [3 : 0]sum;input [2 : 0] a;input [2 : 0] b;
beginsum = a + b;
end
endfunctionassign c = sum(a,b);endmodule

task的定义和调用如下所示:

module top_sum(
input [2 : 0] a,
input [2 : 0] b,
output [3 : 0] c); task sum;   input  [3:0] a_tmp, b_tmp;      output [4:0] sum_out;          sum_out = a_tmp + b_tmp;
endtasksum(a, b, c);endmodule

task和function的区别在于(1) function只能与主模块共用时延单位,而task可以自定义时延单位, (2)function不能调用task,而task可以调用其他task和function,(3) function至少要有一个输入变量,而task可以没有。(4)function有返回值,而task无返回值 ; 需要注意的是,function和task都只能描述组合逻辑,若出现不可综合语句(如时延语句),则不可综合 关于这两种语句的详细介绍参考文末的参考资料【2】.

8.verilog中case语句和if–else–语句的区别?

if语句的判断是有优先级的,若满足前面的判断条件,则后面的就不判断了,而case语句中各个条件是同时判断的。这两种语句的区别在之前的博客中有过详细介绍,参考文末参考资料【3】

9. verilog中的fork join语句是怎么执行的;如何在增加语句的基础上改成顺序执行?

fork -- join之间的各个语句并行执行,可以通过增加时延语句来改成顺序执行:比如:

initial
beginfork
#10 sum_tmp_1 = a + b;
#20 sum_tmp_2 = sum_tmp_1 + c;
#30 sum = sum_tmp_2 + d;
joinend

虽然这三个语句是并行执行的,但由于时延的存在,可以被看作 先执行sum_tmp_1 = a + b;和sum_tmp_2 = sum_tmp_1 + c;再执行sum = sum_tmp_2 + d, 通过增加时延语句的方式将fork join改成顺序执行

10. 在设计状态机时, one-hot code和binary code的优缺点?

独热码(one-hot code)是只有一个数字为1,比如0001,0010,0100,1000这种编码方式,如果有4个状态,就需要4bit数来表示状态;
二进制编码(binary code)就是00,01, 10,11这种正常递增的编码方式,如果有4个状态,就需要2bit数来表示状态;
因此,独热码浪费资源, 而二进制编码在状态转换时,容易出现亚稳态,比如01跳转到10时,可能出现01 -> 11 -> 10 ,有很短的时间出现11这个状态,从而导致电路出现亚稳态;而独热码可以避免这种情况,独热码减少了编码的复杂度,在一定程度上提高了系统的速度.

参考资料

【1】CSDN博客:FPGA内部硬件资源介绍
【2】CSDN博客:Verilog中task/function说明语句
【3】CSDN博客:数字IC设计经验整理(一)
【4】CSDN博客:verilog中的fork…join用法

数字IC设计笔试题汇总(二)相关推荐

  1. 数字IC设计笔试题汇总(一)

    数字IC设计笔试题汇总(一) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 用100MHz的时钟A去采样200MHz的时钟B(与A无关)产生的8bit信号是同步采样还 ...

  2. ZEKU2021数字IC验证笔试题(解析)

    Zeku2022数字IC验证笔试 2.从综合出电路的电路看第一段代码比第二段代码优化的地方是 第一段代码: always @(posedge ck clk or negedge rst_n) beig ...

  3. 2021年最新PHP 面试、笔试题汇总(二)

    二十一.语句include和require的区别 require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错 ...

  4. 阿里平头哥数字IC验证笔试题

    文章目录 1.sv里面四值变量有哪些? Verilog-1995中有两种基本的数据类型: 变量和线网(net).所谓四值变量是指他们有四种取值: 0,1,Z和X.   reg(单比特或多比特的无符号数 ...

  5. 2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录

    最新更新日期:2023.04.02 1 目录/更新记录 1.1 笔试复盘篇 按笔试的时间顺序进行更新.备注:笔试时间可能会与实际时间有偏差. 序号 公司 岗位 链接 笔试时间 发布时间 0 禾赛 FP ...

  6. 笔试题-2023-燧原-数字IC设计【个人解答版】

    回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.07.07 应聘岗位:数字IC设计 题目评价 难易程 ...

  7. 笔试题-2023-思远半导体-数字IC设计【纯净题目版】

    回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.20 应聘岗位:数字IC设计工程师 笔试时长: ...

  8. 笔试题-2023-乐鑫-数字IC设计【纯净题目版】

    回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.09.01 应聘岗位:数字IC设计工程师 笔试时长: ...

  9. 中级软件测试笔试题100精讲_数字IC设计职位经典笔试面试100题(71~80)

    71.什么叫做OTP片(OTP(一次性可编程)).掩膜片,两者的区别何在? OTP与掩膜 OTP是一次性写入的单片机.过去认为一个单片机产品的成熟是以投产掩膜型单片机为标志的.由于掩膜需要一定的生产周 ...

最新文章

  1. 详细解析ASP.NET中Request接收参数乱码原理
  2. eclipse+cdt+MinGW
  3. 安利一个我爱不释手的PDF神器网站
  4. java代码复数包括虚部和实部,Java中编写Applet程序验证复数类(在问题补充中)实现接收用户输入的复数的实部和虚部,计算复数与复数,复数与实数的加减,乘除操作...
  5. python入门之字符串处理_Python基础之字符串操作,格式化。
  6. html浮动标签调整位置,HTML 获取当前标签在页面的位置,并且把其他的浮动窗口显示过来...
  7. TCP/IP 原理 -- ICMP:因特网控制报文协议
  8. Java旅游管理系统
  9. vs2015中工具箱不显示DevExpress控件的解决办法
  10. NAS信令学习笔记 ——GUTI
  11. Git:不同仓库之间的cherry-pick
  12. 并查集解决重复员工问题
  13. c#后台如何导出excel到本地_C#导出EXCEL方法总结
  14. Photoshop——切图小技巧
  15. Google退出中国内地祭
  16. PHp网站建设,期末大作业-海贼王主题【包含前后台】
  17. 武汉大学 计算机博士复试分数线,武汉大学2016年博士研究生录取分数线
  18. CSDN电子书PC端上线:打造高效阅读、助力问题解决
  19. FlashGUI测试笔记
  20. mysql意见反馈表设计_山西省住房和城乡建设厅 关于开展2021年度山西省建设工程企业信用评价工作的通知(第209号)...

热门文章

  1. 【Web技术】1120- 尤大都推荐的组件库是如何开发出来的?
  2. 华为宣讲会记录,各个部门的人工智能的分工
  3. 蜗牛学院 第二天 js循环和练习题
  4. 成都榆熙电子商务有限公司:拼多多商家们可以做好这些来增加店铺销量
  5. Android应用源码航空订票软件客户端
  6. ASPMaker4_2破解手记(原创)
  7. UVa 11236 - Grocery store
  8. python中列表和字典的应用-一个简单的考试系统
  9. 赶集网招聘信息数据分析与可视化辑器
  10. ②mysql数据库(增删改查)