【黑金教程笔记之006】【建模篇】【Lab 05 SOS信号之一】—笔记

sos_module.v是产生SOS信号的功能模块。即有次序的输出莫斯码:点、画、间隔。control_module.v是一个定时触发器,每一段时间使能sos_module.v。

模块:
/**********************************************************
module name:sos_module.v
function: generate sos signal by yf.x
2014-11-07 **********************************************************/ module sos_module(
CLK,
RST_n,
Pin_out,
SOS_en_sig
); input CLK;
input RST_n;
input SOS_en_sig;
output Pin_out; /***********************************************************/
// DE2-115 use 50MHz oscillator,50M*0.001-1=49_999
parameter T1ms='d49_999; /**********************************************************/ reg [:]count1; //1ms counter always @(posedge CLK or negedge RST_n)
if(!RST_n)
count1<='d0;
else if(iscount && count1==T1ms)
count1<='d0;
else if(iscount)
count1<=count1+'b1;
else if(!iscount)
count1<='d0; /***********************************************************/ reg [:]count_ms; always @(posedge CLK or negedge RST_n)
if(!RST_n)
count_ms<='d0;
else if(iscount && count1==T1ms)
count_ms<=count_ms+'b1;
else if(!iscount)
count_ms<='d0; /***********************************************************/ reg iscount;
reg rPin_out;
reg [:]i; always @(posedge CLK or negedge RST_n)
if(!RST_n)
begin
iscount<='b0;
rPin_out<='b0;
i<='d0;
end
else
case(i) 'd0:
if(SOS_en_sig=='b1)
i<='d1; 'd1,
'd3,
'd5,
'd13,
'd15,
'd17: //short
if(count_ms=='d100)
begin
iscount<='b0;
rPin_out<='b0;
i<=i+'b1;
end
else
begin
iscount<='b1;
rPin_out='b1;
end 'd2,
'd4,
'd6,
'd8,
'd10,
'd12,
'd14,
'd16,
'd18: //interval
if(count_ms=='d50)
begin
iscount<='b0;
i<=i+'b1;
end
else
iscount<='b1; 'd7,
'd9,
'd11: //long
if(count_ms=='d300)
begin
iscount<='b0;
rPin_out<='b0;
i<=i+'b1;
end
else
begin
iscount<='b1;
rPin_out='b1;
end 'd19: //end
begin
rPin_out<='b0;
i<='b0;
end
endcase /*******************************************************************/ assign Pin_out=rPin_out; endmodule
/************************************************************
module name:control_module.v
function:generate a enable signal at each 3 second. by yf.x
2014-11-07 ************************************************************/ module control_module(
CLK,
RST_n,
SOS_en_sig
); input CLK;
input RST_n;
output SOS_en_sig; /***********************************************************/
// 50MHz*3S-1=149_999_999
parameter T3s='d149_999_999; /***********************************************************/ reg isEn;
reg [:] count1; always @(posedge CLK or negedge RST_n)
if(!RST_n)
begin
isEn<='b0;
count1<='d0;
end
else if(count1==T3s)
begin
isEn<='b1;
count1<='d0;
end
else
begin
isEn<='b0;
count1<=count1+'b1;
end /************************************************************/ assign SOS_en_sig=isEn; /************************************************************/ endmodule
/********************************************************************
module name: sos_generator_module.v
function: top module. pin assignmets(for DE2-115):
--------------------------------------------------
CLK----------------------------------CLOCK_50
RST_n--------------------------------KEY[0]
Pin_out------------------------------LEDG[8]
-------------------------------------------------- by yf.x
2014-11-07 ********************************************************************/ module sos_generator_module(
CLK,
RST_n,
Pin_out
); input CLK;
input RST_n;
output Pin_out; /*********************************************************************/ wire SOS_en_sig; control_module u0(
.CLK(CLK),
.RST_n(RST_n),
.SOS_en_sig(SOS_en_sig)
); wire pin_out_wire; sos_module u1(
.CLK(CLK),
.RST_n(RST_n),
.SOS_en_sig(SOS_en_sig),
.Pin_out(pin_out_wire)
); /********************************************************************/ assign Pin_out=pin_out_wire; /********************************************************************/ endmodule
模块框图:

实验五说明:
实验五中control_module.v每隔3秒产生一个使能信号,触发sos_module.v产生sos信号。
【黑金教程笔记之006】【建模篇】【Lab 05 SOS信号之一】—笔记的更多相关文章
- 【黑金教程笔记之007】【建模篇】【Lab 06 SOS信号之二】—笔记
控制模块的协调角色. 实验六用到了实验四的按键消抖模块debounce_module.v和实验五的sos_module.v. 设计思路: debounce_module.v看成一个输入,sos_mod ...
- CS231n官方笔记授权翻译总集篇发布
CS231n简介 CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉识别的卷积神经网络.该课程是斯 ...
- 《Kafka权威指南》读书笔记-操作系统调优篇
<Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运 ...
- 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序
读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...
- 【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. 关键 ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
随机推荐
- 时间戳转换成DateTime
select DateAdd(hour,8,Dateadd(ss,时间戳,'1970-01-01')) --1970/01/01+时间戳(秒数)+8小时 --因GMT是中央时区,北京在东8区,相差 ...
- 集群架构和CentOS7安装RabbitMQ集群(单机版)
1. 集群架构 1.1 四种内部元数据 队列元数据.交换器元数据.绑定元数据.vhost元数据. 单一节点中:会将数据存储到内存,同时将持久化元数据保存到硬盘. 集群中: 存储到磁盘上.内存中. 集群 ...
- JOI 2019 Final合集
JOI 2019 Final 合集 #3010. 「JOI 2019 Final」勇者比太郎 其实如果读懂题了就是水题了 题目就是让你求满足条件的\(JOI\),使得\(O\)在\(J\)同行的 ...
- Beat---hdu2614
http://acm.hdu.edu.cn/showproblem.php?pid=2614 题目大意 题目就不粘了 就是一个简单的深搜 由于我深搜实在是不懂 就在写一个博客记录一下 #in ...
- CD-----UVa624(01背包+输出路径)
CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best musi ...
- P1194 买礼物 洛谷
https://www.luogu.org/problem/show?pid=1194 题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近 ...
- sublime text 3注册码
—– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 AFF6F6 ...
- Registration system
Registration system 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 A new e-mail service "Berlandesk&q ...
- Mac 使用smb协议连接FTPserver
在Mac中,能够通过smb协议作为client连接到server,比如一个FTPserver,然后获取上面的共享文件. 方法: 1.在Finder菜单中点击前往 -- 连接server. 也能够Com ...
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
wpf 导出Excel 1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGrid ...