IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)
实现三分频电路最简单的是:
利用计数器实现。
时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了):
直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号
clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。
例如占空比50%:
module Div_three(input clk,input rst_n,output div_three
);
reg [1:0] cnt;
reg div_clk1;
reg div_clk2;
always @(posedge clk or negedge rst_n)beginif(rst_n == 1'b0)begincnt <= 0;endelse if(cnt == 2)cnt <= 0;else begincnt <= cnt + 1;end
end
always @(posedge clk or negedge rst_n)beginif(rst_n == 1'b0)begindiv_clk1 <= 0;endelse if(cnt == 0)begindiv_clk1 <= ~div_clk1;endelsediv_clk1 <= div_clk1;
end
always @(negedge clk or negedge rst_n)beginif(rst_n == 1'b0)begindiv_clk2 <= 0;endelse if(cnt == 2)begindiv_clk2 <= ~div_clk2;endelsediv_clk2 <= div_clk2;
end
assign div_three = div_clk2 ^ div_clk1;
endmodule
占空比三分之一:
只用将上述代码中div_clk2翻转规律更改为 cnt==1 ,并且改为上升沿采样:
always @(posedgeclk or negedge rst_n)beginif(rst_n == 1'b0)begindiv_clk2 <= 0;endelse if(cnt == 1)begindiv_clk2 <= ~div_clk2;endelsediv_clk2 <= div_clk2;
end
assign div_three = div_clk2 ^ div_clk1;
占空比三分之二:
将上述代码中div_clk2翻转规律更改为 cnt==2 ,并且也是上升沿采样:
always @(posedgeclk or negedge rst_n)beginif(rst_n == 1'b0)begindiv_clk2 <= 0;endelse if(cnt == 2)begindiv_clk2 <= ~div_clk2;endelsediv_clk2 <= div_clk2;
end
assign div_three = div_clk2 ^ div_clk1;
IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)相关推荐
- 算法人必懂的进阶SQL知识,4道面试常考题
(图片付费下载自视觉中国) 作者 | 石晓文 来源|小小挖掘机(ID:wAlsjwj) 近期在不同群里有小伙伴们提出了一些在面试和笔试中遇到的Hive SQL问题,Hive作为算法工程师的一项必备技能 ...
- 高职单招面试自我介绍稿子计算机专业,高职单招面试自我介绍范文及面试常考题...
如何在高职单招面试中进行自我介绍呢?对很多缺乏社会经验的考生来说,要熟悉各种各样的面试技巧,然后要懂得临场发挥,不然很有可能因为慌张而导致语无伦次,把单招面试弄砸. 单招面试自我介绍范文 各位老师好, ...
- 4种FPGA时钟分频 【附源码】:1.偶数分频;2.奇数分频(占空比50%);3.奇数分频(任意无占空比);4.小数分频;
题目来源于牛客网,完整工程源码:https://github.com/ningbo99128/verilog 目录 VL37 偶数分频 VL40 奇数分频(占空比50%) VL42 奇数分频(任意无占 ...
- 【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)
芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...
- 面试常考题---交换变量
1 面试常考的试题:(交换两个变量值,不使用第三方变量) 2 方法1: int n1=50; 3 int n2=30; 4 //最终结果n1=30 n2=50 5 6 n1=n1-n2;//n1=20 ...
- 合肥Java面试常考题_北大青鸟java 面试--常见面试题(中)
上一文中,我们总结了java面试的基础,多线程,jvm的常见面试题,本文合肥北大青鸟合工大校区的袁老师继续介绍面试中网络.数据结构和算法.分布式理论和微服务的常见面试题. 一.网络 网络的话,主要集中 ...
- 前端面试常考题:JS垃圾回收机制
摘要:众所周知,应用程序在运行过程中需要占用一定的内存空间,且在运行过后就必须将不再用到的内存释放掉,否则就会出现下图中内存的占用持续升高的情况,一方面会影响程序的运行速度,另一方面严重的话则会导致整 ...
- 网络技术/技术支持岗位在网络安全大厂/互联网公司笔试面试常考题-计算机网络知识点总结
目录 1.OSI七层模型及各层作用 2.TCP/IP模型 3.ARP地址解析协议(工作在网络层和数据链路层) 4.MAC层的功能&MAC地址的作用 MAC层功能: MAC地址作用什 ...
- 阿里大佬耗时一年整理的Java面试常考题
就目前大环境来看,跳槽成功的难度比往年高很多.一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底.这不马上又到了面试跳槽的黄金段,成功升职加薪,不成功饱受打击.当然也要注意 ...
最新文章
- 超实用!图像去畸变矫正及双线性内插法
- 脉冲多普勒雷达_是人类还是动物? 多普勒脉冲雷达和神经网络的目标分类
- Docker系列之.NET Core入门(三)
- 2090. 「ZJOI2016」旅行者 分治,最短路
- zblog php 外部调用,ZBlogPHP调用指定ID文章的代码GetPost()函数
- 京沪无人驾驶复兴号高铁_河北高铁走到今天这一步,太不容易了...
- 一个帅气的车牌输入插件
- 判断101到200之间的素数
- 不再有“寒冬”的人工智能
- 一文搞懂由积分判断函数零点个数问题(积分证明题总结笔记2/3)
- css翻转箭头,巧用css3轻松实现箭头上下旋转
- 韩国为什么“恢复”汉字?
- 栈帧%ebp,%esp详解
- 基于 GitLab CI 的前端工程CI/CD实践
- 2015年基金公司排名排行榜,基金公司排名2015一览
- 30个 开发商logo - 商标制作 - ci vi设计
- 计算机网络传输介质的特点,计算机网络基础:数据通信技术之传输介质
- dB 、dBSPL、dBFS、dBTP
- Python快速查找每个站的最近的10个站
- mysql got signal 11_从库crash一直自动重启(mysqld got signal 11)问题解决