数字IC设计笔试题汇总(二)
数字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设计笔试题汇总(二)相关推荐
- 数字IC设计笔试题汇总(一)
数字IC设计笔试题汇总(一) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 用100MHz的时钟A去采样200MHz的时钟B(与A无关)产生的8bit信号是同步采样还 ...
- ZEKU2021数字IC验证笔试题(解析)
Zeku2022数字IC验证笔试 2.从综合出电路的电路看第一段代码比第二段代码优化的地方是 第一段代码: always @(posedge ck clk or negedge rst_n) beig ...
- 2021年最新PHP 面试、笔试题汇总(二)
二十一.语句include和require的区别 require是无条件包含,也就是如果一个流程里加入require,无论条件成立与否都会先执行require,当文件不存在或者无法打开的时候,会提示错 ...
- 阿里平头哥数字IC验证笔试题
文章目录 1.sv里面四值变量有哪些? Verilog-1995中有两种基本的数据类型: 变量和线网(net).所谓四值变量是指他们有四种取值: 0,1,Z和X. reg(单比特或多比特的无符号数 ...
- 2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录
最新更新日期:2023.04.02 1 目录/更新记录 1.1 笔试复盘篇 按笔试的时间顺序进行更新.备注:笔试时间可能会与实际时间有偏差. 序号 公司 岗位 链接 笔试时间 发布时间 0 禾赛 FP ...
- 笔试题-2023-燧原-数字IC设计【个人解答版】
回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.07.07 应聘岗位:数字IC设计 题目评价 难易程 ...
- 笔试题-2023-思远半导体-数字IC设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.20 应聘岗位:数字IC设计工程师 笔试时长: ...
- 笔试题-2023-乐鑫-数字IC设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.09.01 应聘岗位:数字IC设计工程师 笔试时长: ...
- 中级软件测试笔试题100精讲_数字IC设计职位经典笔试面试100题(71~80)
71.什么叫做OTP片(OTP(一次性可编程)).掩膜片,两者的区别何在? OTP与掩膜 OTP是一次性写入的单片机.过去认为一个单片机产品的成熟是以投产掩膜型单片机为标志的.由于掩膜需要一定的生产周 ...
最新文章
- 详细解析ASP.NET中Request接收参数乱码原理
- eclipse+cdt+MinGW
- 安利一个我爱不释手的PDF神器网站
- java代码复数包括虚部和实部,Java中编写Applet程序验证复数类(在问题补充中)实现接收用户输入的复数的实部和虚部,计算复数与复数,复数与实数的加减,乘除操作...
- python入门之字符串处理_Python基础之字符串操作,格式化。
- html浮动标签调整位置,HTML 获取当前标签在页面的位置,并且把其他的浮动窗口显示过来...
- TCP/IP 原理 -- ICMP:因特网控制报文协议
- Java旅游管理系统
- vs2015中工具箱不显示DevExpress控件的解决办法
- NAS信令学习笔记 ——GUTI
- Git:不同仓库之间的cherry-pick
- 并查集解决重复员工问题
- c#后台如何导出excel到本地_C#导出EXCEL方法总结
- Photoshop——切图小技巧
- Google退出中国内地祭
- PHp网站建设,期末大作业-海贼王主题【包含前后台】
- 武汉大学 计算机博士复试分数线,武汉大学2016年博士研究生录取分数线
- CSDN电子书PC端上线:打造高效阅读、助力问题解决
- FlashGUI测试笔记
- mysql意见反馈表设计_山西省住房和城乡建设厅 关于开展2021年度山西省建设工程企业信用评价工作的通知(第209号)...