APB总线计数器
基本知识
整体结构

从设备的地址空间
每个从设备的地址空间如下:
Slave0: 0x0000_0000 ~ 0x0000_00ff;
Slave1: 0x0000_0100 ~ 0x0000_01ff;
Slave2: 0x0000_0200 ~ 0x0000_02ff;
Slave3: 0x0000_0300 ~ 0x0000_03ff;
一次性传播多个数据
令从设备地址空间的下边界为其地址的基址,假设每个从设备中有可访问APB寄存器16个,位宽均为32比特,16个寄存器的访问地址计算方式为 基址 + 寄存器编号左移2位(byte 偏移)
从设备得读写时序

程序编写
计数器部分
//时钟信号定义
reg[7:0] data_H;//时信号
reg[7:0] data_M;//分信号
reg[7:0] data_S;//秒信号
//计数
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)begin //异步复位
data_S<=8'd0;
data_H<=8'd0;
data_M<=8'd0;
end
else if(softreset==1'd1)begin //软件高电平复位
data_S<=8'd0;
data_H<=8'd0;
data_M<=8'd0;
end
else if(pause==1'd0)begin //暂停
data_S<=data_S;
data_H<=data_H;
data_M<=data_M;
end
else if(pause==1'd1)
begin
data_S<=data_S+8'd1;
if(data_S==8'd59)begin //计数逢60进1
data_S<=8'd0;
data_M<=data_M+1;
end
if(data_M==8'd59 && data_S==8'd59 )begin //计数逢60进1 到59‘59时候,分清0 时加1
data_M<=8'd0;
data_H<=d

最低0.47元/天 解锁文章
2534





