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级别的中断等物理信号
- 本模块暂时进行到源码设计阶段
*/
随机推荐
- oracle中使用自定义函数解析指定分隔符的字符串
1.创建字符串表类型 create type tab_varchar is table of varchar2(2000); 2.创建管道函数 create or replace function g ...
- 【Android逆向】静态分析+frida破解test2.apk
有了上一篇的基础 https://www.cnblogs.com/gradyblog/p/17152108.html 现在尝试静态分析的方式来处理 为什么还要多此一举,因为题眼告诉了我们是五位数字,所 ...
- Maven应用常见问题
在Spring Boot项目中打包指定类为启动类 <build> <plugins> <plugin> <groupId>org.springframe ...
- springboot自动配置原理以及spring.factories文件的作用详解
一.springboot 自动配置原理 先说说我们自己的应用程序中Bean加入容器的办法: package com.ynunicom.dc.dingdingcontractapp; import co ...
- 项目实战:Qt+OSG教育学科工具之地理三维星球
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- nginx中使用perl脚本来定制一些请求转发等等
http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...
- BeanShell Sampler 前置处理器
一概念: 前置处理器主要作用: 用于修改即将发送的http的请求数据 BeanShell预处理器可以在取样器发送请求之前被执行,可以通过它完成发送请求所需的数据 其中的ctx.vars.props.p ...
- ohmyposh 安装 - 基于 powershell7.2.1 - 最后改成 profile自定义
今天偶然下载了 powershell7.2.1 https://mydown.yesky.com/pcsoft/468254.html 这想着 vscode也支持了,得装一个 ohmyposh的主题啊 ...
- 关闭 nginx | taskkill /f /t /im nginx.exe
stop.bat taskkill /f /t /im nginx.exe pause
- Proxmark3入门指南
Proxmark3笔记 --Proxmark3完全入门指南 写在前面 这里所有针对扇区.区块的计数都是从0开始算 一些需要知道的知识 为了能看懂笔记,需要能回答以下问题 ID卡和IC卡主要的区别是什么 ...