
Verilog刷题整理(牛客网)
文章平均质量分 65
简单记录下刷的题,以便回顾
La fille, Lynn!
不忘来时路,不忘心中志
展开
-
Verilog进阶挑战(5)—— 数据串转并电路
实现串并转换电路,输入端输入单bit数据,每当本模块接收到6个输入数据后,输出端输出拼接后的6bit数据。本模块输入端与上游的采用valid-ready双向握手机制,输出端与下游采用valid-only握手机制。数据拼接时先接收到的数据放到data_b的低位。电路的接口如下图所示。valid_a用来指示数据输入data_a的有效性,valid_b用来指示数据输出data_b的有效性;ready_a用来指示本模块是否准备好接收上游数据,本模块中一直拉高;rst_n是异步复位信号。原创 2023-03-01 21:45:52 · 542 阅读 · 0 评论 -
Verilog进阶挑战(4)—— 信号发生器
请编写一个信号发生器模块,根据波形选择信号wave_choise发出相应的波形:wave_choice=0时,发出方波信号;wave_choice=1时,发出锯齿波信号;wave_choice=2时,发出三角波信号。时序逻辑 flag赋值慢一拍,需要再给flag赋值的时候同时增加或者减少wave,否则容易出现负值。wave_choise:2比特位宽的信号,根据该信号的取值不同,输出不同的波形信号。wave:5比特位宽的信号,根据wave_choise的值,输出不同波形的信号。clk:系统时钟信号。原创 2023-03-01 16:36:49 · 1264 阅读 · 0 评论 -
Verilog进阶挑战(3)—— 输入序列不连续的序列检测
请编写一个序列检测模块,输入信号端口为data,表示数据有效的指示信号端口为data_valid。当data_valid信号为高时,表示此刻的输入信号data有效,参与序列检测;当data_valid为低时,data无效,抛弃该时刻的输入。当输入序列的有效信号满足0110时,拉高序列匹配信号match。match:当输入信号data满足目标序列,该信号为1,其余时刻该信号为0。data_valid:输入信号有效标志,当该信号为1时,表示输入信号有效。data:单比特信号,待检测的数据。原创 2023-02-26 11:10:37 · 571 阅读 · 0 评论 -
Verilog进阶挑战(2)—— 不重叠序列检测
请编写一个序列检测模块,检测输入信号(a)是否满足011100序列, 要求以每六个输入为一组,不检测重复序列,例如第一位数据不符合,则不考虑后五位。一直到第七位数据即下一组信号的第一位开始检测。当信号满足该序列,给出指示信号match。不重叠序列检测可以使用状态机或者计数器+序列检测的方式。not_match:当输入信号a不满足目标序列,该信号为1,match:当输入信号a满足目标序列,该信号为1,rst_n:异步复位信号,低电平有效。a:单比特信号,待检测的数据。clk:系统时钟信号。原创 2023-02-25 15:31:57 · 459 阅读 · 0 评论 -
Verilog进阶挑战(1)—— 序列检测
请编写一个序列检测模块,检测输入信号a是否满足011XXX110序列(长度为9位数据,前三位是011,后三位是110,中间三位不做要求),当信号满足该序列,给出指示信号match。match:当输入信号a满足目标序列,该信号为1,其余时刻该信号为0。rst_n:异步复位信号,低电平有效。a:单比特信号,待检测的数据。clk:系统时钟信号。原创 2023-02-23 16:15:25 · 310 阅读 · 0 评论 -
Verilog快速入门(18)—— 边沿检测
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路(11)8线-3线优先编码器(12)使用8线-3线优先编码器实现16线-4线优先编码器(13)用3-8译码器实现全减器(14)使用3-8译码器①实现逻辑函数(15)数据选择器实现逻辑函数(16)状态机(17)ROM的简单实现原创 2023-02-22 17:11:04 · 678 阅读 · 0 评论 -
Verilog快速入门(17)—— ROM的简单实现
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路(11)8线-3线优先编码器(12)使用8线-3线优先编码器实现16线-4线优先编码器(13)用3-8译码器实现全减器(14)使用3-8译码器①实现逻辑函数(15)数据选择器实现逻辑函数(16)状态机(17)ROM的简单实现实原创 2023-02-22 17:07:24 · 3645 阅读 · 0 评论 -
Verilog快速入门(16)—— 状态机
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路(11)8线-3线优先编码器(12)使用8线-3线优先编码器实现16线-4线优先编码器(13)用3-8译码器实现全减器(14)使用3-8译码器①实现逻辑函数(15)数据选择器实现逻辑函数(16)状态机某同步时序电路转换表如下,请原创 2023-02-22 17:03:57 · 638 阅读 · 0 评论 -
Verilog快速入门(15)—— 数据选择器实现逻辑函数
数据选择器实现逻辑函数请使用此4选1数据选择器和必要的逻辑门实现下原创 2023-02-22 16:59:10 · 2516 阅读 · 0 评论 -
Verilog快速入门(14)—— 使用3-8译码器①实现逻辑函数
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路(11)8线-3线优先编码器(12)使用8线-3线优先编码器实现16线-4线优先编码器(13)用3-8译码器实现全减器(14)使用3-8译码器①实现逻辑函数下表是74HC138译码器的功能表.②请使用3-8译码器①和必要的逻辑门原创 2023-02-22 16:48:13 · 1605 阅读 · 0 评论 -
Verilog快速入门(13)—— 用3-8译码器实现全减器
用3-8译码器实现全减器请使用3-8译码器(其功能表见上一篇)和必要的逻辑门实现全减器,全减器接口图如下,A是被减数,B是减数,Ci是来自低原创 2023-02-22 16:40:19 · 2137 阅读 · 1 评论 -
Verilog快速入门(12)—— 使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器
使用8线-3线优先编码器实现16线-4线优先编码器请使用2片该优先编码器Ⅰ及必要的逻辑电路实现16线-4线优先编码器。优先编码器Ⅰ的真值表和代码已给出。可将优先编码器Ⅰ的代码添加到本题答案中,并例化原创 2023-02-21 17:24:55 · 2975 阅读 · 0 评论 -
Verilog快速入门(11)—— 8线-3线优先编码器
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路(11)8线-3线优先编码器输入描述:input [7:0] I ,input EI输出描述:output wire [2:0] Y ,output wi原创 2023-02-21 17:18:05 · 6153 阅读 · 0 评论 -
Verilog快速入门(10)—— 用优先编码器①实现键盘编码电路
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路(9)优先编码器电路①(10)用优先编码器①实现键盘编码电路请使用优先编码器①实现键盘编码电路,可添加并例化题目中已给出的优先编码器代码。10个按键分别对应十进制数0-9,按键9的优先级别最高;按键悬空时,按键输出高电平,按键按下时,按键输出低电平;键盘编码电路的输出是8421BCD码。要求:键盘原创 2023-02-21 16:49:21 · 1320 阅读 · 1 评论 -
Verilog快速入门(9)—— 优先编码器电路①
优先编码器电路①原创 2023-02-21 16:38:10 · 1315 阅读 · 0 评论 -
Verilog快速入门(8)—— 4bit超前进位加法器电路
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路(8)4bit超前进位加法器电路输入描述:输入信号:A_in[3:0],B_in[3:0]C_1类型:wire输出描述:输出信号:S[3:0]CO类型:wire它不考虑进位输入。其中A和B是两个加数,S是和,CoC_oCo是进位输出。2. 全加器全加器是多bit加法器的基础。CiC_iCi是进位输入,C原创 2023-02-20 20:58:57 · 9001 阅读 · 1 评论 -
Verilog快速入门(7)—— 4位数值比较器电路
(1) 四选一多路器(2)异步复位的串联T触发器(3)奇偶校验(4)移位运算与乘法(5)位拆分与运算(6)使用子模块实现三输入数的大小比较(7)4位数值比较器电路某4位数值比较器的功能表如下。请用Verilog语言采用门级描述方式,实现此4位数值比较器输入描述:input [3:0] A ,input [3:0] B输出描述:output wire Y2 , //A>Boutput原创 2023-02-20 20:43:13 · 6983 阅读 · 0 评论 -
Verilog快速入门(6)—— 使用子模块实现三输入数的大小比较
使用子模块实现三输入数的大小比较请编写一个子模块,将输入两个8bit位宽的变量data_a,data_b,并输出data_a,data_b之中较小的数。并在主模块中例化,实现输出三个8bit输入信号的最小值的功能。子模块的信号接口图如下:主模块的信号接口图如下:输入描述:clk:系统时钟rst_n:异步复位信号,低电平有效a,b,c:8bit位宽的无符号数输出描述:d:8bi原创 2023-02-20 20:39:21 · 1101 阅读 · 1 评论 -
Verilog快速入门(5)—— 位拆分与运算
现在输入了一个压缩的16位数据,其实际上包含了四个数据[3:0][7:4][11:8][15:12],现在请按照sel选择输出四个数据的相加结果,并输出valid_out信号(在不输出时候拉低)0: 不输出且只有此时的输入有效1:输出[3:0]+[7:4]2:输出[3:0]+[11:8]3:输出[3:0]+[15:12]原创 2023-02-20 20:31:22 · 773 阅读 · 0 评论 -
Verilog快速入门(4)—— 移位运算与乘法
已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效)信号示意图:3倍=2倍+1倍 or 4-17倍=4倍+2倍+1倍 or 8-1原创 2023-02-20 20:28:21 · 660 阅读 · 0 评论 -
Verilog快速入门(3) —— 奇偶校验
奇偶校验原创 2023-02-20 20:18:24 · 1637 阅读 · 1 评论 -
Verilog快速入门(2)—— 异步复位的串联T触发器
T触发器是一种边沿敏感的存储单元。只有一个信号输入端T,在时钟有效边沿到来时,T端输入有效信号,则触发器翻转,否则触发器保持不变。因此T触发器能够实现有效的计数功能,常用于实现数字计数器。T触发器逻辑功能为:当T=0时,触发器状态不变Qn+1=Qn;当T=1时,在脉冲有效边沿到来时翻转。TQn1Q_{n+1}Qn10QnQ_nQn1∼Qn\sim Q_n∼Qn由触发器的特性表可以得特性方程以及状态转换图:图1-1状态转换图。原创 2023-02-19 16:57:26 · 831 阅读 · 0 评论 -
Verilog快速入门(1)—— 四选一多路器
四选一多路选择器原创 2023-02-19 16:33:28 · 1480 阅读 · 0 评论