牛客网verilog刷题
fpga;verilog
取个什么名字看起来比较厉害
这个作者很懒,什么都没留下…
展开
-
VL47 格雷码计数器
实现4bit位宽的格雷码计数器。电路的接口如下图所示。原创 2023-09-02 10:49:11 · 125 阅读 · 0 评论 -
VL46 同步FIFO
根据题目提供的双口RAM代码和接口描述,实现同步FIFO,要求FIFO位宽和深度参数化可配置。双口RAM代码如下,可在答案中添加并例化此代码。电路的接口如下图所示。原创 2023-08-31 11:51:44 · 117 阅读 · 0 评论 -
VL45 异步FIFO
请根据题目中给出的双口RAM代码和接口描述,实现异步FIFO,要求FIFO位宽和深度参数化可配置。双口RAM代码如下,可在本题答案中添加并例化此代码。电路的接口如下图所示。原创 2023-08-31 10:02:09 · 100 阅读 · 0 评论 -
VL44 根据状态转移写状态机-二段式
如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。1、 必须使用对应类型的状态机。2、 使用二段式描述方法。注意rst为低电平复位。原创 2023-08-30 20:20:10 · 83 阅读 · 0 评论 -
VL43 根据状态转移写状态机-三段式
如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。2、 使用三段式描述方法,输出判断要求要用到对现态的判断。1、 必须使用对应类型的状态机。注意rst为低电平复位。原创 2023-08-30 19:59:00 · 55 阅读 · 0 评论 -
VL42 无占空比要求的奇数分频
请设计一个同时输出5分频的时钟分频器,本题对占空比没有要求。注意rst为低电平复位。原创 2023-08-30 18:26:44 · 111 阅读 · 0 评论 -
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 · 53 阅读 · 0 评论 -
VL40 占空比50%的奇数分频
设计一个同时输出7分频的时钟分频器,占空比要求为50%注意rst为低电平复位。原创 2023-08-30 10:46:47 · 50 阅读 · 0 评论 -
VL39 自动贩售机2
设计一个自动贩售机,输入货币有两种,为0.5/1元,饮料价格是1.5/2.5元,要求进行找零,找零只会支付0.5元。1、投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号。2、此题忽略出饮料后才能切换饮料的问题。注意rst为低电平复位。原创 2023-08-29 14:52:00 · 104 阅读 · 1 评论 -
VL38 自动贩售机1
设计一个自动贩售机,输入货币有三种,为0.5/1/2元,饮料价格是1.5元,要求进行找零,找零只会支付0.5元。投入的货币会自动经过边沿检测并输出一个在时钟上升沿到1,在下降沿到0的脉冲信号。注意rst为低电平复位。原创 2023-08-29 11:31:28 · 88 阅读 · 0 评论 -
VL37 时钟分频(偶数)
请使用D触发器设计一个同时输出2/4/8分频的50%占空比的时钟分频器。注意rst为低电平复位。原创 2023-08-28 22:02:34 · 72 阅读 · 1 评论 -
VL36 状态机-重叠序列检测
1、进行重叠检测 即10110111 会被检测通过2次。2、寄存器输出,在序列检测完成下一拍输出检测有效。注意rst为低电平复位。原创 2023-08-28 21:29:28 · 115 阅读 · 1 评论 -
VL35 状态机-非重叠的序列检测
1、进行非重叠检测 即101110111 只会被检测通过一次。2、寄存器输出且同步输出结果。注意rst为低电平复位。原创 2023-08-28 20:49:06 · 76 阅读 · 1 评论 -
VL34 整数倍数据位宽转换8to16
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现8bit数据输入转换为16bit数据输出。其中,先到的8bit数据应置于输出16bit的高8位。原创 2023-08-28 19:45:45 · 62 阅读 · 1 评论 -
VL33 非整数倍数据位宽转换8to12
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现8bit数据输入转换为12bit数据输出。其中,先到的数据应置于输出的高bit位。原创 2023-08-28 19:37:53 · 72 阅读 · 0 评论 -
VL32 非整数倍数据位宽转换24to128
电路的接口如下图所示。valid_in用来指示数据输入data_in的有效性,valid_out用来指示数据输出data_out的有效性;rst_n是异步复位信号。实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出。其中,先到的数据应置于输出的高bit位。原创 2023-08-28 19:14:51 · 154 阅读 · 0 评论 -
VL31 数据累加输出
电路的接口如下图所示。valid_a用来指示数据输入data_in的有效性,valid_b用来指示数据输出data_out的有效性;ready_a用来指示本模块是否准备好接收上游数据,ready_b表示下游是否准备好接收本模块的输出数据;实现串行输入数据累加输出,输入端输入8bit数据,每当模块接收到4个输入数据后,输出端输出4个接收到数据的累加结果。输入端和输出端与上下游的交互采用valid-ready双向握手机制。要求上下游均能满速传输时,数据传输无气泡,不能由于本模块的设计原因产生额外的性能损失。原创 2023-08-28 16:34:55 · 122 阅读 · 0 评论 -
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 · 131 阅读 · 1 评论