2022年秋招ASIC&FPGA笔试题汇总

本文汇总了2022年秋招ASIC&FPGA笔试中的核心知识点,涵盖简答题和编程题。内容包括:建立时间、保持时间的概念及其解决亚稳态的方法,function和task的差异,触发器与锁存器的区别,FPGA开发流程,Verilog可综合与不可综合语句,时钟抖动和偏移的解析,阻塞与非阻塞赋值的应用,以及状态机和同步FIFO的设计挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简答题

1、建立时间、保持时间

建立时间 setup time

        是指在触发器的时钟信号上升沿到来以前,数据稳定不变的最小时间Tsu

保持时间 hold up time

        是指在触发器的时钟信号上升沿到来以后,数据稳定不变的最小时间Th

 

2、如何解决亚稳态,多时钟域的跨时钟域处理

减少亚稳态的方法有以下几种:

(1)使用同步器:比如常用的2级或者多级FF打拍的方法

(2)降低频率:如果能满足功能要求,降低频率能够减少亚稳态的发生

(3)避免变化过快或者过于频繁的信号进行跨时钟采样

(4)采用更快的触发器:更快的触发器,也可以亚稳态的产生

(5)改善时钟质量,用边沿变化快速的时钟信号消除

跨时钟域:

       跨时钟域的信号可以分为单bit信号和多bit信号。

        单bit(慢时钟域到快时钟域):用快时钟打两拍,直接采一拍大概率也是没问题的,两拍的主要目的是消除亚稳态;

        单bit(快时钟域到慢时钟域):握手、异步FIFO、异步双口RAM;快时钟域的信号脉宽较窄,慢时钟域不一定能采到,可以通过握手机制让窄脉冲展宽,慢时钟域采集到信号后再“告诉”快时钟域已经采集到信号,确保能采集到;

        多bit:异步FIFO、异步双口RAM、握手、格雷码(格雷码的值只需要在原来的二进制的基础上右移一位再加上原来的二进制值即可得到)。

3、function和task的区别

       function只能与主模块共用一个仿真时间单位,而task可以定义自己的仿真时间单位。

       function不能包含task,task可以包含其它的task和function。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发光中请勿扰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值