📄 rtc_test_top.v
字号:
// RTC_Test_Top.v
module RTC_Test_Top(
clk_48M, //系统时钟输入
clk_RTC, //RTC计数时钟
rst, //全局复位:高电平有效
PUB, //FPGA掉电唤醒管脚:低电平有效
//VRPU, //FPGA掉电使能:下降沿触发
FPGAGOOD, //逻辑“1”表示FPGA在逻辑上是正确的
LED8, //点亮LED8:用于指示FPGA内核是否掉电
VAREF //ADC电压参考:必须引出
);
input clk_48M,clk_RTC,rst,PUB; //,VRPU;
inout VAREF;
output FPGAGOOD,LED8;
//中间连线
wire rst,clk_Analog,clk_ACM,CLKOUT,FPGAGOOD;
wire [8:0] INIT_ADDR,INIT_DATA;
wire [1:0] RTCXTLMODE_I;
wire INIT_ACM_WEN,INIT_ACM_RTC_WEN,INIT_ASSC_WEN,INIT_EV_WEN,INIT_TR_WEN;
wire INIT_DONE,RTCXTLSEL,RTCPSMMATCH;
reg [29:0] count;
reg VRPU;
assign LED8 = 1'b0; //让LED8信号点亮LED8
always @(posedge clk_ACM or posedge rst)
begin
if(rst)
count <= 30'd0;
else
begin
if(count == 30'd35000000)
begin
VRPU <= 1'b0;
end
else
begin
VRPU <= 1'b1;
count <= count + 30'd1;
end
end
end
//时钟连线
Clock_Gen U1(.POWERDOWN(1'b1),
.CLKA(clk_48M),
.LOCK(),
.GLA(clk_Analog),
.GLB(clk_ACM),
.OADIVRST());
//模拟模块连线
Analog_RTC U2(
//模拟模块固定连线
.SYS_CLK(clk_Analog),
.SYS_RESET(!rst),
.VAREF(VAREF),
.ACMCLK(clk_ACM),
//模拟模块与FlashMemory之间的连线
.INIT_ADDR(INIT_ADDR),
.INIT_DATA(INIT_DATA),
.INIT_ACM_WEN(INIT_ACM_WEN),
.INIT_ACM_RTC_WEN(INIT_ACM_RTC_WEN),
.INIT_ASSC_WEN(INIT_ASSC_WEN),
.INIT_EV_WEN(INIT_EV_WEN),
.INIT_TR_WEN(INIT_TR_WEN),
.INIT_DONE(INIT_DONE),
//模拟模块中的RTC与Crystal_Osc和VR_Ctr之间的连线
.RTCCLK(CLKOUT),
.RTCXTLSEL(RTCXTLSEL),
.RTCXTLMODE_I(RTCXTLMODE_I),
.RTCMATCH(),
.RTCPSMMATCH(RTCPSMMATCH),
//没有使用
.DATAVALID(),
.ASSC_DONE(),
.ASSC_WAIT(),
.ASSC_CHSAT(),
.ASSC_CHLATD());
FlashMem_RTC U3(.INIT_CLK(clk_ACM),
.SYS_RESET(!rst),
.INIT_POWER_UP(1'b1),
.INIT_DONE(INIT_DONE),
.INIT_DATA(INIT_DATA),
.INIT_ADDR(INIT_ADDR),
.INIT_ACM_RTC_WEN(INIT_ACM_RTC_WEN),
.INIT_ACM_WEN(INIT_ACM_WEN),
.INIT_ASSC_WEN(INIT_ASSC_WEN),
.INIT_EV_WEN(INIT_EV_WEN),
.INIT_TR_WEN(INIT_TR_WEN));
Crystal_Osc U4(.XTL(clk_RTC),
.CLKOUT(CLKOUT),
.SELMODE(RTCXTLSEL),
.RTC_MODE(RTCXTLMODE_I));
VR_Ctr U5(.PUB(PUB),
.VRPU(VRPU),
.FPGAGOOD(FPGAGOOD),
.PUCORE(),
.RTCPSMMATCH(RTCPSMMATCH));
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -