2020-10-03

五分频的verilog

1.程序
module divider(clk_in,clk_out,rst)
input clk_in,rst;
output clk_out;
reg clk_out;
reg [2:0]count;
always@(posedge clk_in or negedge rst)
begin
if(!rst)
begin
count<=0;
clk_out<=0;
end
else if(count等于4)//
begin
count<=0;
clk_out<=~clk_out;
end
else if(count==2)
begin
clk_out<=~clk_out;
count<=count+1;
end
else
count<=count+1;
endendmodule

2.testbench
`timescale 1 us/ 1 ps
module divider_tb;
reg clk_in;
reg rst;
// wires
wire clk_out;

// assign statements (if any)
divider i1 (
// port map - connection between master ports and signals/registers
.clk_in(clk_in),
.clk_out(clk_out),
.rst(rst)
);
always #1 clk_in=~clk_in;
initial
begin
#0 rst=0;clk_in=0;
#20 rst=1;
end
endmodule

3.仿真图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值