FPGA/数字IC复习八股

news/2024/7/8 6:12:26 标签: fpga开发

一、FPGA概念,与数字IC的区别

二、FPGA底层逻辑

三、同步电路、异步电路以及优缺点

四、同步复位、异步复位、异步复位同步释放

深入理解复位---同步复位,异步复位,异步复位同步释放(含多时钟域)_画出支持异步复位dff的电路图-CSDN博客

1、同步复位:只有在时钟沿到来时复位信号才起作用,则复位信号持续的时间应该超过一个时钟周期才能保持系统复位。

优点:1)抗干扰能力强,能够剔除复位信号中周期短于时钟周期的毛刺;(过滤掉毛刺)

           2)电路稳定性强,一般能够保证电路百分百同步。

缺点:1)大多数厂商目标库中的触发器(DFF)都是异步复位端口,适用同步复位的时候,综合器就会在寄存器的数据输入端(D端)插入组合逻辑,占用更多的逻辑资源;

           2)同步复位依赖于时钟,如果电路中的时钟信号出现问题,无法完成复位;

           3)对复位信号的脉冲宽度有要求,复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位;同时考虑:时钟偏移、组合逻辑路径延时、复位延时等因素,可能需要有多个时钟周期的复位脉冲宽度,且很难保证复位信号到达各个寄存器的时序。

2、异步复位:只要有复位信号,系统马上复位,不依赖于时钟。

优点:1)无需额外的逻辑资源,实现简单

2)

五、亚稳态

六、跨时钟域

七、时序约束与分析

八、竞争冒险、毛刺

九、扇出的概念

参考包括博主:小火子Velsuked的文章。


http://www.niftyadmin.cn/n/5536699.html

相关文章

npm install puppeteer 报错 npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated解决办法

npm install puppeteer 报错如下: npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated. Use PUPPETEER_DOWNLOAD_BASE_URL instead. npm ERR! Error: ERROR: Failed to set up Chrome v126.0.6478.126! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to sk…

xxl-job集成SpringBoot

安装xxl-job客户端一般有很多方式,我这里给大家提供两种安装方式,包含里面的各项配置等等。 前期需要准备好MySQL数据库。复制SQL到数据库里面。 # # XXL-JOB v2.4.2-SNAPSHOT # Copyright (c) 2015-present, xuxueli.CREATE database if NOT EXISTS x…

Spring Boot 2到3升级体验:解锁新特性与优势

目录 Spring Boot 2到3升级体验:解锁新特性与优势一、升级背景与动机二、新特性概览1. Java版本提升2. Spring Framework 6支持3. 模块化支持增强4. Web框架更新5. 数据库访问技术更新 三、升级体验与案例分析1. 环境配置与依赖升级2. 代码迁移与调整3. 性能与启动速…

论文阅读YOLO-World: Real-Time Open-Vocabulary Object Detection

核心: 开放词汇的实时的yolo检测器。重参数化的视觉语言聚合路径模块Re-parameterizable VisionLanguage Path Aggregation Network (RepVL-PAN)实时核心:轻量化的检测器离线词汇推理过程重参数化 方法 预训练方案:将实例注释重新定义为区域…

DALL-E、Stable Diffusion 等 20+ 图像生成模型综述

二、任务场景 2.1. 无条件生成 无条件生成是指生成模型在生成图像时不受任何额外条件或约束的影响。模型从学习的数据分布中生成图像,而不需要关注输入条件。 2.2. 有条件生成 有条件生成是指生成模型在生成图像时受到额外条件或上下文的影响。这些条件可以是类别…

超详细之IDEA上传项目到Gitee完整步骤

1. 注册gitee 账号密码,gitee官网地址:Gitee官网,注册完成后,登录。 2. 创建仓库,在主页左下角有新建按钮,点击新建后会进入到此页面填写仓库信息。 3. 创建完成后复制仓库地址 4. 打开IntelliJ IDEA新建或…

Java | Leetcode Java题解之第213题打家劫舍II

题目: 题解: class Solution {public int rob(int[] nums) {int length nums.length;if (length 1) {return nums[0];} else if (length 2) {return Math.max(nums[0], nums[1]);}return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1,…

开发者工具攻略:前端测试的极简指南

前言 许多人存在一个常见的误区,认为测试只是测试工程师的工作。实际上,测试是整个开发团队的责任,每个人都应该参与到测试过程中。 在这篇博客我尽量通俗一点地讲讲我们前端开发过程中,该如何去测试 浏览器开发者工具简介 开…