- 博客(19)
- 收藏
- 关注
原创 VL46 同步FIFO
根据题目提供的双口RAM代码和接口描述,实现同步FIFO,要求FIFO位宽和深度参数化可配置。双口RAM代码如下,可在答案中添加并例化此代码。电路的接口如下图所示。
2023-08-31 11:51:44
68
原创 VL45 异步FIFO
请根据题目中给出的双口RAM代码和接口描述,实现异步FIFO,要求FIFO位宽和深度参数化可配置。双口RAM代码如下,可在本题答案中添加并例化此代码。电路的接口如下图所示。
2023-08-31 10:02:09
71
原创 VL44 根据状态转移写状态机-二段式
如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。1、 必须使用对应类型的状态机。2、 使用二段式描述方法。注意rst为低电平复位。
2023-08-30 20:20:10
54
原创 VL43 根据状态转移写状态机-三段式
如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。2、 使用三段式描述方法,输出判断要求要用到对现态的判断。1、 必须使用对应类型的状态机。注意rst为低电平复位。
2023-08-30 19:59:00
35
原创 VL41 任意小数分频
首先,由于不能在硬件上进行小数的运算(比如2.1个时钟这种是不现实的,也不存在3.3个寄存器),小数分频不能做到分频后每个时钟周期都是源时钟的nn倍,也无法实现占空比为1/2,因此,考虑小数分频,其实现方式应当为53个clkout时钟周期是10个clkin时钟周期的8.7倍。其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。请设计一个可以实现任意小数分频的时钟分频器,比如说8.7分频的时钟信号。设小数为nn,此处以8.7倍分频的时钟周期为例。注意rst为低电平复位。
2023-08-30 16:18:43
38
原创 VL39 自动贩售机2
设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元。1、投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号。2、此题忽略出饮料后才能切换饮料的问题。注意rst为低电平复位。
2023-08-29 14:52:00
45
1
原创 VL38 自动贩售机1
设计一个自动贩售机,输入货币有三种,为0.5/1/2元,饮料价格是1.5元,要求进行找零,找零只会支付0.5元。投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号。注意rst为低电平复位。
2023-08-29 11:31:28
54
原创 fpga面试题库(自用)—— 数字IC前端
异步复位同步释放:所谓异步复位,同步释放就是在复位信号到来 的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。两级寄存器之间有复杂的组合逻辑,比如与或非等等组合逻辑运算,这样此处的组合逻辑延迟可能超过一个时钟周期,按照两级 寄存器的时序分析原理,这里一定会报时序错误,但是有时候我们采集此信号未必需要在发射沿的下一个时钟周期采样,我们可能需要经过多个时钟周期采集数据,这就是multicycle。在电路中同一个时钟源的时钟分频出来的不同频率的时钟作用于两部分电路,这两部分电路也是同步的。
2023-08-28 22:27:51
416
1
原创 VL36 状态机-重叠序列检测
1、进行重叠检测 即10110111 会被检测通过2次。2、寄存器输出,在序列检测完成下一拍输出检测有效。注意rst为低电平复位。
2023-08-28 21:29:28
90
1
原创 VL35 状态机-非重叠的序列检测
1、进行非重叠检测 即101110111 只会被检测通过一次。2、寄存器输出且同步输出结果。注意rst为低电平复位。
2023-08-28 20:49:06
49
1
原创 VL34 整数倍数据位宽转换8to16
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现8bit数据输入转换为16bit数据输出。其中,先到的8bit数据应置于输出16bit的高8位。
2023-08-28 19:45:45
43
1
原创 VL33 非整数倍数据位宽转换8to12
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现8bit数据输入转换为12bit数据输出。其中,先到的数据应置于输出的高bit位。
2023-08-28 19:37:53
54
原创 VL32 非整数倍数据位宽转换24to128
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出。其中,先到的数据应置于输出的高bit位。
2023-08-28 19:14:51
87
原创 VL31 数据累加输出
电路的接口如下图所示。valid_a用来指示数据输入data_in的有效性,valid_b用来指示数据输出data_out的有效性;ready_a用来指示本模块是否准备好接收上游数据,ready_b表示下游是否准备好接收本模块的输出数据;实现串行输入数据累加输出,输入端输入8bit数据,每当模块接收到4个输入数据后,输出端输出4个接收到数据的累加结果。输入端和输出端与上下游的交互采用valid-ready双向握手机制。要求上下游均能满速传输时,数据传输无气泡,不能由于本模块的设计原因产生额外的性能损失。
2023-08-28 16:34:55
62
原创 VL30 数据串转并电路
实现串并转换电路,输入端输入单bit数据,每当本模块接收到6个输入数据后,输出端输出拼接后的6bit数据。本模块输入端与上游的采用valid-ready双向握手机制,输出端与下游采用valid-only握手机制。数据拼接时先接收到的数据放到data_b的低位。电路的接口如下图所示。valid_a用来指示数据输入data_a的有效性,valid_b用来指示数据输出data_b的有效性;ready_a用来指示本模块是否准备好接收上游数据,本模块中一直拉高;rst_n是异步复位信号。
2023-08-28 16:29:12
82
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人