==========================================================================
  RainaSynth - README（安装与快速上手说明）
  版本：3.0
  版权所有 (C) 2022-2026 Raina, Inc.
==========================================================================

一、产品简介
--------------------------------------------------------------------------
RainaSynth 是 raina（raina.tech）推出的新一代物理感知（Physical-aware）
逻辑综合工具。它在逻辑综合过程中利用后端物理实现信息（布局、布线、寄生
参数），使延时与功耗的预估更加准确，并通过前后端融合的统一数据模型连接
前端逻辑设计与后端物理设计，减少迭代、加速设计收敛、重新定义 PPA 优化
边界。

核心特性：
  1. 物理信息驱动综合 —— 实时物理建模引擎，PPA 预测精度大幅提升，
     避免传统流程中"综合 -> 布局布线 -> 重新综合"的反复迭代；
  2. 超线性并行架构 —— 分布式多核加速，支持千核级任务调度，
     典型设计综合周期缩短 3-8 倍，支持混合云弹性部署；
  3. 四维优化空间探索 —— RTL->Gate->Floorplan 纵向协同、PPA 多权重
     动态平衡、关键路径智能聚类、AI 驱动设计空间搜索；
  4. 智能优化决策引擎 —— 强化学习 + 元启发式算法探索 PPA 帕累托前沿；
  5. 无缝融入设计生态 —— 完整兼容行业标准 SDC 约束、工艺库（Liberty）
     与 IP 模型，提供 GUI 看板与工业级 TCL 双模交互。

二、系统要求
--------------------------------------------------------------------------
RainaSynth 采用 Linux x86_64 原生二进制部署方式。安装包内置 glibc 2.28 动态链接器、C/C++ 运行库、RainaSynth 动态库及主要第三方依赖库，无需在目标系统中单独安装上述同版本运行库。
基本要求：
● 操作系统： Linux，具体发行版兼容性以测试结果为准。
● 处理器架构： x86_64（AMD64），并支持程序编译时使用的 CPU 指令集。
● Linux 内核： 满足打包的 glibc 2.28 及应用程序系统调用需求，最低内核版本待验证。
● 运行环境： Bash、支持 ELF 可执行文件及符号链接的 Linux 文件系统。
● 动态库： 主要运行依赖已随安装包提供，无需单独配置全局 LD_LIBRARY_PATH。
● 内存与磁盘： 根据设计规模和任务类型确定。
● 图形界面： GUI 功能需要兼容的图形显示环境，纯命令行运行通常不需要。
安装及启动：

三、安装步骤
--------------------------------------------------------------------------
tar -xzpf RainaSynth.tar.gz --no-same-owner
cd RainaSynth
./bin/RunRainaSynth.sh
启动脚本自动定位安装目录，通过随包提供的动态链接器和运行库启动主程序。
部署注意事项：
1. 保持 bin/、lib/、tpl_sys/、config/ 目录结构完整。
2. 保留可执行权限和符号链接。
3. 不要随意混用安装包与目标系统中不同版本的 glibc 组件。
4. 不保证所有 Linux x86_64 发行版均可直接运行，正式支持范围以兼容性验证结果为准。
5. Python、GUI、许可证、分布式任务等扩展功能，可能需要额外的运行资源、服务或系统配置。


四、快速上手
--------------------------------------------------------------------------
一个典型的综合流程需要准备以下输入数据：

  * 逻辑库（.lib / Liberty 格式）：标准单元、I/O、存储器（SRAM/ROM）
    的时序、功耗模型，及多工艺角（TT/FF/SS）数据；
  * 约束文件（.sdc）：时钟、IO 时序、功耗控制等约束；
  * 流程脚本（.tcl）：定义本次综合流程的执行过程；
  * RTL 设计文件（.v / Verilog / SystemVerilog）。

示例 run.tcl：

    read_liberty /share1/silibraries/nangate45/lib/NangateOpenCellLibrary_typical.lib
    set path ../../src
    foreach v [glob -nocomplain -directory $path *.v] {
        analyze $v
    }
    elaborate gcd
    synth -top gcd
    write_file -netlist log/synth.v
    read_sdc ../constraint.sdc
    netlist_opt
    write_file -netlist log/opt.v
    report_power  > log/power.rpt
    report_timing > log/timing.rpt
    report_area   > log/area.rpt
    report_qor    > log/qor.rpt
    exit

运行方式一（脚本模式）：
    RainaSynth -f run.tcl

运行方式二（交互式 TCL 解释器）：
    $ RainaSynth
    RainaSynth>> help          # 查看可用命令

五、核心模块一览
--------------------------------------------------------------------------
  * Common    ：基础服务层（全局配置、多线程调度、授权验证、日志）
  * Synthesis ：结合物理预测技术的逻辑综合
  * Sdc       ：SDC 2.1 约束解析与语义检查、约束冲突诊断、CDC 分析
  * Eco       ：门级/物理数据动态增量优化（Metal ECO、Cell Swap）、
                集成形式等价性检查
  * Power     ：功耗分析与多电压域时钟门控优化，支持 SAIF/VCD 活动数据、
                多工艺角多模式功耗验证
  * Report    ：签核级 PPA 报告（Timing/Power/Area/QoR）
  * GUI       ：多视图交互环境（层次化浏览、版图可视化、时序路径动画，
                与 Tcl 控制台双向同步）

六、支持的标准与格式
--------------------------------------------------------------------------
  * 输入：Verilog / SystemVerilog RTL 与网表、Liberty（.lib/.db）、
    SDC 2.1、SPEF、SDF、SAIF、VCD
  * 输出：门级网表、SDF、Timing/Power/Area/QoR 报告

七、技术支持
--------------------------------------------------------------------------
  * 官网：https://www.raina.tech/
  * 交互模式下可随时键入 help 查看命令帮助；
  * 具体命令用法请参阅《RainaSynth UserGuide 3.0》各模块章节。

==========================================================================
【注】本 README 依据《RainaSynth UserGuide 3.0》整理；文中标注【注】的
安装细节（发行包结构、License 环境变量、OS 最低要求等）在 UserGuide 中
未给出，需以官方发行包文档为准。
==========================================================================
