verilog基础篇--常用的信号生成模块
背景
有时候被叫写一些简单的测试信号,翻来覆去的写。这里我留个底,下次直接复制这些模块。
常用信号
1、//模块功能:产生脉宽可调的周期脉冲信号
//模块功能:产生脉宽可调的周期脉冲信号
`timescale 1ns / 1nsmodule pulse_gen_module # (parameter PULSE_WIDTH_W = 16)(input rst,input clk,input [PULSE_WIDTH_W-1:0] width, // pulse width 这里参数要减去1input [PULSE_WIDTH_W-1:0] period, // pulse period 这里参数要减去1//最终功能仿真无误output pulse);reg [PULSE_WIDTH_W-1:0] period_cnt = 'b0;always @ (posedge clk) begin//: pulse_cnt_procif (rst)period_cnt <= 'b0;elseperiod_cnt <= (period_cnt < period) ? (period_cnt + 1'b1) : 'b0;endreg pulse_r = 1'b0;always @ (posedge clk) begin//: pulse_gen_procif (rst)pulse_r <= 1'b0;elsepulse_r <= (period_cnt <= width) ? 1'b1 : 1'b0;endassign pulse = pulse_r;endmodule
2、产生周期可调的方波信号
always @ (posedge sysclk or negedge rst)beginif(!rst)time_cnt<=0;else if (time_cnt=='d50_000_0)time_cnt<=0;elsetime_cnt<=time_cnt+1'b1;endalways @ (posedge sysclk or negedge rst)beginif(!rst)led_reg<=0;else if(time_cnt=='d50_000_0)led_reg<=~led_reg;elseled_reg<=led_reg;end
assign led=led_reg;
endmodule
verilog基础篇--常用的信号生成模块相关推荐
- Linux内核基础篇——常用调试技巧汇总
文章目录 printk 动态输出 BUG()和BUG_ON() dump_stack() devmem printk printk共有8个等级,从0-7,等级依次降低. 打印等级可以通过修改/proc ...
- 【linux】循序渐进学运维-基础篇-常用ssh管理工具
文章目录 1. finallshell 推荐指数 : 五颗星 2. xshell 推荐指数: 四颗星 3. Putty ,secureCRT 推荐指数: 三颗星 4. MobaXterm 推荐指数: ...
- ESP32-C3入门教程 基础篇(三、UART模块 — 与Enocean无线模块串口通信)
测试第三课,ESP32-C3的串口通信测试 老样子,使用Enocean无线模块和ESP32-C3进行串口通信. 目录 前言 1.UART示例测试 1.1 UART 基础测试 1.2 与Enocean无 ...
- verilog基础篇RAM IP核的使用
在该页面中,我们去掉了q output port(去掉输出寄存器),并且添加了一个rden读使能信号,所谓rden读使能信号就是,当该信号为高电平时,我们才可以读取RAM IP核中的数据. 其余的页面 ...
- 【视觉基础篇】11 # 图案生成:如何生成重复图案、分形图案以及随机效果?
说明 [跟月影学可视化]学习笔记. 如何绘制大批量重复图案 比如绘制带有网格背景的画布 如果将网格绘制在 Canvas2D 画布上,网格的线条很多,重绘消耗系统的性能. 方案一:使用 backgrou ...
- Python基础最常用且重要的模块总结----建议收藏
stat模块: 描述os.stat()返回的文件属性列表中各值的意义 fileStats = os.stat(path) 获取到的文件属性列表 fileStats[stat.ST_MODE] 获取文件 ...
- python urllib.request 爬虫 数据处理-运维学python之爬虫基础篇(二)urllib模块使用...
1 何为爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...
- verilog 基础篇 signal_tap 的使用
实验工具:锆石A4开发板 软件:quartus 13.1 Signal Tap 就相当于逻辑分析仪,signal Tap是利用FPGA的内部逻辑资源形成一个内部的逻辑分析仪 有时候内部管脚还多于外部管 ...
- 【单片机基础篇】 人体红外感应传感器模块
概述 红外热释电传感器是一款基于热释电效应的人体热释运动传感器,能检测到人体或动物身上发出的红外线,配合菲涅尔透镜能使传感器探测范围更远更广.可在控制器上编程应用,通过3P传感器连接线插接到专用传感器 ...
最新文章
- 计算机常用的矢量图形文件,学位计算机考试2
- Excel模板导出之导出教材订购表
- JavaScript中的prototype(Notes)
- Java如何判断整数溢出,溢出后怎么得到提示?
- jsp引用带参数的js文件,例如 script src=a.js?ctxpath=${base
- 从云效1.0到2.0的升级,看技术如何驱动企业提效
- 苹果cms卫视直播html源码,苹果CMS如何使用默认模板新建一个直播页面?
- MATPOWER快速上手及应用实例
- 2017华为面试算法题小结
- 计算机桌面黑屏有鼠标,电脑黑屏只有鼠标怎么办
- html文档在word打开是乱码怎么解决,word打开是乱码怎么办?怎么解决
- drools 6.5 决策表使用
- 手机QQ和微信打开网址 自动跳转到浏览器打开的代码
- 计算机室电源插座的配置及配电线路,小型机安装场地要求及机房环境电气要求讲课教案.pdf...
- 在国企的日子(第四章 团建)
- 7-40 奥运排行榜 (25 分)
- 扬帆际海——怎么做跨境电商?
- python图片压缩pako_在Python中使用Pako deflate
- android 获取u盘名字_Android 获取U盘的卷标(支持中文卷标)
- bzoj4244: 邮戳拉力赛 dp