[发明专利]一种基于CPLD来实现系统时序控制的方法无效
申请号: | 201210328916.0 | 申请日: | 2012-09-07 |
公开(公告)号: | CN102866725A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 张锋 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F1/04 | 分类号: | G06F1/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cpld 实现 系统 时序 控制 方法 | ||
1.一种基于CPLD来实现系统时序控制的方法, 其特征在于具体步骤如下:
1)系统在开机的过程中,通过系统的Power以及enable讯号和时间延迟来判断前级状态是否ok,在CPLD的硬件连接中,各种Power ready的讯号有:CPU的VTT Pwrgood、VSA的Pwrgood、Vcore的Pwrgood;PCH的core电 Pwrgood;
各种Reset的讯号连接有:
RST_IBMC_NIC_N、RST_PERST0_N、RST_LVC3_CPU1_RESET_N、RST_PERST1_N;
2)在CPLD的程序模块中,首先定义了各个模块的程序名以及函数关系,执行顺序首先从Rom_PLD_top的文件中获取对应的程序模块title,在子程序的模块中,根据函数名来调用对应的rom_pld_vr_control的程序内容或者是相应的Timer函数;
3)CPLD的模块中,Power的开机程序主要集中在rom_pld_vr_control中;Timer以及逻辑关系的控制程序主要集中在Rom_PLD_top中,通过编码相应的程序来控制CPLD实现时序控制功能,CPLD时序控制程序如下:
Timer定义
`define COUNT_1MS 5'd31 //31 1 mS --- 7 simulation
`define COUNT_31MS 6'd31 //31 31 mS --- 7 simulation
`define COUNT_63MS 6'd63 //63 63 mS --- 6 simulation
`define COUNT_200US 3'd7 //7 200 uS --- 3 simulation
`define DELAY_100MS 3'd3 //3x63 msec
`define DELAY_99MS 3'd4 //4x31 msec
`define DELAY_10MS 5'd10 //10x1 msec
`define DELAY_20MS 5'd20 //10x1 msec
`define DELAY_2MS 5'd2 //2x1 msec
`define DELAY_34MS 3'd2 //2x31 msec
`define DELAY_100US 3'd4 //4x31 usec
`define DELAY_31US 3'd1 //1x31 usec
CPU VR控制
///////CPU VR turn on logic
//g3-s0 turn on if PS is on and p1v1_STBY is on and p1v1_ssb is on and SKT is in
//s3-s0 turn on if PS is on and p1v1_STBY is on and p1v1_ssb is on and SKT is in
assign cpu_vr_en = pwrgd_ps_pwrok & pwrgd_p1v1_stby_ssb & pwrgd_p1v1_ssb & !cpu_sktocc_n | ip2 & fm_slps3_n & ip1 & pwrgd_p1v1_stby_ssb & pwrgd_p1v1_ssb;
///////CPU VR turn off logic
//S0-G3 turn off if PS is turn off by iBMC and pwrgd_ps_pwrok = 0
//S0-S3 turn off if PS is turn off by iBMC and pwrgd_ps_pwrok = 0
//FAULT turn off pwrgd_p1v1_stby_ssb = 0 or pwrgd_p1v1_ssb = 0
assign cpu_vr_off = (!fm_ps_en & !pwrgd_ps_pwrok & !ip2) |
!pwrgd_p1v1_stby_ssb | !pwrgd_p1v1_ssb |
(ip2 & !fm_slps3_n);
assign cpu_on_timer_en = cpu_vr_en & !cpu_vtt_en | //start timer turn on VTT
cpu_vr_en & cpu_vtt_pwrgd & !cpu_vccp_en | //start timer turn on VCCP
cpu_vr_en & cpu_vsa_pwrgd & !cpu_vpll_en; //start timer turn on VPLLassign cpu_off_timer_en = cpu_vr_off & !cpu_vpll_pwrgd & cpu_vtt_en; //turn off
assign cpu_timer_en = cpu_on_timer_en | cpu_off_timer_en;
电源开机控制
///////////////////////////
// Section 5: PS Control //
///////////////////////////
//cpu is detected when cpu0 skt is present
assign cpu_detect_n = fm_cpu0_sktocc_n |
fm_cpu0_sktocc_n & fm_cpu1_sktocc_n;
//cpu ID match when both socket present and have the same ID
assign cpu_id_match = (!fm_cpu0_sktocc_n & fm_lvc3_skt0_ivb_occ_n) &
(fm_cpu1_sktocc_n | fm_lvc3_skt1_ivb_occ_n) |
(!fm_cpu0_sktocc_n & !fm_lvc3_skt0_ivb_occ_n) &
(fm_cpu1_sktocc_n | !fm_lvc3_skt1_ivb_occ_n);
//Turn on PS when CPU is detected & SSB is present & CPU ID of both socket matched
//Turn on PS when IBMC asserts fm_ps_on_n = 0 and STBY is on
//Turn off PS when IBMC asserts fm_ps_on_n = 1 or STBY is off or in proprietary mode
assign fm_ps_en = !(fm_ps_on_n |
!rst_rsmrst_n |
cpu_detect_n |
fm_ssb_prsnt_n |
!cpu_id_match |
!pwrgd_p1v1_stby_ssb |
ip3) |
!tp_cpld_io9。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210328916.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种提高靶室晶片传输效率的方法
- 下一篇:紫苏香油的制作方法