FPGA學習筆記(貳)--- 流水燈
平臺:FPGA黑金开发板 AX301
開發環境:Quartus Prime Version 17.0.0 Build 595 04/25/2017 Standard Edition
引脚配置:鼠標托拉 Node Name 項到引脚圖即可
注意事項新建工程:Set Up Top-Level Entity 名字要對應
注意事項引脚復用:Assignments-->Device-->Device and Pin Options...-->Dual-Purpose pins-->nCEO -->Use as regular I/O
nCEO:Specifies how the nCEO pin should be used when the device is operating in user mode after configuration is complete. The nCEO pin can be reserved as dedicated nCEO programming pin or a regular I/O pin.
我的Top-Level:
module MyLED(CLK, RSTn, Run_LED); input CLK;
input RSTn;
output [:]Run_LED;//I/O口的说明:input[信号位宽]端口名 /**********************************/ wire [:]Run_LED;//定义输出信号 Run_LED U1(.CLK( CLK ), .RSTn( RSTn ), .LED_Out( Run_LED ) ); /***********************************/ assign Run_LED = Run_LED;//内部信号声明和功能定义 /**********************************/ endmodule
我的Run_LED:
module Run_LED(CLK, RSTn, LED_Out); input CLK;
input RSTn;
output [:]LED_Out; /**************************/ parameter T1MS = 'd49_999; //DB4CE15使用的晶振为50MHz,50M*0.001-1=49_999 /**************************/ reg [:]Count1; always @ ( posedge CLK or negedge RSTn )//1ms计数器
if( !RSTn )
Count1 <= 'd0;
else if( Count1 == T1MS )
Count1 <= 'd0;
else
Count1 <= Count1 + 'b1; /*****************************************/ reg [:]Count_MS; always @ ( posedge CLK or negedge RSTn )//100ms计数器
if( !RSTn )
Count_MS <= 'd0;
else if( Count_MS == 'd100 )
Count_MS <= 'd0;
else if( Count1 == T1MS )
Count_MS <= Count_MS + 'b1; /***************************************/ reg [:]rLED_Out; always @ ( posedge CLK or negedge RSTn )
if( !RSTn )
rLED_Out <= 'b1111;
else if( Count_MS == 'd100 )
begin if( rLED_Out == 'b0000 )
rLED_Out <= 'b0001;
else
rLED_Out <= { rLED_Out[:], 'b0 };//向左移位1bit操作
end /**********************行48左移操作解釋***************************
知識點1: reg [n-1:0] rega; //一个n位的寄存器
reg mema [n-1:0]; //一个由n个1位寄存器构成的存储器组 知識點2: 位拼接运算符(Concatation) {}
解釋:如果rLED_Out不是4'b0000 就取rLED_Out后三位,并且與1'b0合并成一个新的四位 ****************************************************************/ assign LED_Out = rLED_Out; /*****************************/
endmodule
感謝:http://www.heijin.org/forum.php?mod=viewthread&tid=31002&pid=320054&page=1&extra=#pid320054
FPGA學習筆記(貳)--- 流水燈的更多相关文章
- FPGA學習筆記(肆)--- Star Test Bench Template Writer
上一篇testbench我自己也沒怎麽搞懂,再來一篇學習特權同學的方法. 課程:Lesson 7 BJ EPM240学习板实验1——分频计数实验 鏈接:https://www.youtube.com/ ...
- [Python學習筆記] 使用xlwings 插入註解 (forked 版本)
到今天為止 xlwings 還沒有插入註解的功能 去原始開發者的 Github Pull Requests 他說之前有人有建議要加入這個功能 但他還沒更新~ 如果需要使用 Python 來插入註解的話 ...
- Java學習筆記(基本語法)
本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證. 安裝JDK 在Oracle網站中找自己系統的JDK下載位置 ...
- [DDD]學習筆記 第15章 精煉(Distillation)
核心領域(Core-Domain) 為了使領域模型成為企業真正的資產, 模型中的關鍵核心部份需要足夠靈活和充分利用來創建應用程序的功能; 簡而言之, 核心領域是系統中最有價值的部份. 濃縮模型, 將最 ...
- C# partial 學習筆記
局部類的講解參考:http://blog.csdn.net/susan19890313/article/details/7575204 感謝作者~
- ORACLE 學習筆記
proc 里的 commit等于提交就是你做了insert或者update后,commit后才是真正修改或者插入了数据库中 如果不提交的话,那么这个表就被锁了 CURSOR MYCURSOR is ...
- [Python學習筆記] 使用 selenium 抓取網頁並且雙擊滑鼠 (double click)
一開始使用的時候 看官方文件 以為使用 double_click()即可 但後來出現錯誤 AttributeError: 'WebElement' object has no attribute 'd ...
- [Python學習筆記] 利用 Python在Excel 插入註解
用Python 來處理excel 檔 用過了 openpyxl 還有 pyexcel目前覺得除了讀寫如果還要使用另外的功能 (像是讀取格子裡的公式)可以用 xlwings 他的首頁標題 " ...
- [Python學習筆記] 抓出msg信件檔裡的附件檔案
想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...
随机推荐
- C 语言 符合运算符
复合赋值 5个算术运算符 + - * / % 可以和赋值运算符 = 结合起来形成符合运算符 += -= *= /= %= total += 5 total = total + 5 note:两个运算符 ...
- 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
在图像数据传输和显示的过程中有一个不常用的参数:间距. 间距的名称:它有很多的别名,在使用d3d显示的时候,它叫pitch:在用ffmpeg解码的时候,它叫linesize: 在用ffmpeg转换格式 ...
- 用ASP.NET_Regsql.exe创建Session数据库
CMD: C:\Users\ZhangSC>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe -S ZhangS ...
- spring boot 给返回值加状态 BaseData
JavaWeb开发中,需要给前端返回的数据加上一些头部的状态信息,来表示请求成功或失败的状态原因 一.数据添加状态信息 1.新建BaseData public class BaseData<T& ...
- IntelliJ IDEA 集成 SVN
在idea中使用subversion提交代码需要使用SVN SVN下载官网:https://tortoisesvn.net/downloads.html 可以根据自己电脑下载相应的版本,如果安装了的需 ...
- nodeJs 使用 express-http-proxy 转发请求
开发过程中经常需要用到 nodeJs做转发层 使用express配合 express-http-proxy 可以轻松的完成转发 使用过程: 安装 express-http-proxy npm inst ...
- Xilinx Zynq ZC-702 开发(01)—— 概览
1.资料获取:https://github.com/Xilinx(开发所需资源,包括:交叉编译工具,linux kernel 源码,u-boot 源码, device-tree 源码, qemu, ...
- Mac+sublime text+skim
首先:安装Mac Tex .Sublime.skim MacTex: https://tug.org/mactex/mactex-download.html Sublime3 : http:// ...
- 模拟PLC 的圆弧插补方式在VC中绘制圆弧
最近同事想让要做一个绘图的控件.VC里面的画弧函数Arc需要提供外接矩形的坐标.同事觉得不好用,他更习惯圆弧插补的那种方式.于是看了看圆弧插补的东西.其实这种画弧方式就是提供圆弧的起点.终点和半径来画 ...
- 前端笔记-javaScript-2
一.JavaScript的对象 简介: 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String.Math.Array. ...