Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
【Verilog刷题篇】硬件工程师进阶1|序列检测_创想鸟

【Verilog刷题篇】硬件工程师进阶1|序列检测

前言硬件工程师近年来也开始慢慢吃香,校招进大厂年薪总包不下30-40w的人数一大把!而且大厂人数并没有饱和! – 本期是【Verilog刷题篇】硬件工程师进阶1|序列检测,有不懂的地方可以评论进行讨论!推荐给大家一款刷题、面试的神器,我也是用这一款神器进行学习Verilog硬件代码的!~链接如下:刷题面试神器跳转链接也欢迎大家去牛客查看硬件工程师招聘职位的各类资料,并进行提前批投递面试!小白新手可以通过该神器进行日常的刷题、看大厂面经、学习计算机基础知识、与大牛面对面沟通~ 刷题的图片已经放在下面了~Q1:输入序列连续的序列检测

问题描述:请编写一个序列检测模块,检测输入信号a是否满足01110001序列,当信号满足该序列,给出指示信号match。

模块的接口信号图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

模块的时序图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

输入描述: clk:系统时钟信号 rst_n:异步复位信号,低电平有效 a:单比特信号,待检测的数据

序列猴子开放平台 序列猴子开放平台

具有长序列、多模态、单模型、大数据等特点的超大规模语言模型

序列猴子开放平台 0 查看详情 序列猴子开放平台

输出描述: match:当输入信号a满足目标序列,该信号为1,其余时刻该信号为0

案例代码:

代码语言:javascript代码运行次数:0运行复制

`timescale 1ns/1nsmodule sequence_detect(input clk,input rst_n,input a,output reg match);    parameter zero = 4'd0;       parameter one = 4'd1;       parameter two = 4'd2;       parameter three = 4'd3;       parameter four = 4'd4;       parameter five = 4'd5;       parameter six = 4'd6;       parameter seven = 4'd7;     parameter    eight=4'd8;       reg [3:0] cu_st;    always@(posedge clk or negedge rst_n)        begin            if(!rst_n)begin                cu_st<=zero;                match<=1'b0;end            else begin                case(cu_st)                    zero:if(a==1'b0)begin                                cu_st<=one;                                match<=1'b0;end                                            else begin                                 cu_st<=zero;                                 match<=1'b0; end                    one:if(a==1'b1)begin                                cu_st<=two;                                match<=1'b0;end                                            else begin                                 cu_st<=one;                                 match<=1'b0; end                    two:if(a==1'b1)begin                                cu_st<=three;                                match<=1'b0;end                                            else begin                                 cu_st<=one;                                 match<=1'b0; end                    three:if(a==1'b1)begin                                cu_st<=four;                                match<=1'b0;end                                            else begin                                 cu_st<=one;                                 match<=1'b0; end                    four:if(a==1'b0)begin                                cu_st<=five;                                match<=1'b0;end                                            else begin                                 cu_st<=zero;                                 match<=1'b0; end                    five:if(a==1'b0)begin                                cu_st<=six;                                match<=1'b0;end                                            else begin                                 cu_st<=two;                                 match<=1'b0; end                    six:if(a==1'b0)begin                                cu_st<=seven;                                match<=1'b0;end                                            else begin                                 cu_st<=two;                                 match<=1'b0; end                    seven:if(a==1'b1)begin                                cu_st<=eight;                                match<=1'b0;end                                            else begin                                 cu_st<=one;                                 match<=1'b0; end                    eight:if(a==1'b1)begin                                cu_st<=three;                                match<=1'b1;end                                            else begin                                 cu_st<=one;                                 match<=1'b1; end                    default:begin cu_st<=zero;                        match<=1'b0;end                endcase                                            end        end endmodule

Q2: 含有无关项的序列检测

问题描述:请编写一个序列检测模块,检测输入信号a是否满足011XXX110序列(长度为9位数据,前三位是011,后三位是110,中间三位不做要求),当信号满足该序列,给出指示信号match。

程序的接口信号图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

程序的功能时序图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

输入描述: clk:系统时钟信号 rst_n:异步复位信号,低电平有效 a:单比特信号,待检测的数据

输出描述: match:当输入信号a满足目标序列,该信号为1,其余时刻该信号为0

案例代码:

代码语言:javascript代码运行次数:0运行复制

`timescale 1ns/1nsmodule sequence_detect(input clk,input rst_n,input a,output reg match);    reg [8:0] a_temp;    always@(posedge clk or negedge rst_n)        begin            if(!rst_n)                a_temp<=9'b0;            else                a_temp<={a_temp[7:0],a};                    end    always@(posedge clk or negedge rst_n)        begin            if(!rst_n)                match<=1'b0;            else if(a_temp[8:6]==3'b011&&a_temp[2:0]==3'b110)                match<=1'b1;            else                match<=1'b0;                end               endmodule

Q3:不重叠序列检测

问题描述:请编写一个序列检测模块,检测输入信号(a)是否满足011100序列, 要求以每六个输入为一组,不检测重复序列,例如第一位数据不符合,则不考虑后五位。一直到第七位数据即下一组信号的第一位开始检测。当信号满足该序列,给出指示信号match。当不满足时给出指示信号not_match。

模块的接口信号图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

模块的时序图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

输入描述: clk:系统时钟信号 rst_n:异步复位信号,低电平有效 a:单比特信号,待检测的数据

输出描述: match:当输入信号a满足目标序列,该信号为1,其余时刻该信号为0 not_match:当输入信号a不满足目标序列,该信号为1,其余时刻该信号为0

案例代码:

代码语言:javascript代码运行次数:0运行复制

`timescale 1ns/1nsmodule sequence_detect(input clk,input rst_n,input data,output reg match,output reg not_match);reg [5:0]cs;reg [5:0]ns;reg [5:0]count;always@(posedge clk or negedge rst_n)   if(!rst_n)   count=5)     count<=0;    else    count<=count+1;   always@(posedge clk or negedge rst_n)if(!rst_n)begin   ns<=0;   cs<=0;   endelse    cs<=ns;parameter IDLE=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6;parameter NOT_MATCH=7;always@(*)  case(cs)    IDLE:ns = (data==0)? s1:NOT_MATCH;    s1:ns =   (data==1)? s2:NOT_MATCH;    s2:ns =   (data==1)? s3:NOT_MATCH;    s3:ns =   (data==1)? s4:NOT_MATCH;    s4:ns =   (data==0)? s5:NOT_MATCH;    s5:ns =   (data==0)? s6:NOT_MATCH;    s6:ns =   (data==0)? s1:NOT_MATCH;    NOT_MATCH:ns = (data==0&&count == 5)? s1:NOT_MATCH;endcasealways@(posedge clk or negedge rst_n)  if(!rst_n)begin    match<=0;    not_match<=0;    end    else if (count == 5)begin                if(ns==s6)begin        match<=1;        not_match<=0;     end    else begin            match<=0;       not_match<=1;        end    end     else begin        match <= 1'b0;        not_match <= 1'b0;    end            endmodule

Q4:输入序列不连续的序列检测

问题描述:请编写一个序列检测模块,输入信号端口为data,表示数据有效的指示信号端口为data_valid。当data_valid信号为高时,表示此刻的输入信号data有效,参与序列检测;当data_valid为低时,data无效,抛弃该时刻的输入。当输入序列的有效信号满足0110时,拉高序列匹配信号match。

模块的接口信号图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

模块的时序图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

输入描述: clk:系统时钟信号 rst_n:异步复位信号,低电平有效 data:单比特信号,待检测的数据 data_valid:输入信号有效标志,当该信号为1时,表示输入信号有效

输出描述: match:当输入信号data满足目标序列,该信号为1,其余时刻该信号为0

案例代码:

代码语言:javascript代码运行次数:0运行复制

`timescale 1ns/1nsmodule sequence_detect(input clk,input rst_n,input data,input data_valid,output reg match);    parameter [3:0] data_ref = 4'b0110;    reg [3:0] data_in;    always @(posedge clk or negedge rst_n)        if(!rst_n) data_in <= 4'b0000;        else if(data_valid) data_in <= {data_in[2:0],data};    always @(posedge clk or negedge rst_n) begin        if(!rst_n) match <= 1'b0;        else if((data_in[2:0] == 3'b011) && (!data))  match <= 1'b1;        else match <= 1'b0;    end    endmodule

Q5:信号发生器

问题描述:请编写一个信号发生器模块,根据波形选择信号wave_choise发出相应的波形:wave_choice=0时,发出方波信号;wave_choice=1时,发出锯齿波信号;wave_choice=2时,发出三角波信号。

模块的接口信号图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

模块的时序图如下:

【Verilog刷题篇】硬件工程师进阶1|序列检测

输入描述: clk:系统时钟信号 rst_n:异步复位信号,低电平有效 wave_choise:2比特位宽的信号,根据该信号的取值不同,输出不同的波形信号

输出描述: wave:5比特位宽的信号,根据wave_choise的值,输出不同波形的信号

案例代码:

代码语言:javascript代码运行次数:0运行复制

`timescale 1ns/1nsmodule signal_generator(input clk,input rst_n,input [1:0] wave_choise,output reg [4:0]wave);    reg [4:0] cnt;    reg k;    always @(posedge clk or negedge rst_n) begin        if(!rst_n) begin            cnt <= 5'd0;            wave <= 5'd0;        end        else begin            case(wave_choise)                2'd0:begin                    if(cnt == 5'd19) begin                        cnt <= 5'd0;                        wave =5'd9 && cnt<5'd19)begin                        cnt <= cnt + 1'b1;                        wave <= 5'd20;                    end                    else begin                        cnt <= cnt + 1'b1;                        wave = 5'd20)                        wave <= 5'd0;                    else                        wave <= wave + 1'b1;                end                2'd2:begin                    if(wave == 5'd0) begin                        k <= 1'b0;                        wave <= wave + 1'b1;                    end                    else if(wave == 5'd20) begin                        k <= 1'b1;                        wave <= wave - 1'b1;                    end                    else if(k == 1'b0 && wave < 5'd20)                        wave  5'd0)                        wave <= wave - 1'b1;                    else                        wave <= wave - 1'b1;                end                default:begin wave <= wave;end            endcase        end    end  endmodule

总结:小白跟大牛都在用的平台硬件工程师近年来也开始慢慢吃香,校招进大厂年薪总包不下30-40w的人数一大把!而且大厂人数并没有饱和! – 本期是【Verilog刷题篇】硬件工程师从0到入门3|组合逻辑复习+时序逻辑入门,有不懂的地方可以评论进行讨论!

以上就是【Verilog刷题篇】硬件工程师进阶1|序列检测的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/463863.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
玩转mongoDB(六):索引,速度的引领(普通索引篇)
上一篇 2025年11月8日 04:41:25
Windows10更新后桌面文件不见了怎么办_Windows10更新后桌面文件丢失修复方法
下一篇 2025年11月8日 04:41:31

相关推荐

  • 佰维发布国内首款8TB PCIe 5.0固态硬盘 售价5299元

    10月23日,佰维BWIN正式推出国内首款8TB容量的PCIe 5.0固态硬盘——X570 PRO 8TB版本。 该产品搭载了全新6纳米制程的高效能主控芯片,并配备独立DRAM缓存,性能表现强劲。其最高顺序读取速度可达14000MB/s,4K随机读取与写入性能分别高达2000K IOPS和1600K…

    2026年9月12日
    000
  • 雷蛇飓兽V3专业版手柄获IGN法国8分!贵但值得!

    IGN法国近日发布了对雷蛇飓兽V3专业版手柄的评测,最终给出了8分的高分评价。 简评:雷蛇飓兽V3专业版再次展现了品牌在高端游戏手柄领域的强大实力,几乎是一款无可挑剔的旗舰之作。 评分 8分 优秀 总评:作为雷蛇目前最成熟的手柄产品,飓兽V3专业版从设计理念到实际体验都彰显出专业级水准。它不仅为竞技…

    2026年9月9日
    000
  • 英特尔冲击高端显卡!Big Battlemage四款设备ID曝光

    英特尔冲击高端显卡!Big Battlemage四款设备ID曝光英特尔冲击高端显卡!Big Battlemage四款设备ID曝光英特尔冲击高端显卡!Big Battlemage四款设备ID曝光英特尔冲击高端显卡!Big Battlemage四款设备ID曝光

    it之家 7 月 19 日消息,科技博客 wccftech 于昨日(7 月 18 日)撰文指出,在英特尔开源的 compute runtime 项目中,出现了代号为“big battlemage”的高性能显卡(内部型号 bmg-g31)的相关线索。 据 IT之家查阅公开信息显示,“Big Battl…

    2026年8月27日 • 用户投稿
    000
  • 英伟达第三次回应H20没后门!央媒灵魂拷问:请拿出铁证来

    近日,中央广播电视总台旗下新媒体账号“玉渊谭天”发布了一篇深度文章,聚焦美国在芯片中植入加密后门的操作手法。 文中以英伟达H20芯片为例指出,仅从硬件层面的“后门”可能性来看,该芯片已具备实现“远程关闭”等潜在功能的技术条件。 玉渊谭天明确表示,无论从技术安全还是使用风险角度评估,H20芯片对中国而…

    2026年8月27日
    000
  • 1499元!AOC推出31.5英寸4K显示器:享受3年质保

    近日,AOC正式发布了新款U32V11N显示器,目前已在主流电商平台上线,定价为1499元,同时提供长达三年的质保服务,展现出极高的性价比优势。 该显示器搭载一块31.5英寸的VA面板,支持4K超高清分辨率(3840×2160)和60Hz刷新率。在画质表现上,支持10bit色深,覆盖99% sRGB…

    2026年8月27日
    100
  • 又能战未来 神奇小工具让A卡强开FSR4:可白赚3倍性能

    nvidia的dlss技术近年来表现抢眼,几乎成了提升游戏帧率的“神器”。而amd也不甘示弱,今年在rx 9000系列显卡上推出了全新的fsr4技术,终于补齐了此前在超分辨率领域的短板。 与前几代FSR技术不同,FSR4不再仅仅依赖传统算法,而是引入了卷积神经网络(CNN)模型,并结合机器学习(ML…

    2026年8月26日
    100
  • 10999元机械革命极光X Pro笔记本首销:Ultra7-255HX+32G+1T+RTX5070Ti(国补后低至8944元)

    10999元机械革命极光X Pro笔记本首销:Ultra7-255HX+32G+1T+RTX5070Ti(国补后低至8944元)10999元机械革命极光X Pro笔记本首销:Ultra7-255HX+32G+1T+RTX5070Ti(国补后低至8944元)10999元机械革命极光X Pro笔记本首销:Ultra7-255HX+32G+1T+RTX5070Ti(国补后低至8944元)10999元机械革命极光X Pro笔记本首销:Ultra7-255HX+32G+1T+RTX5070Ti(国补后低至8944元)

    IT之家8月12日最新消息,机械革命推出的极光X Pro笔记本电脑新增配置版本,搭载英特尔酷睿Ultra 7-255HX处理器、32GB内存、1TB固态硬盘以及RTX 5070Ti显卡,目前已在京东平台正式发售,官方定价为10999元,部分区域在国家补贴政策支持下,实际到手价可低至8944元。 这款…

    2026年8月26日 • 用户投稿
    100
  • NVIDIA来真的 RTX 5070显卡史低价来袭:便宜17%

    近期有关nvidia将调整rtx 50系列显卡价格的传闻逐渐成真,部分厂商已在7月底开始行动,目前多家渠道显示,部分型号已创下历史新低价。 与此前仅有个位数降幅不同,此次降价主要集中在RTX 5070型号上,幅度更为明显。在英国亚马逊,微星推出的RTX 5070 12G Shadow 2X OC版本…

    2026年8月25日
    100
  • Mac Ventura秒开CSS预览,HTML改动全屏闪现!

    关闭实时预览功能可解决Mac Ventura系统下HTML修改时页面全屏闪烁问题,依次关闭编辑器的实时预览、清除浏览器缓存并禁用硬件加速、更换默认预览应用为Safari或Firefox,必要时通过终端命令sudo killall -HUP WindowServer强制刷新图形上下文以恢复正常显示。 …

    2025年12月23日
    000
  • JavaScript实现非关联元素悬停时动态调整目标元素亮度

    本文详细介绍了如何使用javascript,通过监听一个独立元素的鼠标悬停事件,来动态调整页面中另一个非关联元素的亮度。教程将提供具体的代码示例,利用css的`filter`属性结合javascript事件监听机制,实现灵活的视觉交互效果,并探讨相关注意事项,帮助开发者在不依赖父子或兄弟关系的情况下…

    2025年12月23日
    000
  • 如何通过JavaScript实现颜色拾取器?

    答案:JavaScript颜色拾取器通过canvas绘制色谱、滑块控制色相,结合事件处理与HSL/RGB/HEX转换实现交互式选色,相比原生input更可控、可定制且功能可扩展。 通过JavaScript实现颜色拾取器,核心在于利用HTML的元素绘制颜色区域,结合CSS进行样式布局,并用JavaSc…

    2025年12月20日
    000
  • C++ AR云渲染环境 WebGPU后端开发配置

    答案是C++ AR云渲染结合WebGPU后端需平衡高性能与跨平台,通过Dawn或wgpu-native实现服务器端渲染,利用FFmpeg编码视频流,经WebRTC低延迟传输至客户端,再与AR姿态数据同步叠加显示;其中WebGPU提供现代图形API优势,支持跨平台和浏览器原生集成,而姿态同步需解决网络…

    2025年12月18日
    000
  • AYANEO官宣NEXT 2掌机项目:锐龙AI Max+395处理器+内置电池

    AYANEO官宣NEXT 2掌机项目:锐龙AI Max+395处理器+内置电池AYANEO官宣NEXT 2掌机项目:锐龙AI Max+395处理器+内置电池AYANEO官宣NEXT 2掌机项目:锐龙AI Max+395处理器+内置电池AYANEO官宣NEXT 2掌机项目:锐龙AI Max+395处理器+内置电池

    在昨日(7月28日)举行的2025-2026战略分享会上,AYANEO正式公布了其全新旗舰掌机项目——AYANEO NEXT 2。该设备将搭载基于锐龙AI Max+395“Strix Halo”平台的高性能芯片,定位为次世代掌上游戏主机。 与近期GPD发布的可拆卸电池设计的WIN 5不同,AYANE…

    2025年12月5日 • 用户投稿
    000
  • NVIDIA发布新驱动:10月告别GTX 10/900显卡!

    nvidia近日推出了最新的官方显卡驱动版本“geforce 580.88 driver”,该驱动已通过whql认证,旨在为即将于8月8日发布的两款动作冒险游戏——《四海兄弟:故乡》(mafia: the old country)和《光与影:33号远征队》提供优化支持,特别是为后者带来了dlss 4…

    2025年12月5日
    000
  • 超帅外观!华硕ROG RTX5090 Matrix骇客显卡惊艳亮相

    超帅外观!华硕ROG RTX5090 Matrix骇客显卡惊艳亮相超帅外观!华硕ROG RTX5090 Matrix骇客显卡惊艳亮相超帅外观!华硕ROG RTX5090 Matrix骇客显卡惊艳亮相超帅外观!华硕ROG RTX5090 Matrix骇客显卡惊艳亮相

    华硕即将推出一款全新的ROG RTX 5090 Matrix骇客显卡,官方已曝光其外观设计,最引人注目的是其别具一格的散热外壳与RGB灯光效果。 在ROG Astral之后,传闻华硕正为GeForce RTX 5090开发另一款顶级旗舰型号。这款显卡采用三风扇布局,并在尾部融入了呈现ROG标志的无限…

    2025年12月5日 • 用户投稿
    000
  • RTX 5090 D V2新款中国特供版测试:游戏无压力但AI性能缩水

    英伟达rtx 5090新款中国特供版上市,最新基准测试显示其游戏性能与rtx 5090 d持平,但生产力与ai性能最高下滑25%。geforce rtx 5090 d v2在游戏与跑分测试中与rtx 5090 d难分伯仲,但生产力性能下降达25%,ai测试也有10%差距。 超能网最新测试报告证实,新…

    2025年12月5日
    300
  • 华硕“小钢炮”!ROG新款迷你主机开卖 售价18999元

    IT之家 8 月 6 日消息,华硕此前发布的 ROG NUC 2025 搭载独立显卡的电竞迷你主机 RTX 5070 Ti 型号目前已正式开售。该机型延续采用英特尔酷睿 Ultra 9 275HX 处理器,配备 32GB 内存与 2TB 固态硬盘,官方定价为 18999 元,消费者还可叠加享受 20…

    2025年12月5日
    100
  • 握手协议仍需攻关 玩家尝试为NS2魔改转接NVMe固态

    8 月 5 日消息,玩家 yu 近日在 better gaming 频道分享了一段视频,展示了他尝试为任天堂 switch 2 主机改装 nvme 固态硬盘的过程,然而最终未能成功。 Yu 表示,该项目基于 NV&T Labs 推出的开源转接板设计,核心构想是将 Switch 2 底部的 m…

    2025年12月5日
    100
  • Win11更新惹祸?用户称导致SSD大量写入时出现故障

    根据wccftech的最新消息,近期有用户反馈,Windows 11的最新安全补丁可能在大容量数据写入操作后导致SSD出现异常,该问题目前已波及多款固态硬盘产品。 有用户在实际测试中指出,自Windows 11发布“KB5063878”安全更新后,某些存储设备在执行大规模文件写入任务时开始出现运行故…

    2025年12月3日
    300
  • DDR5内存超频新世界纪录诞生:海盗船内存飙至12886MT/s

    8 月 17 日消息,加拿大超频高手“saltycroissant”成功将 ddr5 内存频率推至 12886mt/s,刷新了全球最快内存速度纪录。这并非他首次问鼎巅峰,事实上,超频领域的榜首位置几乎每月都会迎来新主人。 本次破纪录测试中,他使用了英特尔酷睿 Ultra 7 265K 处理器、华擎 …

    2025年12月3日
    800

发表回复

登录后才能评论
关注微信