小梅哥课程学习——LED花式玩法(从计数器器到线性序列机)——实验六
//每隔10ms,让led灯的一个8状态循环执行一次(每个变化时间值小一点,方便测试比如设置为10us)
源代码
module counter_led_6(
clk,
reset_n,
Time,
ctrl,
led
);
input clk;
input reset_n;
input [31:0] Time;
input [7:0] ctrl;
output reg led;
reg [31:0] counter;
reg EN;
//10ms定时器
reg [18:0] counter0;
always@(posedge clk or negedge reset_n)
if(!reset_n)
counter0<=0;
else if(counter0==500000-1)
counter0<=0;
else
counter0<=counter0+1'b1;
//产生EN
always@(posedge clk or negedge reset_n)
if(!reset_n)
EN<=0;
else if(counter0==0)
EN<=1;
else if((counter2==7)&&(counter==Time-1))
EN<=0;
//输入时间间隔
always@(posedge clk or negedge reset_n)
if(!reset_n)
counter<=0;
else if(EN)begin
if(counter==Time-1)
counter<=0;
else
counter<=counter+1'b1;
end
else
counter<=0;
reg [2:0] counter2;
always@(posedge clk or negedge reset_n)
if(!reset_n)
counter2<=0;
else if(EN)begin
if(counter==Time-1)
counter2<=counter2+1'b1;
end
else
counter2<=0;
always@(posedge clk or negedge reset_n)
if(!reset_n)
led<=0;
else case(counter2)
0:led<=ctrl[0];
1:led<=ctrl[1];
2:led<=ctrl[2];
3:led<=ctrl[3];
4:led<=ctrl[4];
5:led<=ctrl[5];
6:led<=ctrl[6];
7:led<=ctrl[7];
default led<=led;
endcase
endmodule
仿真代码
`timescale 1ns/1ns
module counter_led_6_tb();
reg clk;
reg reset_n;
reg [31:0] Time;
reg [7:0] ctrl;
wire led;
counter_led_6 counter_led_6_inst0(
.clk(clk),
.reset_n(reset_n),
.ctrl(ctrl),
.Time(Time),
.led(led)
);
initial clk=1;
always #10 clk=!clk;
initial begin
reset_n=0;
ctrl=0;
Time=0;
#201;
reset_n=1;
#2000;
Time=2500;
ctrl=8'b1000_0110;
#2000000000;
$stop;
end
endmodule
小梅哥课程学习——LED花式玩法(从计数器器到线性序列机)——实验六的更多相关文章
- 小梅哥FPGA数字逻辑设计教程——基于线性序列机的TLC5620型DAC驱动设计
基于线性序列机的TLC5620型DAC驱动设计 目录 TLC5620型DAC芯片概述: 2 TLC5620型DAC芯片引脚说明: 2 TLC5620型DAC芯片详细介绍: 3 TLC ...
- 【小梅哥SOPC学习笔记】sof与NIOS II的elf固件合并jic得到文件
sof与NIOS II的elf固件合并jic得到文件 注意,本方法已经有更加简便的方法,小梅哥提供相应的脚本文件,可以一键生成所需文件,脚本请前往芯航线FPGA技术支持群获取. 7.1 为什么需要将S ...
- 【小梅哥SOPC学习笔记】系统时钟的使用
给NIOS II CPU添加一颗澎湃的心——系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...
- 【小梅哥SOPC学习笔记】给NIOS II CPU增加看门狗定时器并使用
给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 1. 设置计时溢出时间为1秒 2. 计数器位宽为32位 3. 勾选No Start/Stop control bits 4. 勾选F ...
- 【小梅哥SOPC学习笔记】SOPC开发常见问题及解决办法集锦
SOPC开发常见问题及解决办法集锦 一.Symbol 'NULL' could not be resolved 近期在评估使用NIOS II处理器进行项目的开发,我使用的软件是Quartus II 1 ...
- 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题
解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ...
- 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置
切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ...
- 【小梅哥SOPC学习笔记】设置Eclipse在编译(build)前自动保存源代码文件
设置Eclipse在编译(build)前自动保存源代码文件 Eclipse 常用设置之让Eclipse在编译(build)前自动保存源代码文件 一.让Eclipse在编译(build)前自动保存源代码 ...
- 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II
SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ...
- 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程
Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...
随机推荐
- python33
Python逻辑运算符 Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20: 运算符 逻辑表达式 描述 实例 and x and y 布尔"与" - 如果 x ...
- Linux上面配置Apache2支持Https(ssl)具体方案实现
虽然Nginx比较流行,但是由于一些老项目用到了Apache2来支持Web服务,最近想给服务上一个Https支持,虽然看似教程简单,但是也遇到一些特殊情况,经历了一番折腾也算是解决了所有问题,将过程记 ...
- unity ScriptObject使用
转自 https://www.jianshu.com/p/77fabc83555b using UnityEngine; [CreateAssetMenu(fileName = "Untit ...
- 监控本机环境生成SQL脚本
在开发工作中我们客户端连接 测试服务器开发工作,往往很多人操作数据库,如何甄别出自己操作 方法一: 在程序配置节点设置App节点,譬如: <add name="ModelEntitie ...
- mybatisplus SQL一对多
https://blog.csdn.net/Isyoubao/article/details/122212113 重点:<collection property="nspSchedul ...
- pytorch的cuda版本安装
机器上加了RTX3060的卡,cuda装的11.1的版本,cudnn还不是特别清楚装的哪个版本?vs是2017这个版本的.下面来装pytorch.主要参考这个网站的内容"https://bl ...
- 配置PostMan以访问、连接D365 / Dataverse环境
有人提出个问题说国内21V环境能否使用postman连接CRM? 官方链接:https://learn.microsoft.com/en-us/power-apps/developer/data-pl ...
- Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site.解决办法
报错 Access denied You do not have access to chat.openai.com. The site owner may have set restrictions ...
- 统计学习导论(ISLR)(三):线性回归(超详细介绍)
统计学习导论(ISLR) 参考资料: The Elements of Statistical Learning An Introduction to Statistical Learning 统计学习 ...
- CompletableFuture的使用
1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...