诺瓦科技
7.15投简历,7.20一轮笔试
选择
- 恒流源开路
- 电阻是( )元件 A.储存电场能量 B.储存磁场能量 C.耗能 D.以上都不对
- 竞争冒险的原因
竞争:当一个逻辑门的两个输入端的信号同时向相反方向变化,而变化时间有差异的现象
冒险:两个输出端的信号取值的变化方向是相反时,如门电路输出端的逻辑表达式简化成两个互补信号相乘或相加,由竞争而可能产生输出干扰脉冲的现象
有冒险一定存在竞争,有竞争不一定存在冒险
解决方法:- 修改逻辑设计,出去互补逻辑变量和增加冗余变量
- 输出端并联电容,利用电容充放电特性,对毛刺滤波,对窄脉冲起到平波作用
- 利用格雷码每次只有一位跳变,消除竞争冒险产生的条件
- 利用D触发器打一拍,只要毛刺不出现在时钟的上升沿且满足数据的建立和保持时间,就不会对系统造成危害,可认为D触发器对毛刺不敏感的特性
- BUFG输入时钟来源
- IBUFG,输入全局缓冲,是与专用全局时钟域输入管脚相连接的首级全局缓冲。所有从全局时钟管脚输入的信号必须经过IBFG元,否则布局布线会报错
- IBUFGDS
- BUFG,全局缓冲,它的输入时IBUFG的输出,BUFG的输出到达FPGA内部的IOB、CLB、选择性块RAM的时钟延迟和抖动最小
- BUFGCE
- …
- ROM/RAM
两者都是半导体存储器- ROM,Read Only Memory
- RAM,Random Access Memory
- 时序约束有什么
简答
- Verilog为什么适合描述电路
Verilog不是一种软件程序语言,而是一种硬件描述语言。作为一种硬件描述语言,需要考虑的是如何正确描述各种逻辑器件以及之间的逻辑关系,用语言描绘一个电路图,而不是去编写一个程序,不像软件程序语言在编译是要考虑对计算机内存的消耗情况,而是需要考虑所编写的语言是用最简单的电路来实现一个逻辑功能 - 亚稳态
指触发器无法在某个规定的时间段内达到一个可以确认的状态。指触发器输出端发生跳变时,在这个跳变时期的电平处于标准电平0和1之间的一种状态
当数据发生改变时,下一级触发器在前级触发器处于亚稳态时进行采样,有一定的不确定性,可能被判断为“0”,也有可能是“1”,从而会对整个逻辑电路造成不确定的严重影响,而亚稳态在跨时钟域设计中是不可避免的
如果数据传输中不满足触发器得到Tsu和Th,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于震荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0还是1,是随机的,与输入没有必然的关系
亚稳态发生场合,只要系统中有异步原件,亚稳态就是无法避免的,主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。同步系统中,输入信号总是系统时钟信号,能够达到寄存器的时序要求,所以亚稳态不会发生
由于亚稳态产生后,寄存器Q段输出在稳定下来之前可能是毛刺、震荡、固定的某一电压值。在信号传输中产生亚稳态就会导致与其相连的其他数据部件做出不同的判断,有的判断到“1”有的判断到“0”,有的也进入亚稳态,数字部件就会逻辑混乱。在复位电路中产生亚稳态可能会导致复位失败
解决办法:降低系统频率、用反应更快的FF、引入同步机制,防止亚稳态传播、改善时钟质量 - 跨时钟域CDC
单bit(慢到快):用快时钟打两拍,采一拍也可以,两拍可以消除亚稳态
单bit(快到慢):握手、异步fifo、异步双口RAM;快时钟域的信号脉宽较窄,慢时钟域不一定能采到,可以通过握手机制让窄脉冲展宽,慢时钟域采集到信号后再高速快时钟域已经采集到信号,确保能采集到
多bit:异步FIFO、异步双口RAM、握手、格雷码
代码
- 时分秒计数
先对系统时钟进行分频,确定分频系数,数码管显示用动态显示 - 序列检测
状态机的分类:- mealy型(输出取决于输入和当前状态)和moore型(输出只与当前状态有关)
- 按照状态编码分类:
- gray码(格雷码)状态机,相邻之间只变1bit,编码密度高
- ont-后台(独热码)状态机,任何状态只有1bit为1,其余都为0,编码密度低
- 二进制码状态机
- 有限状态机的三种形式:
- 一段式
只选择一个状态标志位,这个状态标志位会在输入的决定下选择跳转到下一个状态还是维持原有状态,在每一个状态下检测状态标志位及输入来决定其状态的跳转及输出。其输出和状态的切换在一个always循环块中执行。 - 二段式
二段式状态机将状态分为当前状态和此状态,其系统会自动将次状态更新到当前状态,其输入更新在次状态上,其决定系统的状态切换和输出。其输出和状态的切换在两个个always循环块中执行,第一个always块决定系统状态标志的自动跳转,第二个always块决定系统根据不同状态下的输入进行状态的跳转及输出 - 三段式
二段式状态机将状态分为当前状态和此状态,其系统会自动将次状态更新到当前状态,系统的输入更新在次状态上,其决定系统的状态切换,系统会根据其当前状态决定输出的值。其输出和状态更新和状态切换在三个always块中,第一个always块决定系统状态标志的自动跳转,第二个always块决定系统根据不同状态下的输入进行状态的切换,第三个always块根据系统的当前状态决定输出的值
- 一段式
- 奇偶分频
- 多比特数据计算最大值和最大值索引