Verilog 实现占空比为50%的三分频 断言SVA查看波形
1.方法一:异或实现
module d3(input clk,input reset,output div_three
);
reg [1:0] cnt=2'b00;
reg div_clk1;
reg div_clk2;
always @(posedge clk or negedge reset)begin
if(reset == 1'b0)begincnt <= 0;end
else if(cnt == 2)cnt <= 0;
else begincnt <= cnt + 1;end
end
always @(posedge clk or negedge reset)beginif(reset == 1'b0)begindiv_clk1 <= 0;endelse if(cnt == 0)begindiv_clk1 <= ~div_clk1;endelsediv_clk1 <= div_clk1;end
always @(negedge clk or negedge reset)beginif(reset == 1'b0)begindiv_clk2 <= 0;endelse if(cnt == 2)begin //注意:此处cnt==1的话可以实现占空比为1/6的波形div_clk2 <= ~div_clk2;endelsediv_clk2 <= div_clk2;end
assign div_three = div_clk2 ^ div_clk1;//相同为0,相异为1.a1:assert property( //SVA断言语句
@(posedge clk)div_three ##2(!div_three));//断言
endmodule
我用的是我们公司的EDA软件,不用写testbench就可以查看波形:
上图为cnt==2的波形,
上图为cnt==1时的波形,可以说是占空比为1/6,也可以说是5/6。
2.方法二:或实现
module d3(input clk,input reset,output div_three
);
reg [1:0] cnt1=2'd0;
reg div_clk1;
reg div_clk2;
always @(posedge clk or negedge reset)begin
if(reset == 1'b0)begincnt1 <= 0;end
else if(cnt1 == 2)cnt1 <= 0;
else begincnt1 <= cnt1 + 1;end
endalways @(posedge clk)beginif(reset == 1'b0)begindiv_clk1 <= 0;endelse if(cnt1 == 0)div_clk1 <= ~div_clk1;else if(cnt1== 1)div_clk1 <= ~div_clk1;elsediv_clk1 <= div_clk1;end
always @(negedge clk)beginif(reset == 1'b0)div_clk2 <= 0;else if(cnt1 == 1)div_clk2 <= ~div_clk2;else if(cnt1==2) //注意计数值选择div_clk2 <= ~div_clk2;elsediv_clk2 <= div_clk2;end
assign div_three = (div_clk2 | div_clk1);//或运算c1:cover property(
@(posedge clk)div_three |=>(!div_three));
endmodule
Verilog 实现占空比为50%的三分频 断言SVA查看波形相关推荐
- 设计占空比为50%的三分频电路
设计占空比为50%的三分频电路 时序图工具 {signal: [ {name: 'clk', wave: 'P-P-'}, {name: 'clk1', wave: 'H.LH.LH.L'}, {na ...
- Verilog 实现占空比为3/5 2/5 1/5 50% 的五分频信号 断言SVA查看波形
1. 3/5 2/5 1/5占空比的五分频 module div5(clk,reset,clkout); input clk,reset; output reg clkout;//定义输出端 wire ...
- verilog奇数分频,三分频实例
verilog奇数分频,三分频实例 目的:输入一个时钟信号,输出占空比为50%的三分频. 首先得到一个占空比为1/3的分频时钟,然后将输入信号取反,得到一个移相180度的占空比为1/3的分频时钟,将两 ...
- verilog二分频代码verilog三分频代码
1.二分频 首先要明白,二分频分的是输入时钟的频率,即CLK的频率. 思路:在每次CLK的上升沿或者下降沿让输出Q翻转不就完成频率的二分了吗? 代码: module div_2 (q,clk,rese ...
- FPGA三分频电路的实现
最近刚开始学习FPGA,准备使用verlog实现一些分频电路,偶数倍分频比较好操作,奇数倍分频相对来说要复杂一点点,我在网上查阅了一些资料,我来用我自己的话总结下. 1.最简单最好理解的实现(不推荐) ...
- verilog实现奇数分频--以三分频为例
工程文件 module aa( input rst_n,input clk,output clko); reg [1:0] cnt;reg clk1,clk2;always@(posedge clk ...
- 4种FPGA时钟分频 【附源码】:1.偶数分频;2.奇数分频(占空比50%);3.奇数分频(任意无占空比);4.小数分频;
题目来源于牛客网,完整工程源码:https://github.com/ningbo99128/verilog 目录 VL37 偶数分频 VL40 奇数分频(占空比50%) VL42 奇数分频(任意无占 ...
- 分频器——(任意奇分频(50%占空比、非50%占空比),任意偶分频,任意小数分频)
分频器定义: 在数字系统的设计中经常会碰到需要使用多个时钟的情况.时钟信号的产生通常具有两种方法,一种是使用PLL(Phase Locked Loop,锁相环),可生成倍频.分频信号:另一种则是使用硬 ...
- 分频器——秒分频、三分频、五分频、任意分频和偶数分频
文章目录 1.占空比 2.秒分频计数 3.偶数分频 4.奇数分频 1. 占空比不为50% 2. 占空比为50% 5.任意分频
最新文章
- 把自己编写的python模块添加到PYTHONPATH上
- 大厂实习生面试常问的一道算法题,LeetCode11 题目解析
- 兼容IE各版本的纯CSS二级下拉菜单
- JavaScript 私有成员
- mchain r语言_【揭秘】Mchain是长久稳定的项目吗?是不是骗钱的平台?做的人有多少?...
- nginx+web.py+fastcgi(spawn-fcgi)的session失效問題
- CSDN免费获得积分和直接获取下载码的方法,亲测有效
- python dbf转excel_如何在python中将dbf转换为csv?
- 无线网络安全与解决方案(Wireless Security)
- 一款网站炫酷底部美化源码
- win7电脑误删鼠标键盘驱动_重装win7系统后鼠标键盘无法使用解决方法
- Ubuntu 16.04安装sogou拼音输入法
- 虾皮马来西亚站如何选品?附快速出单秘诀
- Kafka创建topic报错:Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already
- 在苹果Mac上怎样对“屏幕使用时间”中请求更多时间进行响应?
- Thinkpad T480 新机分区
- Java回炉学习(七)
- 数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝
- ftp-主动模式(PORT)和被动模式(PASV)
- CSI SAP2000 v22详细安装教程(图文安装步骤)
热门文章
- 好未来谢华亮:AI 在教育行业中的应用
- Windows powershell Terminal;linux tmux终端分屏使用;tabby终端使用
- imooc《Python入门与实战》学习总结(七)Python中的面向对象
- 联想计算机系统还原怎么弄,【联想笔记本电脑一键还原的使用方法】 联想一键还原...
- 趣谈C语言(基础篇)
- 2020Web应用防火墙 (WAF)榜单TOP30
- 北邮硕士、前百度工程师:能进大厂,就不用读研究生了!
- gz是什么意思饭圈_zqsg是什么意思网络用语 饭圈zqsg是什么梗介绍
- 看看人家那系统设计做的,那叫一个优雅
- 照片墙(3D立体几何)