前言 后面,我计划整理数字ic笔试题目,希望以此为出发点,补充知识点! 声明:就我个人而言,我认为在学习期间,它基本上是知识的处理,所以这个博客的所有内容都可以被引用!为了方便引用,博客中的图片没有添加博客的水印(除非不是你自己的或看不到的)! 本文将根据以下文件进行整理,并参考大疆IC希望大家对设计学校的笔试题有所了解。 本文的ppt,点击链接下载! 大疆介绍 大疆官网:www.dji.com/cn 校园招聘
关于大疆 大疆以" The Future of Possible(未来无所不能)"致力于成为全球飞行图像系统的先驱。自2006年成立以来,全球员工超过1.2万人,客户遍布全球100多个国家和地区。
核心业务: 大疆以其稳定高效的消费水平和专业的航拍飞行平台而闻名
工作地 总部位于中国深圳,在北京、上海、西安设有专业研发中心。
芯片开发工程师 工作职责 1.负责 media需求规格分析、架构设计、定义、评价等方向 2.负责模块设计、编写、测试和文档撰写 3.负责视频编码(H265/H266) 4.负责ISP/CNN编码、验证和架构设计 5.负责行业新技术、新标准、新工具、新方法的研发。 任职要求 1.硕士以上学历,集成电路、微电子、计算机、通信等相关专业 2.3年以上工作经验,有数字图像处理经验者优先; 3.熟悉 System Verilog/UVM,熟悉Per/ Python等脚本语言 4.熟悉视频、图像、通信等知识,深入了解其硬件架构 5.具有良好的团队精神,能够独立思考和解决问题,有责任心和上进心。
一、笔试题|单选 01. 下列关于多 bit 数据跨时钟域的处理思路是错误的 A. 发送方给出数据,接收方使用本地时钟同步两拍 B. 发送方将数据写入异步 fifo,接收方从异步 fifo 里读出 C. 对于不断变化的信号,发送方转换为格雷码发送,接收方收到后转换为二进制 D. 发送人给出数据,发送人给出握手请求,接收人收到后回复,发送人撤销数据
解析:选A; 两级信号同步是处理单比特信号; 多比特数据可以使用异步数据 FIFO、格雷码,握手协议 02. 对 12.918 要做无损定点化,最小位宽是多少,位宽选择11 位时的量化误差是多少? A. 12 位,0.0118 B. 13 位,0.0039 C. 12 位,0.0039 D. 13 位,0.0118
解析:选C 12 用二进制表示需要 4 若小数使用,位 8 位表示 0.918/(2^(-8))=235.008,即 2352^(-8)=0.所以至少只要918, 12 位。当 11 小数位宽只有700.918/(2^(-7))= 117.5040,1172^(-7)= 0.9141,0.918-0.9141=0.0039 3. 两个噪声源的均方根噪声范围分别为 10uVrms,5uVrms;两个噪声源叠加后的均方根噪声范围不可能在以下值中? A. 11.18uVrms B. 2uVrms C. 5uVrms D. 14uVrms
解析:B 4. 考虑如下的 4*4 二维仲裁器,R00 到 R33 为输入,G00 到G33 为输出,N 和 W 也为输入,E 喝 S 也为输出,假设所有的逻辑门(包括非门/与门/反相器)延时都为 1ns,请问电路的最大延迟。 A. 23ns B. 25ns C. 19ns D. 21ns
解析:D; 最大延迟通过三扇门和七个仲裁器。x7=21 5. 下图所示 4bit 右移位寄存器,0 时刻 ABCD 初始状态为 0111,请写出 5 个时刻后的 ABCD 输出
A.1010 B.0100 C.1101 D.1110
解析:B 0111->0011->0001->0000->1000->0100(第五次移位值) 6. 1 个 16K*8 地址线和数据线的总和是位置存储器 A.46 B.17 C.48 D.22
解析:D 地址 16K = 24 * 210,数据 8 位,总共 4 10 8=22 7. 采用数字系统( )可将减法运算转化为加法运算 A.原码 B.BCD 码 C.ASII 码 D.补码
解析:D 补码带符号,支持正负数加。 8. 对流水线设计的理解是错误的 A.装配线设计将消耗更多的组合逻辑资源 B.装配线的设计会导致原有通路延迟增加 C.流水线设计的理念是用面积换速 D.插入关键路径的装配线可以提高系统的时钟频率
解析:B 装配线是插入寄存器,使其成功 set up time 更容易满足,frequency 更大、更快、更换面积的速度。 9. 在 Verilog 如果在语言中 a=1’b1,b=3’b101,c=1’b0,则{a,{3 {c}},b}= A.8’b10110101 B.7’b1011101 C.7’b1000101 D.8’b10001010
解析:C 10. 逻辑门可以实现以下逻辑门(A XOR B) OR (C AND D)? A.NAND B.NOR C.XOR D.INV
解析:A (A XOR B) OR (C AND D)= AB’ A’B CD = ((AB’)’(A’B)’(CD)’)’ = ((A(BB)’)’((AA)’B)’(CD)’)’ 点拨:与非门和或非门是通用门,可直接选择? 11. 关于 DFT(design for test)描述错误的是: A.DFT 测试不能覆盖电路时序问题 B.DFT 测试过程通常会消耗大量的动态功耗 C.DFT 主要目的是在生产过程中发现芯片的缺陷 D.寄存器扫描链是一种常 DFT 技术
解析:A DFT 的 at-speed test 会采用芯片 PLL 寄存器在高速时钟进行 setup 和 hold 测试 12. 下面哪个工具没有逻辑综合功能? A.Synplify B.Design Compiler C.Modelsim D.ISE
解析:C Synplify、Synplify Pro 和 Synplify Premier 是 Synplicity(Synopsys公司于 2008 年收购了 Synplicity 公司)专门为公司提供 FPGA 和CPLD 逻辑综合工具的实现,Synplicity 该工具涵盖了可编程逻辑器件 (FPGAs、PLDs 和 CPLDs)综合、验证、调试、物理综合和原型验证。Xilinx ISE 14.7 是专业的电子设计套件,也是最新版本,全力支持 win8 和 win8.1 系统。Xilinx ISE 为设计流程 每一步都提供直观的生产力增强工具,包括设计输入、成等直观的生产力增强工具 BIT 功能强大的文件、配置、在线调试等。 13. 哪一种对芯片静态功耗影响最大? A.工作模式 B.频率 C.负载 D.电压
解析:D Pstat=Istat · VDD 14. 组合逻辑中的冒险是因为( )引起的 A.电路有多个输出 B.电路没有达到最简单 C.逻辑类型不同 D.电路中的延迟
解析:D 由于延迟,电平翻转不能同时进行 15. 程序控制指令在指令系统中的功能是 A.实现主存于 CPU 数据传输之间 B.实现程序执行顺序的变更 C.实现算数和逻辑运算 D.实现堆栈操作
解析:B 程序控制指令包括跳转指令、循环指令、子程序指令和中断指令。这些指令可以控制程序的执行顺序 16. 在信号采样前添加滤波器,一般需要添加什么样的滤波器,完成什么功能: A.高通,抗周期延伸 B.高通,抗混叠滤波 C.低通,抗周期延伸 D.低通,抗混叠滤波
解析:D 为了解决频率混叠问题,在模拟信号离散采集之前,低通滤波器过滤高于 1/2 采样频率的频率成分。在实际仪器设计中,该低通滤波器的截止频率(fc) 为:截止频率(fc)= 采样频率(fz)/ 2.56 测量仪器在动态信号测试中必须具有抗混滤波功能。 17. 假 设 一 个 cycle 只 能 完 成 一 个 ( 8bits8bits ) 或 一 个(17bits 17bits 17bits)操作,然后设计 16bits16bits 至少可以乘法多少次 cycle 完成 A. 2 个 cycle B. 4 个 cycle C. 3 个 cycle D. 1 个 cycle
解析:C 表示不懂 两个16位相乘(A×B),同时有两个两个八位相乘cycle; A低八位乘B的低八位产生16位数,类似,共产生416位数,交错加416位数; 最低八位不变,最高八位不变,次高三位八位数加,次低三位八位数加,消耗两位cycle。
18、 以下不是负反馈电路? A. 串联电压反馈 B. 并联反馈电压 C. 并联电容反馈 D. 串联电流反馈
解析:C 电压串联负反馈,电压串联负反馈,电流串联负反馈,电流串联负反馈 19. 以下关于线与逻辑的描述是错误的: A. 可以使用 OC 门实现线与 B. “线与”逻辑必须在输出端加一个下拉电阻 C. 线与逻辑是连接两个输出信号的功能 D. 可以用 OD 门实现线与
解析:B OD:open-drain,源级开漏输出(开漏),OC:open-collector,集电极开路。OD 是对 mos 管而言,OC 对于双极管来说,两者的实现线和需拉电阻 20. 以下说法是正确的: A. 乘法器在 FPGA 上必须使用 DSP 资源 B. 基于 SRAM 的 FPGA器件,每次上电后必须重新进行配置 C. FPGA 的 ChipScope 设置同样的采样深度,如果想一次观测 更长时间的信号波形,可以将采样时钟换成更高频率的时钟 D. Source clock latency 也属于 FPGA IO 接口约束
解析:B 二、笔试题|多选 1. 关于异步处理,一下说法正确的是: A. 静态配置信号可以不做异步处理 B. 异步 FIFO 采用格雷码的原因是为了提高电路速度 C. 异步处理需要考虑发送和接收时钟之间的频率关系 D. 单比特信号打两拍后可以避免亚稳态的发生
解析:AC 避免? 2. 下列器件中那些是非易失性存储器 A. EPROM B. DRAM C. SRAM D. Flash
解析:AD 非易失性存储器(英语:non-volatile memory,缩写为 NVM)是指当电流关掉后,所存储的数据不会消失的电脑存储器。非易失性存储器中,依存储器内的数据是否能在使用电脑时随时改写为标准,可分为二大类产品,即 ROM 和 Flash memory。 3. 关于 16 点的 FFT 描述真确的是 A. 每个蝶形算法需要一次复数加法 B. 每级有 8 个蝶形算法 C. 每个蝶形算法需要一次复数乘法 D. 共有 4 级分解
解析:BCD 完成一个蝶形运算需要一次复数乘法和两次复数加法 4. Verilog 语言中,下列那些语句不能被综合: A. 用 generate 语句产生的代码 B. Initial 语句块 C. Always 语句块 D. Force 语句
解析:BD 5. 在不增加 pipeline 的情况下,如何解决一条 critical path 的 setup时序不满足的问题 A. 使用更先进工艺的工艺库 B. 在这条 path 上插入寄存器 C. 将部分组合逻辑电路搬移到前级 path 上 D. 降低时钟频率
解析:ACD A 为综合工具 DC 常用方法,B 实际上就是 pipeline,C可减小传播延时和组合逻辑延时和建立时间,D 可加大时钟周期 6.下列关于代码覆盖率描述错误的是: A. 代码覆盖率达到百分之一百说明代码 bug 已消除 B. 代码覆盖率包括功能覆盖率 C. 代码覆盖率包括条件覆盖率 D. 代码覆盖率包括语句覆盖率
解析:AB 覆盖率是衡量设计验证完成程度的指标,并不是验证的目的。任何覆盖率达到 100%并不代表芯片 bug 已消除。代码覆盖率包括行覆盖率、条件覆盖率、状态机覆盖率和翻转覆盖率。功能覆盖率反映开发出来的需要覆盖的功能点覆盖的比例。断言覆盖率测量断言被触发的频繁程度 7. C 程序中定义了一个全局数组,编译后此数组变量可能分配在下列哪个段 A. Text 段 B. Bss 段 C. Data 段 D. Stack 段
解析:BC BSS 存放的是未初始化的全局变量;DATA 存放的是初始化的全局变量;堆栈用来存放局部变量;text段用来存放程序执行代码 8、 下面电路中属于时序电路的是? A. 寄存器 B. 触发器 C. 译码器 D. 计数器
解析:ABD 译码器是组合逻辑电路 9. 下列优化方法中那些是速度优化方法: A. 资源共享 B. 关键路径优化 C. 流水线 D. 串行化
解析:BC 面积优化——资源共享、串行化;速度优化——流水线、关键路径法,寄存器配平; 10. 对于 PSK 和 QAM 调制,以下哪些说法是正确的: A. 对于 QAM 调制,星座图的每个点的幅度相等 B. 2PSK 和 4PSK 在归一化条件下,其幅值都是 1 C. 4-QAM 调制与 QPSK 的调制方式一致 D. 在同样信道条件下,16-QAM 的误码绿大于 4-QAM
解析:BCD PSK 调制,星座图中的点都位于单位圆上,模相同(都为 1),只有相位不同。而QAM调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。 三、笔试题|填空 1. write-back cache 和 write-through cache 的区别:(write-back)cache只在 cache line 被替代的时候把 cache 里的有效数据写下一级存储。 解析:Write-through(直写模式)在数据更新时,同时写入缓存 Cache和后端存储。此模式的优点是操作简单缺点是因为数据修改需要同时写入存储,数据写入速度较慢Write-back(回写模式)在数据更新时只写入缓存 Cache 只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。此模式的优点是数据写入速度快,因为不需要写存储;缺点是一更新后的数据未被写入存储时出现系统掉电的情况,数据将无法找回 2. 正则表达式里可以使用计数符和通用字符集进行搜索匹配,这些计数符中,(*)号的意思是匹配 0 个,1 个或者多个,(+)号的意思是匹配 1 个或者多个,(?)号的意思是匹配 0 个或者 1 个。 3. FPGA 时序检查中对于异步复位电路的时序分析分别叫(恢复时间检查)和(移除时间检查)。 解析:(1)recovery time:恢复时间撤销复位时,恢复到解复位状态的电平必须在时钟有效沿来临之前的 一段时间到来,才能保证时钟能有效恢复到解复位状态,此段时间为recovery time。类似于同步时钟的 setup time。如下图所示,rst_n 为 1’b0 表示复位,clk 上升沿触发,rst_n 从 1’b0到 1’b1 的上升沿与时钟上升沿必须不小于 recovery time 才能保证寄存器恢复到正常状态。 (2)removal time :移除时间复位时,在时钟有效沿来临之后复位信号还需要保持的时间为移除时 间 removal time。类似同步时钟 hold time。如下图所示,rst_n 为 1’b0 表示复位有效,clk 为上升沿触发,rst_n 保持为 1’b0 经过 clk 上升沿后仍需要保持一段时间,才能保证寄存器有效复位,防止亚稳态。
4. 并行计算是提高程序速度的关键,设 a 为并行计算部分所占比例,n 为并行处理的节点数,则并行计算带来的加速比为 解析:
Ws程序中的串行部分,Wp程序中的并行部分,p为并行的节点数。 5.下图球框由三个相同的铁圈两两正相交组成,每个铁圈的电阻均为 R。AB 两点间的电阻为(5R/48)
笔试题|简答 1. Signal_a 是 clka(300M)时钟域的一个单时钟脉冲信号,如何将其同步到时钟域 clkb(100M)中,并产生出 Signal_b 同步脉冲信号。请用 Verilog 代码描述,并画出对应的时序波形说明图。 module div_3_50( input clk, input rst_n, input in, output q, output out, ); reg q1,q2; reg [1:0] count1,count2; reg in_p,in_pp,in_ppp; wire out_b; reg out_bb,out_bbb; assign q=q1|q2; always_ff@(posedge clk , negedge rst_n)begin if(!rst_n) begin q1 <= '0; count1 < ='0; end else if(count1==0) begin q1 <= ~q1; count1 <= count1 + 1; end else if(count1==1) begin q1 = ~q1; count1 <= count1 + 1; end else begin count1 <= '0; end end always_ff@(negedge clk , negedge rst_n)begin if(!rst_n) begin q2 <= '0; count2 < ='0; end else if(count2==0) begin q2 <= ~q2; count2 <= count2 + 1; end else if(count2==1) begin q2 = ~q2; count2 <= count2 + 1; end else begin count2 <= '0; end end always_ff@(posedge clk , negedge rst_n)begin if(!rst_n) begin in_p <= '0; in_pp <= '0; in_ppp <= '0; end else begin in_p <= in; in_pp <= in_p; in_ppp <= in_pp; end end assign out_b = in_ppp|in_pp|in_p; always_ff@(posege clk , negedge rst_n)begin if(!rst_n) begin out_bb <= '0; out_bbb <= '0; end else begin out_bb <= out_b; out_bbb <= out_bb; end end assign out = out_bbb; endmodule 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
2. 如下图,一个高速接口的端口电路示意图,要求 D 端发送数字0/1,DQ 端收到相同的数字 0/1。VREF 电压为比较器数字输出0/1 的判决电压。 (1)S1 断开时,DQ 端 VREF 电压需设置为? (2)S1 连通时,DQ 端 VREF 电压需设置为? (3)驱动端发送 0 时功耗较低,这句话是否正确?为什么? 备注:VREF 电压是 AD 比较器判断 0 或 1 的基准参考电压
解析: (1) S1 断开的时候,若 D 为 1,Q 端电压为 VDDQ,因此 VREF 要小于 VDDQ。若 D 为 0,Q 端的电压为 0,因此VREF 要大于 0,因此 0<VREF<VDDQ (2) S1 连通时,若 D 为 1,Q 端电压为𝑉𝐷𝐷𝑄/3,若 D 为 0,Q 端的电压为 0,因此 VREF 要大于 0,因此 0<VREF<𝑉𝐷𝐷𝑄/3 。 (3) 驱动端为 0 时,NMOS 管导通,反相器输出接地,电阻没有电流,因此功耗较低。
3. 用 moore 型状态机实现序列“1101”从右到左的不重叠检测。 (注:典型的状态机设计分为 moore 和 mealy 两大类,其中mealy 状态机的输出不仅与当前状态值有关,而且与当前输入有关;moore 状态机的输出仅与当前状态有关,而与此时的输入无关) 1) 请画出状态转换图,其中状态用 S0,S1,S2,…表示 2) 针对这个具体设计如何衡量验证的完备性?
解析:(1)
(2)可以从定向测试,随机测试两种方式产生激励,从代码覆盖率的角度保证覆盖率达 100%
4、 进行一个运算单元的电路设计,A[7:0]*11111011,尽量用最少的资源实现,写出对应的 RTL 代码。 module mul( input [7:0] A, output [15:0] B ); wire [15:0] reg1; wire [15:0] reg2; wire [15:0] reg3; assign reg1 = { A, {8{1'b0}}}; assign reg2 = { {6{1'b0}} , A ,{2{1'b0}}}; assign reg3 = { {8{1'b0}} , A}; assign B = reg1 - reg2 - reg3; endmodule 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5. 用 C 语言实现整数到 ASCII 码字符串的转换 Void itoa(long int value,char *string){undefined //value 为一个 int 值,string 是用来存放转换后的字符串的
———————————————— 版权声明:本文为CSDN博主「杰之行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/haojie_duan/article/details/113922958