可控线性序列机(查看除了inout端口外的其他变量的波形的方法)
可控线性序列机:
可控:有个控制端控制何时输出线性序列。
线性序列机:输出一个线性序列。
知识点:
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端口外的其他变量的波形的方法)的更多相关文章
- 基于FPGA的UART协议实现(通过线性序列机)
//////////////////2018/10/15 更新源代码: 实现uart这东西其实早就写了,不过不太完善,对于一个完美主义者来说,必须解决掉它. 1.什么是UART? 通用异 ...
- 小梅哥FPGA数字逻辑设计教程——基于线性序列机的TLC5620型DAC驱动设计
基于线性序列机的TLC5620型DAC驱动设计 目录 TLC5620型DAC芯片概述: 2 TLC5620型DAC芯片引脚说明: 2 TLC5620型DAC芯片详细介绍: 3 TLC ...
- 【Linux基础】查看某一端口是否开放(1025为例)
1.使用lsof 命令来查看端口是否开放 lsof -i:1025 //如果有显示说明已经开放了,如果没有显示说明没有开放 lsof(list open files)是一个列出当前系统打开文件的工具. ...
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- [linux]查看linux下端口占用
netstat netstat -an | grep 23 (查看是否打开23端口) 查看端口占用情况的命令:lsof -i [root@www ~]# lsof -i COMMAND PID USE ...
- 查看Linux下端口占用情况的命令
在使用Linux系统的过程中,有时候会遇到端口被占用而导致服务无法启动的情况.比如HTTP使用80端口,但当启动Apache时,却发现此端口正在使用. 这种情况大多数是由于软件冲突.或者默认端口设置不 ...
- linux 查看某一端口的占用情况
查看某一端口的占用情况: lsof -i:端口号,例如查看端口21是否被占用 lsof -i: 实例:查看端口是否被占用,如果被占用结束掉该端口 [root@localhost splunk]# ls ...
- C++线性序列容器<vector>简单总结
C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...
- 在windows命令行窗口下执行:查看所有的端口占用情况
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...
随机推荐
- Linux-centos8实现私有CA和证书申请
创建CA相关目录,centos8不存在这些目录,需手动建立 [root@centos8-liyj ~]#mkdir -pv /etc/pki/CA/{certs,cr1,newcerts,privat ...
- MySQL实时在线备份恢复方案
开源Linux 长按二维码加关注~ 上一篇:2020年MySQL数据库面试题总结 快照和复制技术的结合可以保证我们得到一个实时的在线MySQL备份解决方案. 当主库发生误操作时,只需要恢复备库上的快照 ...
- gogin web框架部署学习
首先去git上面找了一个gin框架拿来学习gin web开发: flipped-aurora/gin-vue-admin: 基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本 ...
- python读写excel表格,4泼水板房
import shutilimport osfrom openpyxl import load_workbookfrom xlutils.copy import copyimport win32com ...
- form表单,css简介,css选择器,css样式操作
form表单 简介 表单在Web网页中用以让访问者输入数据,当提交表单时,表单中输入的数据被打包传递给Web服务器端的程序 以处理,从而使得Web服务器与用户之间具有交互功能. 表单实现前后台交互:用 ...
- Linux下切换root用户提示Authentication failure错误的解决方法(亲测有效)
第一种情况可能是root密码输入错误造成的,再仔细检查一遍是否输入错误 第二种是刚安装完,没有设置root用户密码导致的,我的就是最小化安装,就会出现这种小问题 解决办法:sudo passwd 然后 ...
- JavaScript 任务池
JavaScript 任务池 本文写于 2022 年 5 月 13 日 线程池 在多线程语言中,我们通常不会随意的在需要启动线程的时候去启动,而是会选择创建一个线程池. 所谓线程池,本意其实就是(不止 ...
- 提升站点SEO的7个建议
1.使用HTTPS 谷歌曾发公告表示,使用安全加密协议(HTTPS),是搜索引擎排名的一项参考因素. 所以,在域名相同情况下,HTTPS站点比HTTP站点,能获得更好的排名. 在网络渠道分发或合作上, ...
- leetcode 524. Longest Word in Dictionary through Deleting 通过删除字母匹配到字典里最长单词
一.题目大意 https://leetcode.cn/problems/longest-word-in-dictionary-through-deleting 给你一个字符串 s 和一个字符串数组 d ...
- mysql查询关键字补充与多表查询
目录 查询关键字补充 having过滤 distinct去重 order by排序 limit分页 regexp正则 多表查询 子查询 连表查询 查询关键字补充 having过滤 关键字having和 ...