简单组合时序电路设计

要求: 完成占空比(高电平占一个时钟周期的比例)为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”。

基于Chebyshev函数的同轴腔体双工器的设计
可编程控制器的功能有哪些
区块链技术的特性将有利于解决医疗数据处理流程中碰到的很多难点
iPhone8什么时候上市:iphone8无边框设计+OLED曲面屏,任是果粉梦寐以求的他
IIS接口的FPGA实现
简单组合时序电路设计
全球CIS营收将恢复强劲的高增长势头
八类屏蔽模块得到普及了吗
“热饼”取暖器原理,NE555取暖器电路图
两大半导体项目签约浙江嘉兴 总投资达35亿元
小松工厂更换氢化植物油致力整个工程建设、矿山行业实现碳中和
一文解读智能医疗公司普遍所面临的困境
实现低于高于75W应用的绿色适配器解决方案
浅谈电瓶修复技术,电池物质脱落故障的症状及原因
直流电机将什么能转换为什么能输出?直流电机能量转化详解
2-Wire Controlled Digital DIP
容栅旋转编码器原理及应用[图]
字谜技术和STREAMUNLIMITED BLUETIGER
十大高音质真无线蓝牙耳机排名,性能颜值均兼顾
Databeans发布2011年模拟芯片市场排名