Verilog状态机
2024-09-06 14:54:43
以1011为例
代码如下:
//1011(Meay型)
module state1(clk,in,rst_n,out);
input clk;
input rst_n;
input in;
output reg out;
reg [1:0] state;
reg[1:0] s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;
always@(posedge clk or negedge rst_n)
if(!rst_n)
begin
state<=2'b00;
out<=1'b0;
end
else
begin
case(state)
s0:
begin
state<=(in==0)? s0:s1;
out<=0;
end
s1:
begin
state<=(in==0)? s2:s1;
out<=0;
end
s2:
begin
state<=(in==0)? s0:s3;
out<=0;
end
s3:
if(in)
begin
state<=s1;
out<=1;
end
else
begin
state<=s2;
out<=0;
end
default:
begin
state<=s0;
out<=1;
end
endcase
end
endmodule
最新文章
- 添加OSG各种事件处理器
- 转 系统级编程语言性能PK
- Xamarin.iOS模拟器调试找不到资源文件
- 深入理解ASP.NET的内部运行机制(转)
- leetcode 组合题
- LINQ更新用户
- 20.23. xmlrpclib — XML-RPC client access — Python v2.7.5 documentation
- 【MS SQL】把多个数据库合并为一个新的数据库
- 前端环境安装(node.js+npm+grunt+bower)
- Android Studio 提高工作效率的奇技
- python注释方法以及编码问题
- [LOJ 6248]「CodePlus 2017 11 月赛」晨跑
- 3、Docker镜像管理基础
- async/await处理异步
- Linux DNS 服务器安装、配置和维护
- nginx学习笔记(一)
- react组件之间的组合方式
- 关于EXCEPT和INTERSECT的用法和例子
- Linux下查看文件或文件夹大小的命令df 、du、ls
- [转帖] Linux 创建一个简单的私有CA、发证、吊销证书