FPGA/IC面试常见问题汇总

这篇具有很好参考价值的文章主要介绍了FPGA/IC面试常见问题汇总。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:数字IC设计工程师笔试面试经典100题_OnePlusZero的博客-CSDN博客_数字ic设计面试题

目录

参考:数字IC设计工程师笔试面试经典100题_OnePlusZero的博客-CSDN博客_数字ic设计面试题

1、同步复位和异步复位的优缺点

2、什么是竞争和冒险,如何消除?

3、什么是同步电路,什么是异步电路?

4、什么是亚稳态,产生的原因,如何消除?

5、时序约束的概念和基本策略?

6、FPGA和CPLD的区别?

7、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?

8、FPGA芯片内有哪两种存储器资源?

1、同步复位和异步复位的优缺点

        在同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输,防止亚稳态。同样的道理,对于一个异步复位寄存器来说,同样异步复位信号同样需要和时钟满足recovery time(恢复时间)和removal time (去除时间)才能有效进行复位操作和复位释放操作,防止输出亚稳态。

        同步复位优点:能确保电路是100%同步的;同步复位可以综合处更小的触发器;可以保证复位只发生在有效时钟边沿,过滤掉复位信号毛刺;内部逻辑产生的复位信号,采用同步复位可以有效过滤掉毛刺。

                      缺点:当复位信号宽度小于时钟周期时,可能需要一个脉冲展宽器,使得复位信号在时钟边沿能被正确采样;当复位信号有外部逻辑组合产生,那么复位信号可能容易受外部信号控制;在采用门控时钟的设计中,复位信号有效是时钟可能处于关闭状态,复位无效;

    always @ (posedge clk) begin
        if (!rst_n)
            xxxx;
    end

        异步复位优点:很多EDA工具带有异步复位的库文件,能保证数据路径上是干净的,减小延迟;复位信号独立于时钟,只要复位信号发起,电路立即复位;综合工具能很好的识别出复位信号;

                      缺点:对毛刺敏感;若复位刚好在时钟边沿撤销,很容易使寄存器的输出产生亚稳态。

always @ (posedge clk or negedge rst_n) 
    begin
        if (!rst_n)
            xxxx;
        else if (xx) 
            begin
                xxxx;
            end
    end

异步复位同步释放

        就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。假设复位信号低电平有效rst_n,当复位信号无效时,也就是复位信号拉高时,即为复位信号的释放。由于异步复位信号与时钟无必然联系,两者都是独立的,所以复位信号的释放将有一定的概率导致电路出现亚稳态。

        所谓异步复位同步释放,就是在rst_n信号为低时,立刻进行复位,而rst_n信号由低到高释放时,为了防止亚稳态的出现,将rst_n信号用DFF向后延一周期,达到与时钟clk边沿同步的目的。

        电路目的:防止复位信号撤除时产生亚稳态事件。

        异步复位:显而易见,reset_n异步复位后,rst_n将拉低,即实现异步复位。

        同步释放:这个是关键,看如何实现同步释放,即当复位信号reset_n撤除时,由于双缓冲电路(双寄存器)的作用,rst_n复位信号不会随着reset_n的撤除而撤除。

fpga 面试 高端 问题,FPGA/数字 IC 设计,FPGA/IC题库汇总,fpga开发,嵌入式硬件

 

解释上图:

  • 当异步复位(rst_i)无效,即为高电平时,同步后的复位信号 rst_o 也为高电平;
  • 当异步复位有效时,同步后的复位信号立刻为低电平( 0),即实现了“异步复位”;
  • 信号释放时,会在时钟上升沿来临时,才可以恢复为 高电平(1),实现“同步释放”;
//Synchronized Asynchronous Reset
//异步复位、同步释放:只适用于没有PLL的系统复位信号的设置
module asyn_reset(
	clk	    ,
	rst_n	,	
	rst_s2
);
 
input clk	;
input rst_n	;
 
output reg rst_s2;
 
reg rst_s1;
 
always @ (posedge clk or negedge rst_n) begin
	if (!rst_n) begin
		rst_s1 <= 1'b0;
		rst_s2 <= 1'b0;
	end
	else begin
	   rst_s1 <= 1'b1	;
	   rst_s2 <= rst_s1	;
	end
end
endmodule

2、什么是竞争和冒险,如何消除?

        信号由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为竞争,由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为冒险。设计中最简单的避免方法是尽量使用时序逻辑同步输入和输出。

       消除毛刺的方法:1、对信号进行采样(在合适的位置采样,将有毛刺的信号剔除)。2、使用边沿触发寄存器寄存信号,相当于将信号同步为同步信号(由于毛刺持续的时间比较短,所以一般很难满足边沿触发器的setup/hold时间)。3、用两级触发器的或运算来消除持续不到一个周期的毛刺信号。4、采用格雷码编码(只变化一个位信号)。5、增加卡诺图冗余项。

3、什么是同步电路,什么是异步电路?

        同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。

        在电路中同一个时钟源的时钟分频出来的不同频率的时钟作用于两部分电路,这两部分电路也是同步的。反之,不同时钟源的电路就是异步电路。

        同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x有无变化,状态表中的每个状态都是稳定的。

        异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。

4、什么是亚稳态,产生的原因,如何消除?

        亚稳态:是指触发器无法在规定时间内达到一定的状态,此时则会出现亚稳态现象。

        原因:由于触发器的Tsu和Th不满足,当触发器进入亚稳态,使得无法预测该单元的输出,这种不稳定是会沿信号通道的各个触发器级联传播。消除方法:两级或者多级寄存器同步。但是理论上不能完全消除,可以降低。

        建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间。

        保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。

5、时序约束的概念和基本策略?

        时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。通过附加时序约束可以综合布线工具调整映射和布局布线,使设计达到时序要求。

        附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

6、FPGA和CPLD的区别?

fpga 面试 高端 问题,FPGA/数字 IC 设计,FPGA/IC题库汇总,fpga开发,嵌入式硬件

7、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?

        线与逻辑是两个或多个输出信号相连可以实现与的功能。在硬件上,要用OC门来实现(漏极或者集电极开路),为了防止因灌电流过大而烧坏OC门,应在OC门输出端接一上拉电阻(线或则是下拉电阻)。
        漏极开路(OD),集电极开路(OC)

8、FPGA芯片内有哪两种存储器资源?

        FPGA芯片内有两种存储器资源:一种叫BLOCK RAM,另一种是由LUT配置成的内部存储器(也就是分布式RAM)。BLOCK RAM由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。文章来源地址https://www.toymoban.com/news/detail-665966.html

到了这里,关于FPGA/IC面试常见问题汇总的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字IC/FPGA面试题目合集解析(一)

    1,计算题:计算该触发器等效的建立保持时间(西安某Fabless面试笔试题) 2,计算题:计算组合逻辑的延时时间范围 3,选择题:Which of following ways cannot be used to improve timing of a hold violation path 问题:原触发器,即对于D点的建立时间,保持时间均为2ns,先由于存在线延时,对

    2024年02月06日
    浏览(34)
  • FPGA/IC秋招面试题 1(解析版)

        分享个人觉得遇到还不错的题,后续有会继续补充。。。     以下题目均来自网络平台,用于学习交流如有侵权立马删除!!! 1. Verilog语言中,下面哪些语句不可被综合() A. #delay语句             B. initial语句 C. always语句            D. 用generate语句产生的代码 考察可综合

    2024年02月09日
    浏览(31)
  • 数字IC/FPGA面试宝典--经典60道例题详解

    1.关于亚稳态的描述错误的是(A) A、多用几级寄存器打拍可以消除亚稳态。 B、亚稳态是极不稳定的,理论上来讲处在亚稳态的时间可以无限长。 C、亚稳态稳定到0或者1,是随机的,与输入没有必然的关系。 D、如果数据传输中不满足触发器的建文时间Tsu和保持时间Th,可能

    2024年01月16日
    浏览(39)
  • jenkins 常见问题汇总

    1、win11 节点(Error: Unable to access jarfile slave.jar) jenkins 默认cd 进入到设置的目录下面,如果不是C盘的话,直接cd 进入不了其他盘,所以,需要在命令前面,加参数进入到对应盘符。eg:E:    如下配置  2、hudson.plugins.git.GitException: Command \\\"git checkout -f \\\" returned status code 128: jenkin

    2024年02月06日
    浏览(37)
  • vue常见问题汇总

    来源:https://www.fly63.com/ Q1:安装超时(install timeout) 方案有这么些: Q2:安装一些需要编译的包:提示没有安装python、build失败等  因为一些 npm 的包安装需要编译的环境,mac 和 linux 都还好,大多都齐全 window 用户依赖 visual studio 的一些库和python 2+, windows的小伙伴都装上: windows-buil

    2024年02月10日
    浏览(89)
  • Git常见问题汇总

    问题: Your branch is ahead of ‘origin/master’ by 1 commit 原因:你的本地分支高于远程仓库一次提交, 同步更新下,执行命令: 问题: warning: LF will be replaced by CRLF in main.lua The file will have its original line endings in your working directory. 原因:CR代表回车(r) LF代表换行(n),在DosWindows平台下

    2024年02月10日
    浏览(32)
  • 软件平台接口常见问题汇总

    接口常见问题汇总 一、接口技术层面 1、输入参数验证校验不全面。如:      1.1入参数据类型长度边界,范围边界。      1.2 入参数据内容、成员内容,有效无效,合法非法。      1.3 入参数据 特殊字符 敏感字符过滤。      1.4 入参可否必选。 2、接口内部触发的服务相

    2023年04月21日
    浏览(32)
  • 等保2.0常见问题汇总

    等保2.0发布后,整个网络安全行业积极学习并按照新规范进行网络系统的部署。然而许多人仍然对等保制度的来历、发展、演变以及贯彻重点存在疑问。等保2.0依然在整个实施流程上由五个标准环节构成:定级、备案、建设整改、等级测评、监督检查五个方面。本文汇总梳理

    2024年02月04日
    浏览(93)
  • 毕业设计答辩常见问题汇总

    答:P0口做数据总线用是不需要加上拉电阻,这个书上面有写的,就是8个IO口同时控制输出,比如P0口接1602液晶、12864液晶、数码管的8段段选等等都不需要加上拉电阻,如果做单个的IO口用就要加上拉电阻。 答:这个论文中有的,也都是一些套话。我就不答了,我整理的都是

    2024年02月05日
    浏览(35)
  • RecycleView基本使用及常见问题汇总

    RecycleView属于android基础组件,比较常用,下面总结下其使用的基础流程及常见问题解决办法(常见问题会定期更新) 基础使用 首先在xml里引入RecycleView 编写adapter,分以下几步 1.创建自定义adapter类,创建内部类MyViewHolder,并实现RecycleView的ViewHolder,参数传递view 创建item layout,里

    2024年01月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包