您的位置 首页 嵌入式

简略组合时序电路设计

要求: 完成占空比(高电平占一个时钟周期的比例)为0.25的8分频电路模块的Verilog设计,并且设计一个仿真测试用的Verilog程序,从时序上验证分频电路模

要求: 完结占空比(高电平占一个时钟周期的份额)为0.25的8分频电路模块的Verilog规划,而且规划一个仿真测试用的Verilog程序,从时序上验证分频电路模块的正确性。

整数分频器的规划原理

1.1 偶数倍分频

偶数分频器的完结十分简略,通过计数器计数就完全能够完结。如进行N倍偶数分频,就能够通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,以使下一个时钟从零开始计数。以此循环,就能够完结恣意的偶数分频。

1.2 奇数倍分频

奇数倍分频有两种完结办法,其中之一完全能够通过计数器来完结,如进行三分频,就可通过待分频时钟上升沿触发计数器来进行模三计数,当计数器计数到附近值时进行两次翻转。比方能够在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。这样,就在计数值附近的1和2进行了两次翻转。如此便完结了三分频,其占空比为1/3或2/3。

假如要完结占空比为50%的三分频时钟,则可通过待分频时钟下降沿触发计数,并以和上升沿相同的办法计数进行三分频,然后对下降沿发生的三分频时钟和上升沿发生的时钟进行相或运算。即可得到占空比为50%的三分频时钟。这是奇数分频的第三种办法。这种办法能够完结恣意的奇数分频。如将其归类为一般的办法:关于完结占空比为50%的N倍奇数分频,首先要进行上升沿触发以进行模N计数,计数选定到某一个值再进行输出时钟翻转,然后过(N-1)/2再次进行翻转,就可得到一个占空比为50%的奇数n分频时钟。再一起进行下降沿触发的模N计数,当其抵达与上升沿触发输出时钟翻转选定值相一起,再进行输出时钟翻转,相同,通过(N-1)/2时,输出时钟再次翻转以生成占空比为50%的奇数n分频时钟。将这两个占空比为50%的n分频时钟相或运算,就能够得到占空比为50%的奇数n分频时钟。

3、 试验过程和程序

`TImescale 1ns / 1ps

module odd_division(clk,rst,count,clk_odd);

input clk,rst;

output clk_odd;

output[3:0] count;

reg clk_odd;

reg[3:0] count;

parameter N = 8;

always @ (posedge clk)

if(! rst)

begin

count 《= 1‘b0;

clk_odd 《= 1’b0;

end

else

if ( count 《 N/4-1)

begin

count 《= count + 1‘b1;

clk_odd 《= 1’b1;

end

else if (count 《 N/2-1)

begin

count 《= count + 1‘b1;

clk_odd 《= 1’b0;

end

else

begin

count 《= 1‘b0;

end

endmodule

test file:

`TImescale 1ns / 1ps

module test2;

// Inputs

reg clk;

reg rst;

// Outputs

wire [3:0] count;

wire clk_odd;

odd_division uut (

.clk(clk),

.rst(rst),

.count(count),

.clk_odd(clk_odd)

);

always #10 clk=~clk;

iniTIal begin

clk = 0;

rst = 0;

#100;

#10 rst=1;

end

endmodule

4、 测试数据记载和成果剖析

5、 试验定论和领会

注意事项:

1.请独立完结试验和陈述,纸质陈述每周交一次。

2.每次试验时请在C盘根目录中创立一个以自己班级学号如BX10040322命名的文件夹,在这文件夹下创立工程,最终紧缩这个文件夹并上传后删去。

3.试验成绩分为两部分:一为试验现场操作分(包含程序编写、得出定论等),二为陈述分。

4.试验过程和程序分为三部分:一为根本过程,二为程序流程图(也能够为算法的文字或公式阐明)或状态图,三为程序源代码(能够不必全写,只写出要害部分的程序)及其阐明。

5.试验定论和领会:一为试验定论,二为评论当时规划的缺乏及其改善想象。

6.测试数据记载和成果剖析:Verilog程序综合出来的RTL图(电路很杂乱时不做要求);时序仿真成果(必备),能够抓图后打印出来贴在陈述上,但有必要对图里的成果有具体的文字阐明。可参阅以下事例格局写

图1比较器模块RTL图

图1为程序综合出来的四个比较器的RTL图,当计数值小于ROM数据时,比较器输出高电平;当计数值大于ROM数据时,比较器则输出低电平。比较器的输出为步进的四相输入端供给PWM波形,然后到达PWM操控。

比较器的输入端:

a:对应PWM _ROM模块的输出信号。

b:对应十六进制计数器(PWM计数器)的输出信号。

比较器的输出端:

agb:输出a端信号与b端信号的比较值。

图2比较器模块仿真波形图

仿真成果阐明:

当a端信号大于b端信号时,比方a为15而b为0时,输出端agb输出高电平信号“1”;反之,输出端agb输出低电平信号“0”。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/148934.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部