每天进步一点点------基础实验_13_有限状态机 :Mealy型序列检测器
/*********************************************************************************
* Company :
* Engineer : 空气微凉
*
* Create Date : 00:00:00 22/03/2013
* Design Name :
* Module Name :
* Project Name :
* Target Devices :
* Tool versions :
* Description :
* http://www.cnblogs.com/kongqiweiliang/
* Dependencies :
*
* Revision :
* Revision : 0.01 - File Created
* Additional Comments : 基础实验_13_有限状态机 :Mealy型序列检测器
********************************************************************************/
`timescale 1ns/1ps
`define UD #
/*******************************************************************************/
module SEQ_REC_MEALY
(
//system interface
input iCLK_50 ,//50MHz
input iRESET ,//system interface
//Interface package
input iDAT_EN ,//
input iDAT ,//
output oDAT //
);
//-------------------------------------------------------------------------------
parameter FSM_IDLE = 'h0;
parameter FSM_0 = 'h1;
parameter FSM_1 = 'h2;
parameter FSM_2 = 'h3; reg [:] FSM_CS;
reg [:] FSM_NS; always@(posedge iCLK_50 or negedge iRESET)begin
if(!iRESET)
FSM_CS <= FSM_IDLE;
else
FSM_CS <= FSM_NS;
end
always@(*)begin
case(FSM_CS)
FSM_IDLE :
if(iDAT_EN && iDAT) FSM_NS = FSM_1;
else if(iDAT_EN && (!iDAT)) FSM_NS = FSM_0;
else FSM_NS = FSM_IDLE;
FSM_0 :
if(!iDAT) FSM_NS = FSM_0;
else if(iDAT) FSM_NS = FSM_1;
else FSM_NS = FSM_IDLE;
FSM_1 :
if(!iDAT) FSM_NS = FSM_0;
else if(iDAT) FSM_NS = FSM_2;
else FSM_NS = FSM_IDLE;
FSM_2 :
if(!iDAT) FSM_NS = FSM_0;
else if(iDAT) FSM_NS = FSM_2;
else FSM_NS = FSM_IDLE;
default :
FSM_NS = FSM_IDLE;
endcase
end assign oDAT = ((FSM_CS == FSM_2) && iDAT) ? 'h1 : 1'h0;
//-------------------------------------------------------------------------------
endmodule
每天进步一点点------基础实验_13_有限状态机 :Mealy型序列检测器的更多相关文章
- 每天进步一点点------基础实验_12_有限状态机 :Moore型序列检测器
/********************************************************************************* * Company : * Eng ...
- 每天进步一点点------基础实验_08_触发器 :D、T触发器各一
/********************************************************************************* * Company : * Eng ...
- [nRF51822] 12、基础实验代码解析大全 · 实验19 - PWM
一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指 ...
- [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写
一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...
- [nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC
一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻 ...
- [nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC
一.本实验ADC 配置 分辨率:10 位. 输入通道:5,即使用输入通道AIN5 检测电位器的电压. ADC 基准电压:1.2V. 二.NRF51822 ADC 管脚分布 NRF51822 的ADC ...
- [nRF51822] 8、基础实验代码解析大全 · 实验11 - PPI
前一篇分析了前十个基础实验的代码,从这里开始分析后十个~ 一.PPI原理: PPI(Programmable Peripheral Interconnect),中文翻译为可编程外设互连. 在nRF51 ...
- 20145338 《网络对抗》逆向及Bof基础实验
逆向及Bof基础实验 实践目标 ·本次实践的对象是一个名为pwn1的linux可执行文件. ·该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. ·该程序同时包含 ...
- 20155209林虹宇逆向及Bof基础实验报告
20155209林虹宇逆向及Bof基础实验报告 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符 ...
随机推荐
- BK: How to read a book 第四篇
第四篇 阅读的最终目标 第二十章 阅读的第四个层次:主题阅读 在做主题阅读时的要求: 1. 知道:知道应该读哪些书. 在面对如此庞大的相关资料时,我们要如何决定我们要研究的主题是什么呢. 如何判断属于 ...
- GitBook的使用方式,快速创建网页文档
环境需求:node npm 得装好 ----------------------------------- 我一开始不知道得先装gitbook-cli 先执行了 npm install gitbook ...
- CTF——代码审计之变量覆盖漏洞writeup【1】
题目: 所需基础知识: 分析: 思路:由于目的是要拿$flag的值,所以可以得出最终会输出两个变量,而$flag的值在红框那行,被我们自己post的值给覆盖,所以flag值肯定不会在这出来,那么只剩下 ...
- ssm开发垃圾分类查询系统 源码 mysql
需求 基于SSM实现一个垃圾分类查询管理系统, 用户可以根据自定义查询分类信息, 管理员可以对分类信息, 垃圾详情信息进行增删改查的管理 运行环境 jdk1.8,tomcat8.5,mysql5.6, ...
- Pycharm操作数据库
Pymysql 用于连接mysql数据库 连接数据库 data_ip = "192.168.34.128" data_name = "lch" data_pwd ...
- Jmeter-功能概要
1.Jmeter工具组成部分 (1)资源生成器:用于生成测试过程中服务器.负载机的资源代码.(LR中的VuGen) (2)用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为.(LR中的 ...
- Hibernate的理论知识点
转自网络 一. 对象持久化的理论 1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复. 2.对象持久化的原因(目标): 物理: 1) 内存不能持久,需要在硬盘上持久保存 //(物 ...
- python:创建文件
#!/usr/bin/python# -*- coding:utf-8 -*- open('a.txt','w+')
- 洛谷P1372 又是毕业季I
https://www.luogu.org/problem/P1372 #include<bits/stdc++.h> using namespace std; long long n,k ...
- linux异常 - 无法分配内存
解决方案: 删除虚拟机上不必要的东西 重启开虚拟机的电脑