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级别的中断等物理信号
  • 本模块暂时进行到源码设计阶段

*/

随机推荐

  1. HTML前置知识

    1.概念 HTML:超文本标记语言 (英语:Hypertext Markup Language,简称:HTML ) 创建网页的标准标记语言 后缀:html,htm(两者没有区别) html语法对大小写 ...

  2. Golang gRPC学习(05): retry重试

    什么是重试 如果服务出现了错误,主要是网络,服务器出现了短暂异常的时候,该怎么办? 我们都会人工或者自动的重新连接服务试试,看服务是否恢复可用了. 这种重新进行连接服务的一种方式就是重试.如果是在微服 ...

  3. Notepad++找回自动保存缓存内容的文件

    在目录C:\Users\Administrator\AppData\Roaming\Notepad++\backup中找到自动保存的缓存文件. 参考Notepad++找回自动保存缓存内容的文件

  4. 在写dockerfile时替换国内源

    众所周知,Debian是linux发行版中官方源最难用的一个,这个傻逼源让我再构建docker镜像时卡了很久. ​ 那么能不能替换构建dockerfile时使用的源呢?显然是可以的 ​ 在与Docke ...

  5. 【LeetCode二叉树#03】翻转二叉树的几种方法

    翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树. 这道题目背后有一个让程序员心酸的故事,听说 Homebrew的作者Max Howell,就是因为没在白板上写出翻转二叉树 ...

  6. Swift高级进阶-Swift编译过程,”SIL代码“,“IR语法”

    swift编译过程 如果不懂LLVM,Clang的同学可以去了解下它的知识点  一些文章中有详细介绍 OC 的编译过程 ,本文来探索一下 Swift 的编译过程.Swift 的编译过程中使用 Swif ...

  7. 第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 ...

  8. 【Azure 应用服务】应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件

    问题描述 应用服务中发布Docker Container,如何添加卷(如Azure File Share)以便永久存储文件 问题解答 App Service可以通过门户配置Mount Storage, ...

  9. 二十一: Mysql 锁机制

    Mysql 锁机制 事务的 隔离性 由这章讲述的 锁 来实现. 1. 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制.在程序开发中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤 ...

  10. k8s部署nacos集群

    首先创建数据库 nacos 执行以下语句 CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'i ...