news 2026/9/25 22:55:10

CPU Power Sequence控制器IP设计与实现 V1.2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CPU Power Sequence控制器IP设计与实现 V1.2

        本人最近心态异常平静,于是乎--->简单整理下这两年魔幻般的经历(咱从地道的搬砖人又回到了研究僧的灵笼中,装作不开心~)。

        注:转载本文章,请标明其来源。同时,此文章涉及的逻辑块代码仅供学习参考!!!谢谢配合!!!!!!!

        本文详细介绍了一款X86 CPU电源时序控制器IP的设计与实现。该IP核专为X86架构CPU的复杂电源序列管理而设计,支持Intel和AMD多代CPU平台,提供完整的电源上电/下电时序控制、电压监控、故障保护等功能。系统采用模块化设计,支持可配置的时序参数、多电压域管理和智能故障恢复机制,适用于服务器、工作站、工业控制等高性能计算平台。

        版本说明:

                V1.0 2022年 初版,只满足基本功能,无异常检测逻辑

                V1.1 2023年上半年,增加异常检测逻辑

                V1.2 2023年下半年,完善异常检测逻辑和控制逻辑

第一节:服务器CPU时序的要求

        X86架构的服务器CPU含有多路电源轨,如常见的P3V3、P1V05、P0V9等。如整机方案使用的是Eagle Steam或之前的CPU,整个系统的电源时序会增加若干组关于PCH的电源轨。电源部分的常见分类有CPU核心电源、IO电源、总线电源、DIMM电源等,其上电时序和掉电时序必须满足平台的PDG或EDG的时序要求,如若不然,某些BUG可能就脱颖而出(狗头。毕竟咱自己给自己挖过坑,调试时出现各种奇葩问题,这台机器AC cycle跑不起来、那台产品触发保护机制……回忆当年,不争气的眼睛又进了沙子)。关于电源轨简称或命名的详细含义,请自学~

        话不多说,先贴图为证。

        1. Power Up Sequence 简略图(G3->S5->S0)

        2. Power Down Sequence简略图(S0->S5)

        3. 详细时序图

第二节:FPGA控制CPU的时序

        1.三段式状态机FSM

        整个核心的时序控制逻辑分为三部分,第一部分为状态转移逻辑;第二部分描述状态转移条件和规律;第三部分为输出控制逻辑。详细介绍如下:

        1.1 状态转移逻辑(时序逻辑)
//1 Sequential state transition always@( posedge i_sys_clk or negedge i_sys_rst_n)begin if(!i_sys_rst_n) r_current_state <= FSM_IDLE; else r_current_state <= r_next_state ; end
        1.2 状态转移条件和规律(组合逻辑)
//2 Combinational condition judgment always@(*) begin if(!i_sys_rst_n) begin w_delay_start = 1'b1; w_delay_ms_cnt = 8'd49; w_timeout_cnt = 8'd49; end else begin case(r_current_state) FSM_IDLE : begin if(i_config_error || w_pwr_fault_flg) r_next_state = FSM_IDLE; else if(w_delay_ms_done) begin w_delay_start = 1'b0; w_delay_ms_cnt = AUX_DELAY_G0; w_timeout_cnt = TIMEOUT_COUNT; r_next_state = FSM_AUX_G0_PWR_ON; end else r_next_state = FSM_IDLE; end FSM_AUX_G0_PWR_ON : begin w_delay_start = 1'b1; // (power on timeout | power run down) & (~forced power on) if(w_pwr_fault_flg) r_next_state = FSM_PWR_FAIL; else if((&i_aux_g0_pwr_pgd | i_forced_pwron) && w_delay_ms_done)begin w_delay_start = 1'b0; w_delay_ms_cnt = AUX_DELAY_G1; w_timeout_cnt = TIMEOUT_COUNT; r_next_state = FSM_AUX_G1_PWR_ON; end else r_next_state = FSM_AUX_G0_PWR_ON; end FSM_AUX_G1_PWR_ON : begi
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 13:21:06

React Dev Inspector常见问题解答:解决90%开发者遇到的集成难题

React Dev Inspector常见问题解答&#xff1a;解决90%开发者遇到的集成难题 【免费下载链接】react-dev-inspector jump to local IDE code directly from browser React component by just a simple click 项目地址: https://gitcode.com/gh_mirrors/re/react-dev-inspector…

作者头像 李华
网站建设 2026/9/23 18:37:02

如何在30分钟内入门Parsimmon:从安装到第一个解析器

如何在30分钟内入门Parsimmon&#xff1a;从安装到第一个解析器 【免费下载链接】parsimmon A monadic LL(infinity) parser combinator library for javascript 项目地址: https://gitcode.com/gh_mirrors/pa/parsimmon Parsimmon是一款强大的JavaScript解析器组合库&a…

作者头像 李华
网站建设 2026/9/24 9:14:59

显示学习6(DRM)(TODO)

Android显示系统和DRM驱动框架简介 Android显示系统和DRM驱动框架简介 SM7250(高通5G)平台LCD bringup DRM&#xff08;Direct Rendering Manager&#xff09; 是 Linux 内核中的一个子系统&#xff0c;主要用于管理和控制现代显卡的图形显示功能。它为用户空间的图形应用程序…

作者头像 李华
网站建设 2026/9/15 4:59:10

写文章,得有点儿原则

注重提升写作技巧和发展个人风格。这包括学习如何更有效地使用语言&#xff0c;例如选择合适的词汇、构建流畅的句子结构和创建引人入胜的开头。同时&#xff0c;我也在努力找到自己的声音&#xff0c;这意味着探索不同的叙述技巧、调整语调以适应不同的受众&#xff0c;以及尝…

作者头像 李华
网站建设 2026/9/25 14:17:02

electron 开发轻量级本地数据存储桌面端应用(简洁版)

背景 接了一个项目需要开发一个功能简单的桌面端应用,主要包含的功能有 内置数据,本地化操作数据,对数据进行CRUD操作。 效果展示如下: 技术选型: 开发桌面端有如下几种技术方案:** Electron:使用HTML、CSS和JS构建跨平台的桌面应用程序,基于Chromium和Node.js。 N…

作者头像 李华