首页 > 其他分享 >HDLBits/状态机笔记

HDLBits/状态机笔记

时间:2024-05-23 22:59:40浏览次数:17  
标签:case cur HDLBits b101 b100 endcase 笔记 状态机 nex

`
module top_module (
input clk,
input x,
output z
);
reg [2:0] s_cur;
reg [2:0] s_nex;
//传递状态
always@(posedge clk) begin
s_cur<=s_nex;
end
//确定下一状态
always@() begin
case(s_cur)
3'b000:
case(x)
0:s_nex=3'b100;
1:s_nex=3'b111;
endcase
3'b001:
case(x)
0:s_nex=3'b101;
1:s_nex=3'b110;
endcase
3'b010:
case(x)
0:s_nex=3'b100;
1:s_nex=3'b101;
endcase
3'b011:
case(x)
0:s_nex=3'b101;
1:s_nex=3'b100;
endcase
3'b100:
case(x)
0:s_nex=3'b000;
1:s_nex=3'b111;
endcase
3'b101:
case(x)
0:s_nex=3'b001;
1:s_nex=3'b110;
endcase
3'b110:
case(x)
0:s_nex=3'b000;
1:s_nex=3'b101;
endcase
3'b111:
case(x)
0:s_nex=3'b001;
1:s_nex=3'b100;
endcase
endcase
end
//根据状态算结果,如果使用时钟上升沿,z的结果将会晚一个时钟呈现
always@(
) begin
case(s_cur)
3'b000:z<=1;
default:z<=0;
endcase
end
endmodule

`

https://hdlbits.01xz.net/wiki/Exams/ece241_2014_q4

标签:case,cur,HDLBits,b101,b100,endcase,笔记,状态机,nex
From: https://www.cnblogs.com/snow-blog/p/18209515

相关文章

  • C++基础知识学习笔记(2)
    资料来源https://www.bilibili.com/video/BV1et411b73Z/?spm_id_from=333.337.search-card.all.click&vd_source=cc561849591f6a210152150b2493f6f3简单知识点指针作用:通过指针间接访问内存可以通过指针来保存一个地址。指针所占内存空间32位操作系统,占4个字节。64位操......
  • TALLRec论文阅读笔记
    TALLRec:AnEffectiveandEfficientTuningFrameworktoAlignLargeLanguageModelwithRecommendation论文阅读笔记Abstract存在的问题:​ 由于LLM的训练任务和推荐任务之间存在显著差异,以及训练前的推荐数据不足,LLM在推荐任务中的表现仍然不理想。解决方案:​ 为了弥补......
  • K-D tree 学习笔记
    \(\text{K-Dtree}\)学习笔记\(\text{K-Dtree}\)是一种针对\(k\)维问题求解的算法,并且拥有出色的时空复杂度。思想\(\text{K-Dtree}\)本质上是一棵\(k\)维的二叉平衡树,这保证了其树高稳定在\(\logn\)附近,为求解提供了较为优异的建树模式。\(\text{K-Dtree}\)首......
  • Flutter笔记:Widgets Easier组件库-使用隐私守卫
    Flutter笔记WidgetsEasier组件库:使用隐私守卫-文章信息-Author:李俊才(jcLee95)VisitmeatCSDN:https://jclee95.blog.csdn.netMyWebSite:http://thispage.tech/Email:[email protected]:https://blog.csdn.net......
  • 03-Excel基础操作-学习笔记
    本节接着继续介绍排序工具以及一个重要内容分类汇总工具的使用。01自定义排序我们在上一节接触到了使用排序工具,对数字之类的Excel内置的程序可以通过点击操作,但是当超出Excel内置的范围又当如何应对?比如,存在如下场景:针对文字的排序,我们对销售部门所在列进行排序,顺序为“一部......
  • Linux学习笔记16---常用操作命令(free命令)
    free命令显示系统内存的使用情况,包括物理内存、虚拟内存(swap)和内核缓冲区内存。如果加上-h选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用-s选项并指定间隔的秒数:$free-h-s3上面的命令每隔3秒输出一次内存的使用情况,直到你按下ctr......
  • 平衡树 Treap & Splay [学习笔记]
    平衡树\(\tt{Treap}\)&\(\tt{Splay}\)壹.单旋\(\tt{Treap}\)首先了解\(\tt{BST}\)非常好用的东西,但是数据可以把它卡成一条链\(\dots\)于是,我们将\(\tt{Tree}\)与\(\tt{heap}\)(堆)合并,以保证平衡树\(\log\)的深度。具体地,我们可以使用旋转操作实现K8He的图......
  • 组合计数做题笔记
    \(\color{#FFC116}(1)\)CF1400DZigzags给出\(n\)个数\(a_1,a_2,\cdots,a_n\)。求问有多少个四元组\((i,j,k,l)\),使得这个四元组满足下列条件:\(1\leqi<j<k<l\leqn\);\(a_i=a_k\)并且\(a_j=a_l\)。\(a_i\len\le3000\)。显然可以枚举\(j,k\),所以此时......
  • 学习笔记:树与图上的计数问题
    Prüfer序列\(n\)个点的有标号无根树可以与一个长度为\(n-2\)的Prüfer序列对应。从树到Prüfer序列\(f\)为空序列。如果当前树上多于两个节点,假设当前标号最小的叶子为\(x\),与\(x\)相连的节点标号为\(y\),那么把\(x\)从树上删除,把\(y\)加入\(f\)末尾。......
  • QGIS开发笔记(二):Windows安装版二次开发环境搭建(上):安装OSGeo4W运行依赖其Qt的基础环境De
    前言  使用QGis的目的是进行二次开发,或者说是融入我们的应用(无人车、无人船、无人机),本片描述搭建QGis二次基础开发环境,由于实在是太长了,进行了分篇:上半部分:主要是安装好后,使用QtCreator可以使用QGIs的apps下的Qt使用对应的编译器编译不带qgis的空工程。下半部分:在上半......