cyc_to_led
Entity: cyc_to_led
- File: cyc_to_led.v
Diagram

Generics
| Generic name | Type | Value | Description |
|---|---|---|---|
| MD_SIM_ABLE | 0 | sim mode enable | |
| WD_LED_LIGHT | 27 | LED light span wdith | |
| WD_LED_NUMB | 3 | led width to true LED | |
| WD_ERR_INFO | 4 | error info note |
Ports
| Port name | Direction | Type | Description |
|---|---|---|---|
| i_sys_clk | input | system signals | |
| i_sys_resetn | input | ||
| i_cyc_trig_led | input | [WD_LED_NUMB-1:0] | trig signal |
| o_port_driv_led | output | [WD_LED_NUMB-1:0] | led port |
| m_err_cyc_info1 | output | [WD_ERR_INFO-1:0] | error info feedback |
Signals
| Name | Type | Description |
|---|---|---|
| r_cyc_trig_led | reg [WD_LED_NUMB-1:0] | cycle signal temp one clock |
| w_cyc_trig_led_pos | wire [WD_LED_NUMB-1:0] | detect cycle signal pos edge |
| r_led_light_cnt | reg [WD_LED_LIGHT-1:0] | counter for every LED driver |
Processes
- unnamed: ( @(posedge i_sys_clk) )
- Type: always
`timescale 1ns / 1ps
/*
Src Code
*/
// *******************************************************************************
// Company: Fpga Publish
// Engineer: FP
//
// Create Date: 2024/01/09 22:54:18
// Design Name:
// Module Name: cyc_to_led
// Project Name:
// Target Devices: ZYNQ7010 | XCZU2CG | Kintex7
// Tool Versions: 2021.1 || 2022.2
// Description:
// *
// Dependencies:
// *
// Revision: 0.01
// Revision 0.01 - File Created
// Additional Comments:
//
// *******************************************************************************
module cyc_to_led #(
//mode
parameter MD_SIM_ABLE = 0, //!sim mode enable
//number
parameter WD_LED_LIGHT = 27, //!LED light span wdith
parameter WD_LED_NUMB = 3, //!led width to true LED
//width
parameter WD_ERR_INFO = 4 //!error info note
)(
//!system signals
input i_sys_clk ,
input i_sys_resetn,
//!trig signal
input [WD_LED_NUMB-1:0] i_cyc_trig_led,
//!led port
output [WD_LED_NUMB-1:0] o_port_driv_led,
//!error info feedback
output [WD_ERR_INFO-1:0] m_err_cyc_info1
);
//========================================================
//function to math and logic
//========================================================
//localparam to converation and calculate
//========================================================
//register and wire to time sequence and combine
// ----------------------------------------------------------
// src signal solve
reg [WD_LED_NUMB-1:0] r_cyc_trig_led; //!cycle signal temp one clock
wire [WD_LED_NUMB-1:0] w_cyc_trig_led_pos;//!detect cycle signal pos edge
// ----------------------------------------------------------
// led cnt
reg [WD_LED_LIGHT-1:0] r_led_light_cnt [0:WD_LED_NUMB-1]; //!counter for every LED driver
//========================================================
//always and assign to drive logic and connect
// ----------------------------------------------------------
// src signal solve
always@(posedge i_sys_clk)
begin
if(!i_sys_resetn) //system reset
begin
r_cyc_trig_led <= 1'b0; //
end
else if(1) //
begin
r_cyc_trig_led <= i_cyc_trig_led; //
end
end
assign w_cyc_trig_led_pos = i_cyc_trig_led & (~r_cyc_trig_led);
// ----------------------------------------------------------
// led cnt
generate genvar i;
for(i = 0; i < WD_LED_NUMB; i = i + 1)
begin:FOR_WD_LED_NUMB
always@(posedge i_sys_clk)
begin
if(!i_sys_resetn) //system reset
begin
r_led_light_cnt[i] <= 1'b0; //
end
else if(w_cyc_trig_led_pos[i]) //every trig will reset counter
begin
r_led_light_cnt[i] <= 1'b0; //
end
else if(r_led_light_cnt[i][WD_LED_LIGHT-1])
begin
r_led_light_cnt[i] <= r_led_light_cnt[i];
end
else
begin
r_led_light_cnt[i] <= r_led_light_cnt[i] + 1'b1;
end
end
assign o_port_driv_led[i] = r_led_light_cnt[i][WD_LED_LIGHT-1];
end
endgenerate
//========================================================
//module and task to build part of system
//========================================================
//expand and plug-in part with version
//========================================================
//ila and vio to debug and monitor
endmodule
/*
补充说明(UTF-8)
- 基于LED监测周期信号
- 主要用于监测周期在ms级别的中断等物理信号
- 本模块暂时进行到源码设计阶段
*/
随机推荐
- HTML前置知识
1.概念 HTML:超文本标记语言 (英语:Hypertext Markup Language,简称:HTML ) 创建网页的标准标记语言 后缀:html,htm(两者没有区别) html语法对大小写 ...
- Golang gRPC学习(05): retry重试
什么是重试 如果服务出现了错误,主要是网络,服务器出现了短暂异常的时候,该怎么办? 我们都会人工或者自动的重新连接服务试试,看服务是否恢复可用了. 这种重新进行连接服务的一种方式就是重试.如果是在微服 ...
- Notepad++找回自动保存缓存内容的文件
在目录C:\Users\Administrator\AppData\Roaming\Notepad++\backup中找到自动保存的缓存文件. 参考Notepad++找回自动保存缓存内容的文件
- 在写dockerfile时替换国内源
众所周知,Debian是linux发行版中官方源最难用的一个,这个傻逼源让我再构建docker镜像时卡了很久. 那么能不能替换构建dockerfile时使用的源呢?显然是可以的 在与Docke ...
- 【LeetCode二叉树#03】翻转二叉树的几种方法
翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树. 这道题目背后有一个让程序员心酸的故事,听说 Homebrew的作者Max Howell,就是因为没在白板上写出翻转二叉树 ...
- Swift高级进阶-Swift编译过程,”SIL代码“,“IR语法”
swift编译过程 如果不懂LLVM,Clang的同学可以去了解下它的知识点 一些文章中有详细介绍 OC 的编译过程 ,本文来探索一下 Swift 的编译过程.Swift 的编译过程中使用 Swif ...
- 第134篇:解决浏览器的CORS跨域问题(CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome-untrusted, https, edge.)
好家伙, 我继续尝试着将我的飞机大战使用ES6模块化分离开来,出了点问题 1.出现问题: edge,chrome等一系列浏览器,会为了安全,禁止你跨域访问 目录如下: 主程序 index.htm ...
- 【Azure 应用服务】应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件
问题描述 应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件 问题解答 App Service可以通过门户配置Mount Storage, ...
- 二十一: Mysql 锁机制
Mysql 锁机制 事务的 隔离性 由这章讲述的 锁 来实现. 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤 ...
- k8s部署nacos集群
首先创建数据库 nacos 执行以下语句 CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'i ...