北京多铁克FPGA笔试题目

1、使用D触发器来实现二分频

在这里插入图片描述

在这里插入图片描述

2、序列检测器,检测101,输出1,其余情况输出0

在这里插入图片描述

module Detect_101(input		clk,input		rst_n,input		data,		//输入的序列output	reg 	flag_101	//检测到101序列的输出标志
);parameter	S0 = 2'd0;S1 = 2'd1;S2 = 2'd2;S4 = 2'd3;reg		[1:0] state, n_state;//序列检测器,输出只与当前状态有关,而与当前输入无直接关系,所以是Moore型状态机//第一段状态机,时序逻辑,描述状态转移和复位always@(posedge clk or negedge rst_n) beginif(!rst_n)state <= S0;elsestate <= n_state;end//第二段状态机,组合逻辑always@(*) begincase(state)S0 : n_state = (data) ? S1 : S0;S1 :n_state = (data) ? S1 : S2;S2 :n_state = (data) ? S3 : S2;default :state = S0;endcaseend//第三段状态机,Moore型状态机,组合逻辑,根据当前状态确定输出值always@(*) begin if (!rst_n)flag_101 = 0;else if(state==S3)flag_101 = 1;else flag_101 = 0;end

3、255 & 254= ?

4、什么是关键路径,如何优化

关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径。

优化

1): 组合逻辑中插入寄存器(插入流水线)

组合逻辑的延时过长,就会成为关键路径,这时可以考虑在该路径上插入额外的寄存器,这种方法也称为插入流水线,多用于高度流水的设计中。

2):寄存器平衡(重定时Retiming)

在不增加寄存器个数的前提下,通过改变寄存器的位置来优化关键路径

image-20230802105255438

3):消除代码优先级(case代替if…else)

5、建立时间(setup time)和保持时间(hold time)

setup time:是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定的打入触发器,Tsu就是指这个最小的稳定时间。

hold time :是指在触发器的时钟上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是这个最小的保持时间。

6、什么是竞争和冒险? 如何判断?如何消除?

将这种两个逻辑信号同向相反的逻辑电平跳变的现象称为竞争。(竞争一定要在同一个门的输入有两个信号,并且这两个信号是朝着相反的方向跳变)。

但是两个信号的竞争现象不一定会产生尖峰脉冲。因此竞争冒险现象被解释为由于竞争在电路输出端可能产生尖峰脉冲的现象。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b98c1cml-1691551261798)(C:\Users\vers\AppData\Roaming\Typora\typora-user-images\image-20230802115335054.png)]

消除竞争-冒险现象的方法

1.在输出端接入滤波电容(面试题)

2.单独引入一个选通脉冲

3.修改逻辑设计

7、实现异步复位和同步释放,用verilog语言实现。

异步复位

异步复位缺点:

  1. 复位信号容易受到外界的干扰,如毛刺等影响;

  2. 复位信号释放的随机性,可能导致时序违规,倘若复位释放时恰恰在时钟有效沿附近,就很容易使电路处于亚稳态

异步复位的优点:

  1. 无需额外的逻辑资源,实现简单;

  2. 复位信号不依赖于时钟。

异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。

always @ (posedge clk or negedge rst_n)if(!rst_n) b <= 1'b0;else b <= a;

同步复位

同步复位是指只有在时钟上升沿到来时才会对复位信号进行采样,也就是只有在时钟上升沿时,复位信号才有效.

always @ (posedge clk)if(!rst_n) b <= 1'b0;else b <= a;

那么同步复位和异步复位到底孰优孰劣呢?

只能说,各有优缺点。同步复位的好在于它只在时钟信号clk的上升沿触发进行系统是否复位的判断,这降低了亚稳态出现的概率;它的不好上面也说了,在于它需要消耗更多的器件资源,这是我们不希望看到的。FPGA的寄存器有支持异步复位专用的端口,采用异步复位的端口无需额外增加器件资源的消耗,但是异步复位也存在着隐患,过去从没有意识到也没有见识过。异步时钟域的亚稳态问题同样的存在与异步复位信号和系统时钟信号之间。

将两者结合,取长补短

异步复位、同步释放

就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。


//异步复位,同步释放//
module Rst_gen (input      clk,input      rst_async_n,output reg rst_sync_n
);reg rst_s1;always @(posedge clk or negedge rst_async_n) beginif(!rst_async_n) beginrst_s1     <= 1'b0;rst_sync_n <= 1'b0;endelse beginrst_s1     <= 1'b1;rst_sync_n <= rst_s1;end
endendmodule

8、烧一根不均匀的绳要用一个小时,如何用它来判断半个小时?烧一根不均匀的绳,从头烧到尾总共需要1个小时.现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

9、(钻石问题)一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一 次,只能拿一次钻石,问怎样才能拿到最大的一颗?

10、空水壶一个5升,一个6升怎么得到3升的水

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/60552.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

W6100-EVB-PICO作为TCP Client 进行数据回环测试(五)

前言 上一章我们用W6100-EVB-PICO开发板通过DNS解析www.baidu.com&#xff08;百度域名&#xff09;成功得到其IP地址&#xff0c;那么本章我们将用我们的开发板作为客户端去连接服务器&#xff0c;并做数据回环测试&#xff1a;收到服务器发送的数据&#xff0c;并回传给服务器…

android开发之Android 自定义滑动解锁View

自定义滑动解锁View 需求如下&#xff1a; 近期需要做一个类似屏幕滑动解锁的功能&#xff0c;右划开始&#xff0c;左划暂停。 需求效果图如下 实现效果展示 自定义view如下 /** Desc 自定义滑动解锁View Author ZY Mail sunnyfor98gmail.com Date 2021/5/17 11:52 *…

【LeetCode】打家劫舍||

打家劫舍|| 题目描述算法分析编程代码 链接: 打家劫舍|| 在做这个题之前&#xff0c;建议大家做一下这个链接: 按摩师 我的博客里也有这个题的讲解&#xff0c;名字是按摩师 题目描述 算法分析 编程代码 class Solution { public:int maxrob(vector<int>nums,int left,…

ardupilot 为什么要采样四元数姿态控制

目录 文章目录 目录摘要1.姿态控制为什么要用到四元数2.四元数姿态控制摘要 本节主要说明清楚ardupilot姿态控制为什么要用到四元数,欢迎批评指正!!! 1.姿态控制为什么要用到四元数 对于ardupilot的姿态控制中主要用PID控制算法,姿态控制采用串级PID控制。主要包含:外环…

数据分析-python学习 (1)numpy相关

内容为&#xff1a;https://juejin.cn/book/7240731597035864121的学习笔记 导包 import numpy as np numpy数组创建 创建全0数组&#xff0c;正态分布、随机数组等就不说了&#xff0c;提供了相应的方法通过已有数据创建有两种 arr1np.array([1,2,3,4,5]) 或者datanp.loadt…

一个php文件搞定微信小程序订阅消息推送(含access_token的获取、缓存、刷新)

摘要 微信小程序的订阅消息功能具有多个优点&#xff0c;可以为开发者和用户带来便利和更好的体验。以下是一些主要的优点&#xff1a; **个性化消息推送&#xff1a; **订阅消息允许开发者向用户发送个性化的消息内容&#xff0c;根据用户的偏好和行为进行定制化推送&#x…

干货 | 详述 Elasticsearch 向量检索发展史

1. 引言 向量检索已经成为现代搜索和推荐系统的核心组件。 通过将复杂的对象&#xff08;例如文本、图像或声音&#xff09;转换为数值向量&#xff0c;并在多维空间中进行相似性搜索&#xff0c;它能够实现高效的查询匹配和推荐。 图片来自&#xff1a;向量数据库技术鉴赏【上…

HTTP——十一、Web的攻击技术

HTTP 一、针对Web的攻击技术1、HTTP 不具备必要的安全功能2、在客户端即可篡改请求3、针对Web应用的攻击模式 二、因输出值转义不完全引发的安全漏洞1、跨站脚本攻击2、SQL 注入攻击3、OS命令注入攻击4、HTTP首部注入攻击5、邮件首部注入攻击6、目录遍历攻击7、远程文件包含漏洞…

力扣 -- 139. 单词拆分

一、题目 题目链接&#xff1a;139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:bool wordBreak(str…

电脑开机出现Boot Device怎么办?

开机出现Boot Device这个问题很常见&#xff0c;有时还会出现No Boot Device的问题&#xff0c;虽然多了一个单词&#xff0c;但意思是相同的&#xff0c;这些问题说明你的系统盘出现了问题&#xff0c;或者是引导出现了问题。这该如何解决呢&#xff1f; 方法1. 检查主板或硬盘…

需要数电发票接口的,先熟悉下数电发票基本常识

最近有一些技术小伙伴来咨询数电发票接口的时候&#xff0c;对数电发票的一些常识不太了解&#xff0c; 导致沟通起来比较困难。比较典型的这三个问题&#xff1a; 一、开具数电票时&#xff0c;如何设置身份认证频次&#xff1f; 请公司的法定代表人或财务负责人登录江苏省电…

面试热题(最长上升子序列)

给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入&#xff1…