IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)

这篇具有很好参考价值的文章主要介绍了IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实现三分频电路最简单的是:

利用计数器实现。

时序图分析(本人比较懒,平常科研忙,所以直接手画时序图了,懒得用软件画了):

直接上图分析:利用计数器每隔三个周期信号翻转一次,同时在不同的计数下翻转得到的同步信号

clk_1和clk_2,再利用异或即可实现出一个不同占空比的三分频信号(同样的方法也可扩展到其他奇数分频设计中)。
三分频电路,IC,面试题,fpga开发,面试例如占空比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)begin
  if(rst_n == 1'b0)begin
    cnt <= 0;
  end
  else if(cnt == 2)
    cnt <= 0;
  else begin
    cnt <= cnt + 1;
  end
end
always @(posedge clk or negedge rst_n)begin
  if(rst_n == 1'b0)begin
    div_clk1 <= 0;
  end
  else if(cnt == 0)begin
    div_clk1 <= ~div_clk1;
  end
  else
    div_clk1 <= div_clk1;
end
always @(negedge clk or negedge rst_n)begin
  if(rst_n == 1'b0)begin
    div_clk2 <= 0;
  end
  else if(cnt == 2)begin
    div_clk2 <= ~div_clk2;
  end
  else
    div_clk2 <= div_clk2;
end
assign  div_three = div_clk2 ^ div_clk1;
endmodule

占空比三分之一:
只用将上述代码中div_clk2翻转规律更改为 cnt==1 ,并且改为上升沿采样:

always @(posedgeclk or negedge rst_n)begin
  if(rst_n == 1'b0)begin
    div_clk2 <= 0;
  end
  else if(cnt == 1)begin
    div_clk2 <= ~div_clk2;
  end
  else
    div_clk2 <= div_clk2;
end
assign  div_three = div_clk2 ^ div_clk1;

占空比三分之二:
将上述代码中div_clk2翻转规律更改为 cnt==2 ,并且也是上升沿采样:文章来源地址https://www.toymoban.com/news/detail-602261.html

always @(posedgeclk or negedge rst_n)begin
  if(rst_n == 1'b0)begin
    div_clk2 <= 0;
  end
  else if(cnt == 2)begin
    div_clk2 <= ~div_clk2;
  end
  else
    div_clk2 <= div_clk2;
end
assign  div_three = div_clk2 ^ div_clk1;

到了这里,关于IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 任意分频器电路设计

    目录 任意分频器电路设计 1、任意偶数分频器电路设计 1.2、实验任务 1.3、程序设计 1.3.1、代码如下: 1.3.2、编写仿真 TB 文件 2、任意奇数分频器电路设计 2.1、实验任务 2.2、程序设计 2.2.1、奇数分频电路代码 2.2.2、编写仿真 TB 文件 2.2.3、仿真验证        偶数分频实现比较

    2024年02月16日
    浏览(33)
  • Virtuoso IC618-10uA电流基准的二级Miller补偿运放电路设计

    以带隙电路中的放大器为例,其主要作用是使两个输入点的电平相等,所以只要增益足够就可以了,另外为了防止振荡,相位裕度也要足够,其他指标不是特别重要。下图为放大器提供偏置电流为理想电流源,在实际工艺制造过程中一般做不出理想电流源。 由一个电流镜做负

    2023年04月25日
    浏览(42)
  • 基于Verilog设计的复位电路设计

    复位指的是将寄存器中的值全部置成默认值,一般复位包括同步复位和异步复位,复位可以由硬件开关控制,也可以由软件逻辑控制。复位电路复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结合底层的设计来考虑问题。 相信大家在学习 FPGA 或者 ASIC 的时候

    2024年02月02日
    浏览(43)
  • 【IC基础】集成电路设计领域术语缩写及名词解释(字母索引版)

    笔者在大三上学习学习《SoC设计导论》时整理的有关集成电路设计领域的常见有英文缩写和对应的名词解释,文中标注的页码均出自《SoC设计方法与实现》这本参考书: 目录 前言: 目录 A B C CTG(Clock Tree Generation):时钟树生成 D F I J L N P R S T U ASIC(Application Specific Integrated Cir

    2024年02月16日
    浏览(57)
  • 【【Verilog典型电路设计之log函数的Verilog HDL设计】】

    log函数是一种典型的单目计算函数,与其相应的还有指数函数、三角函数等。对于单目计算函数的硬件加速器设计一般两种简单方法:一种是查找表的方式;一种是使用泰勒级数展开成多项式进行近似计算。这两种方式在设计方法和精确度方面有很大的不同。查找表方式是通过

    2024年02月11日
    浏览(40)
  • Verilog学习笔记(3):Verilog数字逻辑电路设计方法

    例:用Verilog设计模256(8bits)计数器 (a)可综合程序描述方式 (b)常见的错误描述方式 同时Verilog的电路描述方式具有多样性,这也决定了对于电路设计的多样性。 例:用Verilog设计数字多路选择器 (a)采用真值表形式的代码 (b)采用逻辑表达式形式的代码 (c)采用结

    2023年04月08日
    浏览(116)
  • Verilog含1个数统计电路设计

    项目要求: 待检测数据“1”由外部输入,并用LED灯显示; 待检测串行数据长度为256位,由ROM输出; 一组数据检测完毕后,指示信号DONE为1; “1”的个数由数码管显示; 设计时需给出仿真结果。 设计结果下载到FPGA上实现功能的硬件验证。 Clk_1k 频率为1kHz的时钟信号,上升沿

    2024年02月08日
    浏览(41)
  • 时序电路的Verilog设计——基本时序元件

    目录 一、Verilog语法 1.1 时钟边缘检测函数 1.2 边缘触发型时序模块的verilog设计规律

    2024年02月22日
    浏览(52)
  • 【【verilog典型电路设计之流水线结构】】

    下图是一个4位的乘法器结构,用verilog HDL 设计一个两级流水线加法器树4位乘法器 对于流水线结构 其实需要做的是在每级之间增加一个暂存的数据用来存储 我们得到的东西 我们一般来说会通过在每一级之间插入D触发器来保证数据的联通 通过在第一级和第二级,第二级和第

    2024年02月12日
    浏览(35)
  • 从零学verilog系列(4)组合逻辑电路设计方法

      目录 1.组合电路设计方法 1.1真值表方式(本质是最小项表达式) 1.2逻辑表达式方式 1.3结构描述方式 1.4抽象描述方式(从电路功能出发) 2组合电路设计项目 2.1数字加法器 半加器(1位加法器) 全加器 串行进位加法器(行波进位加法器) 超前进位加法器 2.2数据比较器 2.3数据选

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包