可控线性序列机:

可控:有个控制端控制何时输出线性序列。

线性序列机:输出一个线性序列。

知识点:

1.包含多个判定条件时用英文()括起来,用&&连接。

2.使能端EN的设置(类似于D触发器 1触发,0保持),注意不能在最后一个状态时立即跳0,要让这个状态跑完。

3.有多个跳变点时,设计多个计数器就可以(仍要注意位数)。

4.在仿真波形中查看除了inout端口外的其他变量的波形的方法:在scope中选择你设计的源文件,右键选择add to wave window。这时可以在波形图中看到出现了更多的变量,但仍然没有波形。我们就得右键simulation,选择relaunch simulation,便可以看到变量的波形了。

module led_change7(      //可控线性序列机.
clk,
reset,
ctrl,
tim,
led
);
input clk;
input reset;
input [7:0]ctrl;
input [5:0]tim;
output reg led ; reg [5:0]counter0;//计数每个状态持续时间 50次,持续1us
always@( posedge clk or negedge reset )
begin
if ( reset == 0 )
counter0 <= 6'b0 ;
else if (counter0 == tim - 1 )
counter0 <= 6'b0 ;
else
counter0 <= counter0 + 1'd1;
end reg [9:0]counter2 ;//整个循环周期 20us
always@( posedge clk or negedge reset )
begin
if ( reset == 0 )
counter2 <= 10'b0 ;
else if (counter2 == 20 * tim - 1 )
counter2 <= 10'b0 ;
else
counter2 <= counter2 + 1'd1;
end reg EN = 1'b1 ;//使能端
always@( posedge clk or negedge reset )
begin
if ( reset == 0 )
EN <= 1'b0 ;
else if ((counter0 == tim - 1 ) && ( counter1 == 3'b111 ))
EN <= 1'b0 ;
else if ( counter2 == 10'd0 )
EN <= 1;
else
EN <= EN ;
end reg [2:0]counter1;//计数led的状态
always@( posedge clk or negedge reset )
begin
if ( reset == 0 )
counter1 <= 3'b0 ;
else if ((counter0 == tim - 1 ) && ( EN == 1'b1))
counter1 <= counter1 + 3'd1 ;
else if ( EN == 1'b0 )
counter1 <= 3'b0 ;
else
counter1 <= counter1 ;
end always@( posedge clk or negedge reset )
begin
if ( reset == 0 )
led <= 0 ;
else case( counter1 )
3'b000 : led <= ctrl[0] ;
3'b001 : led <= ctrl[1] ;
3'b010 : led <= ctrl[2] ;
3'b011 : led <= ctrl[3] ;
3'b100 : led <= ctrl[4] ;
3'b101 : led <= ctrl[5] ;
3'b110 : led <= ctrl[6] ;
3'b111 : led <= ctrl[7] ;
default led <= led ;
endcase
end
endmodule

可控线性序列机(查看除了inout端口外的其他变量的波形的方法)的更多相关文章

  1. 基于FPGA的UART协议实现(通过线性序列机)

    //////////////////2018/10/15 更新源代码: 实现uart这东西其实早就写了,不过不太完善,对于一个完美主义者来说,必须解决掉它. 1.什么是UART?        通用异 ...

  2. 小梅哥FPGA数字逻辑设计教程——基于线性序列机的TLC5620型DAC驱动设计

    基于线性序列机的TLC5620型DAC驱动设计 目录 TLC5620型DAC芯片概述:    2 TLC5620型DAC芯片引脚说明:    2 TLC5620型DAC芯片详细介绍:    3 TLC ...

  3. 【Linux基础】查看某一端口是否开放(1025为例)

    1.使用lsof 命令来查看端口是否开放 lsof -i:1025 //如果有显示说明已经开放了,如果没有显示说明没有开放 lsof(list open files)是一个列出当前系统打开文件的工具. ...

  4. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  5. [linux]查看linux下端口占用

    netstat netstat -an | grep 23 (查看是否打开23端口) 查看端口占用情况的命令:lsof -i [root@www ~]# lsof -i COMMAND PID USE ...

  6. 查看Linux下端口占用情况的命令

    在使用Linux系统的过程中,有时候会遇到端口被占用而导致服务无法启动的情况.比如HTTP使用80端口,但当启动Apache时,却发现此端口正在使用. 这种情况大多数是由于软件冲突.或者默认端口设置不 ...

  7. linux 查看某一端口的占用情况

    查看某一端口的占用情况: lsof -i:端口号,例如查看端口21是否被占用 lsof -i: 实例:查看端口是否被占用,如果被占用结束掉该端口 [root@localhost splunk]# ls ...

  8. C++线性序列容器<vector>简单总结

    C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...

  9. 在windows命令行窗口下执行:查看所有的端口占用情况

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

随机推荐

  1. Linux文本工具-cat-cut-paste;文本分析-sort-wc-uniq

    1.1 查看文本文件内容  cat 1.1.1 cat可以查看文本内容 cat [OPTION]... [FILE]... 常见选项 -E: 显示行结束符$ -A: 显示所有控制符 -n: 对显示出的 ...

  2. Linux 或 Windows 上实现端口映射

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 通常服务器会有许多块网卡,因此也可能会连接到不同的网络, ...

  3. C++进阶-1-模板基础(函数模板、类模板)

    C++进阶 模板 1.1 函数模板 1 #include<iostream> 2 using namespace std; 3 4 // 模板 5 6 // 模板的简单实例 7 // 要求 ...

  4. '@JvmDefault' is only supported since JVM target 1.8. Recompile with '-jvm-ta

    Java 1.8加入了接口默认实现的方式. 那么在kotlin中如何使用呢? 可以在方法上加注解@JvmDefault 但直接加上后会编译会碰到一些错误提示.下面是解决方法. 问题 Logcat 提示 ...

  5. 2.Docker安装

    CentOS Docker 安装 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker.Docker 运行在CentOS 7 (64-bit)上, 要求系统为64位.Linux系统内核版 ...

  6. 一文学会Java的交互式编程环境jshell

    什么是交互式编程环境?重点词交互,在这样的编程环境中,你每输入一行代码,环境都会给你一个反馈,这就是交互式的编程环境.这种编程环境并不太适合工程化的复杂性需求,但在一些快速验证.简单计算之类的场景下还 ...

  7. Fast-Rcnn学习笔记

    Fast-Rcnn学习笔记 paper code Fast-RCNN总览 step1:图片先放进卷积层 step2:再卷积层的特征图谱上回映射出对应的感兴趣区域 step3:集过一层ROI Pooli ...

  8. MySql笔记Ⅰ

    MySql part 1: 数据库概念 数据库:(DataBase, 简称DB):数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种 用户共享 数 ...

  9. [USACO16JAN]Angry Cows G 解题报告

    一图流 参考代码: #include<bits/stdc++.h> #define ll long long #define db double #define filein(a) fre ...

  10. Spring-Cloud-Alibaba系列教程(一)Nacos初识

    前言 在2020年即将开启SpringCloudAlibaba的专题,希望2020年共同学习进步. 学习资料 文档 Naco文档 程序猿DD Spring Cloud Aliabab专题 专题博客 视 ...