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查看波形相关推荐

  1. 设计占空比为50%的三分频电路

    设计占空比为50%的三分频电路 时序图工具 {signal: [ {name: 'clk', wave: 'P-P-'}, {name: 'clk1', wave: 'H.LH.LH.L'}, {na ...

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

  3. verilog奇数分频,三分频实例

    verilog奇数分频,三分频实例 目的:输入一个时钟信号,输出占空比为50%的三分频. 首先得到一个占空比为1/3的分频时钟,然后将输入信号取反,得到一个移相180度的占空比为1/3的分频时钟,将两 ...

  4. verilog二分频代码verilog三分频代码

    1.二分频 首先要明白,二分频分的是输入时钟的频率,即CLK的频率. 思路:在每次CLK的上升沿或者下降沿让输出Q翻转不就完成频率的二分了吗? 代码: module div_2 (q,clk,rese ...

  5. FPGA三分频电路的实现

    最近刚开始学习FPGA,准备使用verlog实现一些分频电路,偶数倍分频比较好操作,奇数倍分频相对来说要复杂一点点,我在网上查阅了一些资料,我来用我自己的话总结下. 1.最简单最好理解的实现(不推荐) ...

  6. verilog实现奇数分频--以三分频为例

    工程文件 module aa( input rst_n,input clk,output clko); reg [1:0] cnt;reg clk1,clk2;always@(posedge clk ...

  7. 4种FPGA时钟分频 【附源码】:1.偶数分频;2.奇数分频(占空比50%);3.奇数分频(任意无占空比);4.小数分频;

    题目来源于牛客网,完整工程源码:https://github.com/ningbo99128/verilog 目录 VL37 偶数分频 VL40 奇数分频(占空比50%) VL42 奇数分频(任意无占 ...

  8. 分频器——(任意奇分频(50%占空比、非50%占空比),任意偶分频,任意小数分频)

    分频器定义: 在数字系统的设计中经常会碰到需要使用多个时钟的情况.时钟信号的产生通常具有两种方法,一种是使用PLL(Phase Locked Loop,锁相环),可生成倍频.分频信号:另一种则是使用硬 ...

  9. 分频器——秒分频、三分频、五分频、任意分频和偶数分频

    文章目录 1.占空比 2.秒分频计数 3.偶数分频 4.奇数分频 1. 占空比不为50% 2. 占空比为50% 5.任意分频

最新文章

  1. 把自己编写的python模块添加到PYTHONPATH上
  2. 大厂实习生面试常问的一道算法题,LeetCode11 题目解析
  3. 兼容IE各版本的纯CSS二级下拉菜单
  4. JavaScript 私有成员
  5. mchain r语言_【揭秘】Mchain是长久稳定的项目吗?是不是骗钱的平台?做的人有多少?...
  6. nginx+web.py+fastcgi(spawn-fcgi)的session失效問題
  7. CSDN免费获得积分和直接获取下载码的方法,亲测有效
  8. python dbf转excel_如何在python中将dbf转换为csv?
  9. 无线网络安全与解决方案(Wireless Security)
  10. 一款网站炫酷底部美化源码
  11. win7电脑误删鼠标键盘驱动_重装win7系统后鼠标键盘无法使用解决方法
  12. Ubuntu 16.04安装sogou拼音输入法
  13. 虾皮马来西亚站如何选品?附快速出单秘诀
  14. Kafka创建topic报错:Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already
  15. 在苹果Mac上怎样对“屏幕使用时间”中请求更多时间进行响应?
  16. Thinkpad T480 新机分区
  17. Java回炉学习(七)
  18. 数说热点 | 跟着《长月烬明》起飞,今年各地文旅主打的就是一个听劝
  19. ftp-主动模式(PORT)和被动模式(PASV)
  20. CSI SAP2000 v22详细安装教程(图文安装步骤)

热门文章

  1. 好未来谢华亮:AI 在教育行业中的应用
  2. Windows powershell Terminal;linux tmux终端分屏使用;tabby终端使用
  3. imooc《Python入门与实战》学习总结(七)Python中的面向对象
  4. 联想计算机系统还原怎么弄,【联想笔记本电脑一键还原的使用方法】 联想一键还原...
  5. 趣谈C语言(基础篇)
  6. 2020Web应用防火墙 (WAF)榜单TOP30
  7. 北邮硕士、前百度工程师:能进大厂,就不用读研究生了!
  8. gz是什么意思饭圈_zqsg是什么意思网络用语 饭圈zqsg是什么梗介绍
  9. 看看人家那系统设计做的,那叫一个优雅
  10. 照片墙(3D立体几何)