【黑金教程笔记之002】【建模篇】【Lab 01 永远的流水灯】—笔记&勘误
学习并行操作的思想。
勘误001:
Page 17,模块图下方,“扫描频配置定为100Hz”应为10Hz。
勘误002:
Page 17,最后一行
“10ms”应为100ms;“2.5ms”应为25ms;(ps:这里用1000ms,每个led亮250ms效果比较明显)
源码如下:
/*************************************************
module name:led0_module.v
function:drive led on for 25ms; by yf.x
2014-11-3
**************************************************/
module led0_module(
CLK,RST_n,LED0
); input CLK,RST_n;
output LED0; /****************************************/
//DE2-115 has 50MHz oc,so 50M*1s=50_000_000
parameter T1000ms='d50_000_000;
/****************************************/
//1000ms counter reg [:]count1; always @(posedge CLK or negedge RST_n)
if(!RST_n)
count1<='d0;
else if(count1==T1000ms)
count1<='d0;
else
count1<=count1+'b1; /***************************************/
// control led on for 100ms reg rLED; always @(posedge CLK or negedge RST_n)
if(!RST_n)
rLED<='b0;
else if(count1>='d0 && count1<26'd1_2500_000)
rLED<='b1;
else
rLED<='b0; /***************************************/ assign LED0=rLED; endmodule
/*************************************************
module name:led1_module.v
function:drive led on for 25ms; by yf.x
2014-11-3
**************************************************/
module led1_module(
CLK,RST_n,LED1
); input CLK,RST_n;
output LED1; /****************************************/
//DE2-115 has 50MHz oc,so 50M*1=50_000_000
parameter T1000ms='d50_000_000;
/****************************************/
//1000ms counter reg [:]count1; always @(posedge CLK or negedge RST_n)
if(!RST_n)
count1<='d0;
else if(count1==T1000ms)
count1<='d0;
else
count1<=count1+'b1; /***************************************/
// control led on for 100ms reg rLED; always @(posedge CLK or negedge RST_n)
if(!RST_n)
rLED<='b0;
else if(count1>='d1_2500_000 && count1<26'd2_5000_000)
rLED<='b1;
else
rLED<='b0; /***************************************/ assign LED1=rLED; endmodule
/*************************************************
module name:led2_module.v
function:drive led on for 25ms; by yf.x
2014-11-3
**************************************************/
module led2_module(
CLK,RST_n,LED2
); input CLK,RST_n;
output LED2; /****************************************/
//DE2-115 has 50MHz oc,so 50M*1=50_000_000
parameter T1000ms='d50_000_000;
/****************************************/
//1000ms counter reg [:]count1; always @(posedge CLK or negedge RST_n)
if(!RST_n)
count1<='d0;
else if(count1==T1000ms)
count1<='d0;
else
count1<=count1+'b1; /***************************************/
// control led on for 100ms reg rLED; always @(posedge CLK or negedge RST_n)
if(!RST_n)
rLED<='b0;
else if(count1>='d2_5000_000 && count1<26'd3_7500_000)
rLED<='b1;
else
rLED<='b0; /***************************************/ assign LED2=rLED; endmodule
/*************************************************
module name:led3_module.v
function:drive led on for 25ms; by yf.x
2014-11-3
**************************************************/
module led3_module(
CLK,RST_n,LED3
); input CLK,RST_n;
output LED3; /****************************************/
//DE2-115 has 50MHz oc,so 50M*1=50_000_000
parameter T1000ms='d50_000_000;
/****************************************/
//1000ms counter reg [:]count1; always @(posedge CLK or negedge RST_n)
if(!RST_n)
count1<='d0;
else if(count1==T1000ms)
count1<='d0;
else
count1<=count1+'b1; /***************************************/
// control led on for 100ms reg rLED; always @(posedge CLK or negedge RST_n)
if(!RST_n)
rLED<='b0;
else if(count1>='d3_7500_000 && count1<26'd50_000_000)
rLED<='b1;
else
rLED<='b0; /***************************************/ assign LED3=rLED; endmodule
/*********************************
module name:top.v
function:control 4 led on for 250ms
(for DE2-115)
pin assignments:
---------------------------------
CLK----------------------CLOCK_50
RST_n--------------------KEY[0]
LED(0-3)-----------------LEDG[0-3]
--------------------------------- yf.x
2014-11-03
**********************************/ module top(
CLK,RST_n,LED
); input CLK,RST_n;
output [:]LED; /*********************************/ wire [:]LED_out; led0_module u0(
.CLK(CLK),
.RST_n(RST_n),
.LED0(LED_out[])
); /*********************************/ led1_module u1(
.CLK(CLK),
.RST_n(RST_n),
.LED1(LED_out[])
); /*********************************/ led2_module u2(
.CLK(CLK),
.RST_n(RST_n),
.LED2(LED_out[])
); /*********************************/ led3_module u3(
.CLK(CLK),
.RST_n(RST_n),
.LED3(LED_out[])
); /*********************************/ assign LED=LED_out; endmodule
【黑金教程笔记之002】【建模篇】【Lab 01 永远的流水灯】—笔记&勘误的更多相关文章
- Verilog HDL那些事_建模篇笔记(实验一,实验二)
实验一:永远的流水灯 扫描频率配置为100Hz,即是说扫描周期为10ms.这里需要注意的是扫描周期的概念.流水灯嘛,顾名思义,扫描周期指的是流水灯扫一轮所需要的时间.听到说周期,就应该想到在建模的时候 ...
- Python小白的数学建模课-05.0-1规划
0-1 规划不仅是数模竞赛中的常见题型,也具有重要的现实意义. 双十一促销中网购平台要求二选一,就是互斥的决策问题,可以用 0-1规划建模. 小白学习 0-1 规划,首先要学会识别 0-1规划,学习将 ...
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块
实验一:流水灯模块 对于发展商而言,动土仪式无疑是最重要的任务.为此,流水灯实验作为低级建模II的动土仪式再适合不过了.废话少说,我们还是开始实验吧. 图1.1 实验一建模图. 如图1.1 所示,实验 ...
- 《Kafka权威指南》读书笔记-操作系统调优篇
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运 ...
- 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...
- Pycharm新手教程,只需要看这篇就够了
pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使用教程,希望能给你带来帮助! 目前pycharm一共有两个版 ...
- 【转】寻找最好的笔记软件:海选篇 (v1.0)
原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b55.html 序言: 我见过的多数软件爱好者,无论是资深用户,还是初级用户,都有一个梦想:找到 ...
- Matlab 多个版本的安装包下载、安装和激活教程 + 多套数学建模视频教程
目录 1. 关键词 1.1. 说明 2. 下载地址 2.1. OneDrive高速云盘 2.1.1. 多版本的安装包 2.1.2. 多套数学建模的视频教程 2.2. 百度云 3. 安装教程 1. 关键 ...
- js便签笔记(12)——浏览TOM大叔博客的学习笔记 part2
1. 前言 昨天写了<js便签笔记(11)——浏览TOM大叔博客的学习笔记 part1>,简单记录了几个问题.part1的重点还是在于最后那个循环创建函数的问题,也就是多个子函数公用一个闭 ...
随机推荐
- java打开本地应用程序(调用cmd)---Runtime用法详解
有时候我们需要借助java程序打开电脑自带的一些程序,可以直接打开或者借助cmd命令窗口打开一些常用的应用程序或者脚本,在cmd窗口执行的命令都可以通过这种方式运行. 例如: package cn.x ...
- 库操作&表操作
系统数据库 ps:系统数据库: mysql 授权库,主要存储系统用户的 权限信息 test MySQL数据库系统自动创建的 测试数据库 ination_schema 虚拟库,不占用磁盘空间,存储的是数 ...
- python学习之-- Mysql 基础知识
数据库介绍及MYSQL基础操作了解 关系型数据库(RDBMS)是按照数据结构来组织,存储和管理数据的仓库.特点:1:数据以表格的形式出现2:每行为各种记录名称3:每列为记录名称所对应的数据域4:许多的 ...
- androidstudio Cannot resolve symbol 'xxx'
Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题.鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 ...
- sql 语句哪里添加单引号问题
1.sql 语句哪里添加单引号问题,哪些地方必须加双引号,否则sql语句会报错? :涉及varchar的值的时候,必须有单引号包括varchar值.int等其他字段类型,则不需要加单引号包括. 如: ...
- Java实现敏感词过滤代码
原文:http://www.open-open.com/code/view/1445762764148 import java.io.BufferedReader; import java.io.Fi ...
- jenkins节约硬盘空间的几个办法
jenkins真是费硬盘和内存,我们先聊聊硬盘问题怎么解决: 1.不要保留太多的构建记录.发布包数量 相关描述如下:取最先匹配进行执行 2.构建完,删除吧
- requests库帮助
requests库帮助 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
- VC++ VS2010 error LNK1123 转换到 COFF 期间失败 怎么办
1 无法输出Hello world 2 点击项目-属性,打开属性页 3 配置属性-清单工具-输入和输出-嵌入清单改成否 4 找出计算机中的所有cvtres.exe,删掉早期的,只留最新版的 ...
- M公司入职记
非常遗憾,我又跳槽了,到传说中的M公司,第一天就体会到了,神马叫差距. 要求9点30到,提前10分钟到了前台.前台MM懵懂的跟我说入职找人事,好吧. 电话联系相关人等,等到10点左右,被引导到一位不知 ...