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信号之一】—笔记的更多相关文章

  1. 【黑金教程笔记之007】【建模篇】【Lab 06 SOS信号之二】—笔记

    控制模块的协调角色. 实验六用到了实验四的按键消抖模块debounce_module.v和实验五的sos_module.v. 设计思路: debounce_module.v看成一个输入,sos_mod ...

  2. CS231n官方笔记授权翻译总集篇发布

    CS231n简介 CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉识别的卷积神经网络.该课程是斯 ...

  3. 《Kafka权威指南》读书笔记-操作系统调优篇

    <Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运 ...

  4. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  5. 【LaTeX】E喵的LaTeX新手入门教程(1)准备篇

    昨天熄灯了真是坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er ...

  6. Pycharm新手教程,只需要看这篇就够了

    pycharm是一款高效的python IDE工具,它非常强大,且可以跨平台,是新手首选工具!下面我给第一次使用这款软件的朋友做一个简单的使用教程,希望能给你带来帮助! 目前pycharm一共有两个版 ...

  7. 【转】寻找最好的笔记软件:海选篇 (v1.0)

    原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b55.html   序言: 我见过的多数软件爱好者,无论是资深用户,还是初级用户,都有一个梦想:找到 ...

  8. Matlab 多个版本的安装包下载、安装和激活教程 + 多套数学建模视频教程

    目录 1. 关键词 1.1. 说明 2. 下载地址 2.1. OneDrive高速云盘 2.1.1. 多版本的安装包 2.1.2. 多套数学建模的视频教程 2.2. 百度云 3. 安装教程 1. 关键 ...

  9. Redis 笔记 01:入门篇

    Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

随机推荐

  1. [NOIP2002] 提高组 洛谷P1034 矩形覆盖

    题目描述 在平面上有 n 个点(n <= 50),每个点用一对整数坐标表示.例如:当 n=4 时,4个点的坐标分另为:p1(1,1),p2(2,2),p3(3,6),P4(0,7),见图一. 这 ...

  2. PAT (Advanced Level) 1036. Boys vs Girls (25)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  3. 转 asterisk app命令中文翻译

    常规指令 Authenticate:鉴别用户 VMAuthenticate:根据“voicemail.conf”鉴别用户 Curl:接受外接URLs的修复.支持POSTing DUNDiLookup: ...

  4. 多硬盘分区管理fdisk

    原文:http://blog.fens.me/linux-fdisk/ ---------------------------------------------------------------- ...

  5. [Angular] Modify User Provided UI with Angular Content Directives

    If we’re going to make our toggle accessible, we’ll need to apply certain aria attributes to the con ...

  6. 高端技巧:怎样使用#define定义变量

    Introduction 想在源文件里定义一个跟行号有关的变量,每次都手动输入实在是太慢了.本文介绍怎样使用宏定义来定义与行号有关的变量. 比如:我们想在源码的第10行定义A_10这种一个整形变量. ...

  7. windows下使用mingw和msys编译GOTOBLAS和OpenBLAS

    在windows下利用msys编译openBLAS若遇到错误提示: gcc: CreateProcess : No such file or directory 问题原因参考:http://www.c ...

  8. SQL Server 存储过程具体解释

    SQL Server 存储过程具体解释 存储过程的优缺点 ◆长处: 运行速度更快. 存储过程仅仅在创造时进行编译,而一般SQL语句每运行一次就编译一次,所以使用存储过程运行速度更快. 存储过程用于处理 ...

  9. 【小技能】如何检索苹果APP

    有时候要临时在PC上查询一下苹果APP的信息,但是又没有安装itunes软件,那么你可以在必应里面使用类似如下的语句,例如来搜索“aboboo site:itunes.apple.com”,就可以搜索 ...

  10. Page 实例的生命周期

    注册页面 · 小程序 https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html