![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
FPGA笔试面试
文章平均质量分 56
各大公司招聘题目,按题目类型整理
luoai_2666
这个作者很懒,什么都没留下…
展开
-
UART协议介绍
异步的全双工的串行总线,有两条数据线。原创 2021-08-31 20:36:47 · 210 阅读 · 0 评论 -
FPGA 面积与速度互换
面积换速度流水线Verilog 流水线设计 Pipeline乒乓操作Verilog 乒乓操作逻辑复制(并行化)https://www.cnblogs.com/linjie-swust/archive/2012/03/27/FPGA_verilog.html1)如果信号的扇出非常大,那么为了增加这个信号的驱动能力,一种办法就是插入多级Buffer,但是这样虽然能增加驱动能力,但是也增加了这个信号的路径延时。原因见 数字IC中的buffer解决该问题常用方法为驱动信号逻辑复制,即对扇出很大原创 2021-08-29 21:42:11 · 1281 阅读 · 0 评论 -
Verilog 乒乓操作
“ 乒乓操作” 是一个常常应用于数据流控制的处理技巧其主要特点有:1、 实现数据的无缝缓冲和处理;2、 可节约缓冲区空间;3、 可实现低速模块处理高速模块。应用场景:数据流输入速度较快,数据流运算处理速度较慢核心方法:输入缓存到1时,输出2;输入缓存到2时,输出1;按等时间间隔的节拍切换;整体上看数据流是不间断传输的具体来说, 在第 1个缓冲周期,将输入的数据流缓存到“ 数据缓冲模块1” ;在第2 个缓冲周期, 通过“ 输入数据选择单元” 的切换, 将输入的数据流缓存到“ 数据缓冲模块2”.原创 2021-08-29 19:10:39 · 5188 阅读 · 0 评论 -
Verilog 流水线设计 Pipeline
介绍定义:流水线设计就是将组合逻辑分割,并在各级之间插入寄存器,暂存中间数据的方法。以面积换速度。优点:每一部分延时降低——可用更快的时钟;大部分电路同时运算——提高数据吞吐率。缺点:增加面积;流水线并不减小单个数据操作的时间,减小的是整个数据流的操作时间;(不懂)功耗增加,硬件复杂度增加,特别对于复杂逻辑如 cpu 的流水线而言,流水越深,发生需要 hold 流水线或 reset 流水线的情况时,时间损失越大。 所以使用流水线并非有利无害,大家需权衡考虑。应用场景:1)组合逻辑太长,转载 2021-08-29 14:55:16 · 4798 阅读 · 3 评论 -
Verilog实现序列信号发生器
长度为n=6的序列信号110111循环移位寄存器会消耗较多的寄存器资源。需要n个寄存器,也就是6个。由于输入输出之间没有组合电路,不需要组合逻辑反馈运算,因此电路工作频率高,但问题在于移位寄存器的长度取决于序列长度,占用电路面积大。module seq_gen(input clk,input rst_n,output原创 2021-08-28 18:33:33 · 4985 阅读 · 2 评论 -
组合电路的竞争和冒险
定义逻辑竞争:当某一个变量经过两条以上的路径到达输出端的时候,由于每条路径上的延迟时间的不同,到达终点的时间就会有先有后。逻辑冒险:在具有竞争现象的组合电路中,当某个变量发生变化的时候,比如说从1跳到 0(0型冒险),或者说从 0 跳到 1(1型冒险),如果真值表所描述的逻辑关系遭受到短暂的破坏,在输出端它就会出现一个不应有的这么一个毛刺。1型冒险:如何记忆1型冒险:本来应该是0→0型冒险:判别如何识别逻辑冒险:当某些逻辑变量取特定值时,输出端的逻辑函数化简成Y = A+ A’或原创 2021-08-28 08:50:31 · 1227 阅读 · 0 评论 -
同步时序电路和异步时序电路
一. 定义在同步时序电路中,各触发器的时钟端全部连接到同一个时钟源上,只有当时钟脉冲到来时,电路的状态才能改变。(注意不要求是同一时钟,而是同源时钟。所谓的同源时钟是指同一个时钟源衍生频率比值为2的幂次方,且初相位相同的时钟。)同步逻辑是指时钟之间有固定的因果关系逻辑,异步时序逻辑电路不存在统一的时钟,触发条件由多个控制因素组成,任何一个因素的跳变都可以触发寄存器的变化。异步逻辑是指各时钟之间没有固定的因果关系逻辑。比如有些触发器的时钟输入端与时钟脉冲源相连,这些触发器的状态变化就与时原创 2021-08-23 19:35:12 · 8350 阅读 · 0 评论 -
AXI总线协议
问完axi 突发传输类型我说三种然后他问我关键字分别是啥还问乱序传输原创 2021-08-17 16:32:57 · 601 阅读 · 0 评论 -
Syetem Verilog题目
如图,断言在那个时钟沿开始的时序可以判决成功。(19汇顶)property test_seq_2; @( posedge clk ) @rose (start) |-> ##3 ( ( a ##2 b)[*2] ) ##2 stopendpropertyassert property(test_seq_2);原创 2021-08-22 14:40:42 · 243 阅读 · 0 评论 -
进制的转换
进制之间的转换以2进制为核心例1、10101.01011转换成8/16/10进制例2、十进制21.34375转换成2/8/16进制例3、八进制数(25.26)转换成2/10/16进制例4、十六进制(15.58)转换成2/8/10进制转载 2021-08-22 10:58:16 · 306 阅读 · 0 评论 -
异步FIFO的设计
什么时候读/写?-空满标志的判断读地址to格雷码-同步到写时钟域,与写地址比较-产生写满标志如何比较?原创 2021-08-21 21:19:11 · 124 阅读 · 0 评论 -
数字IC低功耗设计
动态功耗包括:关功耗或者称为翻转功耗在数字CMOS电路中,对负载电容进行充放电时消耗的功耗,比如对于下面的CMOS非门中:当Vin = 0时,上面的PMOS导通,下面的NMOS截止;VDD对负载电容Cload进行充电,充电完成后,Vout的电平为高电平。当Vin = 1时,上面的PMOS截止,下面的NMOS导通,负载电容通过NMOS进行放电,放电完成后,Vout的电平为低电平。这样一开一闭的变化,电源的充放电,就形成了开关功耗,开关功耗Psitch的计算公式在上式中,VDD为供电电压,Cloa原创 2021-08-19 18:51:52 · 1873 阅读 · 0 评论 -
Verilog实现时钟分频
普通奇数分频当不要求分频50%占空比时,对输入时钟clk上升沿计数,可以设置两个计数的翻转点,一个是(N-1)/2,一个是(N-1),计数到(N-1)时同时将计数器清零。module clk_div(input clk,rst_n,output reg clk_o);reg [1:0] cnt;always@(posedge clk or negedge rst_n) begin if(!rst_n) cnt<=0; else if(cnt==2) cnt<=0; else原创 2021-07-24 20:59:07 · 2863 阅读 · 2 评论 -
无毛刺时钟切换电路
switch the source of a clock line while the chip is running.This is usually implemented by multiplexing two different frequency clock sources in hardware and controlling the multiplexer select line by internal logic.there is a chance of generating a glit转载 2021-07-20 21:42:31 · 2395 阅读 · 1 评论 -
门控时钟问题
背景使用门控时钟可以有效降低动态功耗。门控时钟在 ASIC 中使用较多,在 FPGA 使用较少,使用门控时钟会影响时序分析原则:门控时钟的输出只能跟着时钟信号进行跳变,而不能跟着控制信号进行跳变上升沿有效的clk对上升沿有效的 clk,使用与门进行门控,ena 控制信号只能在时钟低电平处跳变,这样才能保证时钟的完整在clk高电平区间,只要en变化,输出的data_clk也会跟着变化,因此会带来毛刺或者时钟不完整问题。所以在clk高电平区间,ena要保持稳定。改进(1):使用一个锁存器,时钟原创 2021-08-16 16:13:57 · 1582 阅读 · 2 评论 -
IIC总线协议
介绍IIC(Inter Integrated Circuit,集成电路总线)是由数据线 SDA 和时钟 SCL 构成的双向串行总线I/O结构:特点:IIC是半双工IIC是真正的多主机总线,如果两个主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏多个IIC器件可以并联在IIC总线上,每个器件有特定的地址,分时共享IIC总线SDA 和 SCL 都是由主机控制的,从设备只是能够在一个字节数据发送完成后,主机释放SDA时,将SDA线拉低表示ACK。起始和终止信号都是由主机发出的,起始信号:原创 2021-08-16 14:53:09 · 533 阅读 · 0 评论 -
跨时钟域信号如何处理(二、多bit信号)
1原创 2021-08-12 20:31:16 · 12218 阅读 · 1 评论 -
跨时钟域信号如何处理 (三、笔试题)
(大疆2020数字芯片)下列关于多bit数据跨时钟域的处理思路,错误的有()A. 发送方给出数据,接收方用本地时钟同步两拍再使用;B. 发送方把数据写到异步fifo,接收方从异步fifo里读出;C. 对于连续变化的信号,发送方转为格雷码发送,接收方收到后再转为二进制;D. 发送方给出数据,发送方给出握手请求,接收方收到后回复,发送方撤销数据。答案:A解析:多bit跨时钟域不能简单使用打两拍,打拍后可能数据错乱;异步FIFO,格雷码(连续变化的地址/计数信号等),握手信号,DMUX...原创 2021-08-07 14:56:50 · 692 阅读 · 0 评论 -
FPGA中的亚稳态
背景一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟(频率)下工作的信号往往需要相互沟通和传递信号。不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者处理不当,如下图所示的时钟域CLK_A的数据信号A可能无法满足时钟域CLK_B的setup/hold时间,可能导致:1.数据丢失,无法采到预期中的原创 2021-07-27 22:37:38 · 328 阅读 · 0 评论 -
跨时钟域信号如何处理(一、单bit信号)
文章目录影响单bit信号的处理两级DFF同步器影响一颗芯片上会有许多不同的信号工作在不同的时钟频率下。比如SOC芯片中的CPU通常会工作在一个频率上,总线信号(比如DRAM BUS)会工作在另一个时钟频率下,而普通的信号又会工作在另外的时钟频率下。这3个不同时钟(频率)下工作的信号往往需要相互沟通和传递信号。不同时钟域下的信号传递就涉及到跨时钟域信号处理,因为相互之间的频率、相位不一样,如果不做处理或者处理不当,如下图所示的时钟域CLK_A的数据信号A可能无法满足时钟域CLK_B的setup/hol原创 2021-07-08 08:00:05 · 5539 阅读 · 6 评论 -
Altera sof、pof、jic文件的区别
https://blog.51cto.com/u_12956289/2917719转载 2021-06-28 22:18:56 · 561 阅读 · 0 评论 -
FIFO知识点
什么是FIFO?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,优点:没有外部读写地址线,这样使用起来非常简单缺点:只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。什么情况下用FIFO?FIFO一般用于不同时钟域之间的数据缓冲,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16位 100K SPS,那么每秒的数据量为100K×1..原创 2021-06-25 19:52:05 · 1594 阅读 · 0 评论 -
FPGA 基础
FPGA的开发流程原创 2021-06-02 16:09:08 · 93 阅读 · 0 评论 -
Verilog 基础
verilog四值逻辑系统verilog的模块结构原创 2021-06-02 16:08:50 · 72 阅读 · 0 评论 -
FIFO深度的计算
知乎-硅农Case9过程有误即为在160个时钟周期内写入160个数据。每个时钟读取的数据个数 = 8 / 10所以160个时钟读出数据的个数为 160 *(8/10) = 128剩下的没有读出,就存在FIFO中,则需要深度为:160 - 128 = 32注意:不管读8个数据在10个时钟内是怎么分布的,都不影响结果。但如果条件改成“每100个时钟读取80个数据”,结果就不一样了。...原创 2021-05-16 22:03:04 · 7366 阅读 · 2 评论 -
信号处理
FFT底层如何实现?(高通)FPGA运算结构:并行结构,流水线结构FFT底层:一般基2,点数多的基4蝶形运算知网查几篇硕士论文原创 2021-05-12 10:28:47 · 78 阅读 · 0 评论 -
Verilog进阶
1. 用VERILOG写一段代码,实现消除一个glitch。滤掉小于1个周期glitch的原理图如下:两级寄存器module digital_filter_(clk_in,rst,host_rst,host_rst_filter);input clk_in;input rst;input host_rst;output host_rst_filter;reg host_rst_d1;reg host_rst_d2;always@(posedge clk_in or negedge原创 2021-05-08 20:11:00 · 287 阅读 · 0 评论 -
FPGA笔试题 未整理
Quartus II 是 ( )公司的( )开发工具。A. AlteraB. XilinxC. Lattice DD. 集成E. 专用F. 第三方答案:Quartus II 是(Altera)公司的(集成)开发工具。分别填AD。解析:Quartus II:是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware.原创 2021-04-15 15:25:09 · 547 阅读 · 1 评论