0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于FPGA的五个基本概念

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2020-09-28 11:18 次阅读

1、什么是Setup 和Holdup时间?
答:Setup/hold time 是测试芯片对输入信号时钟信号之间的时间要求。

建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time。如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。

保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果holdtime不够,数据同样不能被打入触发器。

2、什么是竞争与冒险现象?解决办法?
答:在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。三加选通信号。用D触发器,格雷码计数器,同步电路等优秀的设计方案可以消除。

3、如何解决亚稳态?Metastability
答:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
解决方法:
1 、降低系统时钟频率
2 、用反应更快的Flip-Flop
3 、引入同步机制,防止亚稳态传播
4 、改善时钟质量,用边沿变化快速的时钟信号

关键是器件使用比较好的工艺和时钟周期的裕量要大。

4、说说静态、动态时序模拟的优缺点
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误.它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。

动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径.因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题;

静态时序分析缺点:
1、无法识别伪路径
2、不适合异步电路
3、不能验证功能

5、用VERILOG写一段代码,实现消除一个glitch。
滤掉小于1个周期glitch的原理图如下:


verilog代码实现如下:

module digital_filter_(clk_in,rst,host_rst,host_rst_filter);
inputclk_in;
inputrst;
inputhost_rst;
output host_rst_filter;
reg host_rst_d1;
reg host_rst_d2;

always@(posedge clk_in or negedge rst)
begin
if(~rst)
begin
host_rst_d1 <= 1'b1;
host_rst_d2 <= 1'b1;
end
else
begin
host_rst_d1 <= host_rst;
host_rst_d2 <= host_rst_d1;
end
end

assign host_rst_filter = host_rst_d1 | host_rst_d2;
endmodule
滤掉大于1个周期且小于2个周期glitch的原理图如下:
verilog代码实现如下:

module digital_filter_(clk_in,rst,host_rst,host_rst_filter);
inputclk_in;
inputrst;
inputhost_rst;
output host_rst_filter;
reg host_rst_d1;
reg host_rst_d2;
reg host_rst_d3;

always@(posedge clk_in or negedge rst)
begin
if(~rst)
begin
host_rst_d1 <= 1'b1;
host_rst_d2 <= 1'b1;
host_rst_d3 <= 1'b1;
end
else
begin
host_rst_d1 <= host_rst;
host_rst_d2 <= host_rst_d1;
host_rst_d3 <= host_rst_d2;
end
end
责任编辑:xj

原文标题:总结五个面试中经常会遇到的FPGA基本概念

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21620

    浏览量

    601174
  • Setup
    +关注

    关注

    0

    文章

    30

    浏览量

    11957

原文标题:总结五个面试中经常会遇到的FPGA基本概念

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux应用编程的基本概念

    Linux应用编程涉及到在Linux环境下开发和运行应用程序的一系列概念。以下是一些涵盖Linux应用编程的基本概念
    的头像 发表于 10-24 17:19 159次阅读

    集电极开路的基本概念与原理

    在集成电路的广阔领域中,集电极开路作为一种独特的输出形式,扮演着举足轻重的角色。它如同一精密控制的开关,既能实现电路的通断,又能灵活应对不同的电流需求。 集电极开路的基本概念与原理 集电极开路
    的头像 发表于 09-19 10:19 403次阅读
    集电极开路的<b class='flag-5'>基本概念</b>与原理

    socket的基本概念和原理

    的通信。它是一抽象的概念,用于表示网络中的一通信实体。在计算机网络中,Socket允许应用程序通过网络发送和接收数据。Socket的概念最早由UNIX操作系统引入,后来被广泛应用于
    的头像 发表于 08-16 10:51 788次阅读

    卷积神经网络的基本概念、原理及特点

    基本概念、原理、特点以及在不同领域的应用情况。 一、卷积神经网络的基本概念 卷积神经网络是一种深度学习算法,它由多层卷积层和池化层堆叠而成。卷积层负责提取图像中的局部特征,而池化层则负责降低特征的空间维度,同时增加对图像位移的不变性。通过这种方式,CNN能够自
    的头像 发表于 07-11 14:38 700次阅读

    循环神经网络的基本概念

    循环神经网络的基本概念、循环机制、长短时记忆网络(LSTM)、门控循环单元(GRU)等方面进行介绍。 循环神经网络的基本概念 循环神经网络是一种时间序列模型,其基本思想是将序列数据中的每个元素(例如,单词、时间点等)作为输入,通过循环结构将前一
    的头像 发表于 07-04 14:31 521次阅读

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以归纳为以下几个方面:
    的头像 发表于 06-12 09:28 505次阅读
    串口通信的<b class='flag-5'>基本概念</b>

    电源路径的基本概念

    电源路径是指电流从电源到负载的传输路径。在电路中,电源是提供电能的设备,而负载则是消耗电能的设备。电源路径的稳定性和效率对电路的性能和可靠性有着重要的影响。本文将介绍电源路径的基本概念。 下图展示了
    的头像 发表于 01-18 15:39 719次阅读
    电源路径的<b class='flag-5'>基本概念</b>

    数字视音频技术的基本概念

    技术的应用范围广泛,涵盖了广播电视、影视制作、多媒体通信、远程教育等多个领域。本文将详细介绍数字视音频技术的基本概念、技术原理和应用现状等方面。 数字视音频技术的基本概念 数字信号:数字信号是一种离散的、不
    的头像 发表于 12-14 15:00 1444次阅读

    接地装置的基本概念

    接地装置的基本概念
    的头像 发表于 12-05 15:49 525次阅读
    接地装置的<b class='flag-5'>基本概念</b>

    工程师必看!电路基本概念有哪些?

    工程师必看!电路基本概念有哪些?
    的头像 发表于 11-30 09:31 629次阅读
    工程师必看!电路<b class='flag-5'>基本概念</b>有哪些?

    ros的基本概念是什么

    基本概念: ROS是一用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS网络是指在ROS系统中不同的节点间相互通信的连接
    的头像 发表于 11-27 11:21 1719次阅读

    MMU相关的基本概念

    1-MMU相关的基本概念 (1)虚拟地址相关基本概念 • 虚拟内存(Virtual Memory,VM):为每个进程提供了一致的、连续的、私有的内存空间,简化了内存管理。将主存看成是一存储在磁盘
    的头像 发表于 11-26 16:11 642次阅读

    线性稳压器和开关模式电源(SMPS)的基本概念

    电子发烧友网站提供《线性稳压器和开关模式电源(SMPS)的基本概念.pdf》资料免费下载
    发表于 11-24 14:47 0次下载
    线性稳压器和开关模式电源(SMPS)的<b class='flag-5'>基本概念</b>

    C语言的基本概念和编程技术

    电子发烧友网站提供《C语言的基本概念和编程技术.pdf》资料免费下载
    发表于 11-20 10:18 0次下载
    C语言的<b class='flag-5'>基本概念</b>和编程技术

    线程池基本概念与原理

    一、线程池基本概念与原理 1.1 线程池概念及优势 C++线程池简介 线程池是一种并发编程技术,它能有效地管理并发的线程、减少资源占用和提高程序的性能。C++线程池通过库,结合C++ 11、14
    的头像 发表于 11-10 10:24 463次阅读