IC Compiler指南——数据准备

2023-11-20

一、概述

        ICC数据设置的文件关系框图如图:

         后端工具在数据设置阶段需要对两大类数据进行设置,包括从前端设计继承的综合数据 以及后端设计需要的物理数据。

  • 综合数据主要包括前端逻辑综合已经设置过的逻辑与时序库文件、设计约束文件sdc以 及综合网表文件。
  • 物理数据主要包括标准单元、内存RAM等IPJO管脚三类物理库文件,工艺和设计规则 检查相关的技术文件tf以及建模信号互连线延迟的RC模型的TLU+文件。

        如下图所示为ICC数字芯片后端设计主要步骤流程图。图中第一层准备的三部分数据,分别是综合映射的门级设计(网表)、约束文件sdc、逻辑与物理库文件。本文讲述的就是第一 层数据设置阶段。

 二、逻辑库设置

        逻辑库提供:标准单元(与非门、或非门、异或门、寄存器等)的时序和功能信息;提供宏块 (RAMROMIP如处理器核心等)的时序信息;定义驱动和负载的设计规则(design rule),如最大/最小扇出Max/Min fanout、最大/最小电容负载Max/Min capacitance、最大/最小信号转换时延Max/Min transitiono。通常,逻辑库与前端综合工具Design Compiler(DC)中的设置相同,通过目标库target library与链接库link library变量指定。

1、读入门级网表        

        ICC可以打开Milkyway数据库,读入由DC创建的门级设计文件,读入文件类型包括: ddc、Verilog、VHDL等,其中ddc文件可包含设计属性信息。ICC可一次读入多个设计文件, 读入设计文件(门级网表)的命令具体如下:

read_ddc	                    #读入ddc	
read_verilog	                #读入.v文件	
read_vhdl	                    #读入.vhd文件	
read_verilog filel.v file2.v …	#读入多个文件

2、多次实例化设计调整

        IC Compiler不支持有多个实例(non-uniquified)的设计。如下图中的顶层设计中实例化3PARSER模块是不允许的。

        对于包含多个实例的设计,ICC脚本命令需要使用current_ design命令,该命令指定了当前的顶层设计名称,并执行uniquify命令,实现实例唯一化,即对参考设计实例化模块的 唯一拷贝

current_design MY_TOP_DESIGN
uniquify

        对比uniquify操作之前、之后,会发现被多次调用的模块的模块名自动添加后缀名,实现 各个模块的唯一实例化。例如被3次实例化的PARSER的模块名通过uniquify命令自动改为PARSER_1PARSER_2PARSER_3uniquify命令对于前端以及后端设计的意义在于允许ICC对相同的实例根据各自情况(输入驱动、输出负载、输入和输出信号的时序要求)独立优化逻辑,改进设计结果

3、逻辑库设置

        这里可以参考DC的设置,

Design Compiler指南——预综合过程_沧海一升的博客-CSDN博客主要说明Design Compiler的启动、设置各种库文件、创建启动脚本文件、读入设计文件、DC中的设计对象、各种模块的划分等。https://blog.csdn.net/qq_21842097/article/details/120368910        大致脚本如下:

lappend search_path ./design_data ./scripts MYMMW_libs	#搜索路径
lappend search_path [glob MYMMW_libs/* /LM]

set link_library H* gates_max.db io_max.db rams_max.db"	#链接库
set target_library "gates_max.db"	                    #目标库
set symbol_library	gates.sdb io.sdb rams.sdbn	        #符号库

三、物理库设置

1、物理参考库

        物理参考库(physical reference libraries)用于物理设计的数据库设置。

        物理参考库包含标准单元、宏块、管脚的布局布线的必要信息。icc的物理参考库采用的是Milkyway参考库格式,库文件夹以mw为后缀名。物理参考库提供的信息包括:

  • 定义布局的单元块(tile);
  • 标准单元布局行的行高;
  • 标准单元最小宽度单位(即单元块的宽度);
  • 布线方向;
  • 布线轨道(track)的间距。

        物理参考库设置命令采用创建设计库命令create_mw_lib,并选项 -mw_reference_library指定设计的物理参考库。

create_mw_lib -mw_reference_library ...

        如下图所示,物理库包含了芯片加工和底层设计需要的标准单元、宏块IP以及IO管脚的物理信息。具体包括单元的尺寸、引脚位置、参考点、方向等。

       上图中符号F作为对称标识,指示单元是否旋转或水平/垂直镜像。布局的标准单元与单元块(tile)的关系如上图图右所示。所有标准单元cell都是tile的面积整数倍,任意一个单元都可以由一个或多个tile 横向拼接而成tile与标准单元保持相同高度,即标准单元行高。但标准单元的宽度为tile宽度的整数倍。基于单元tile的标准单元版图设计图设计简化了布局排列规则,便于EDA工具建模和电路实现。

        物理参考库的信息被保存在Milkyway数据库中,主要包括以下三种视图:

  1. CEL:完全的版图视图;
  2. FRAM:布局布线中使用的抽象视图,在布局布线中使用。FRAM包含的信息是CEL 的一部分,占用更少存储空间;
  3. LM带时序和功耗信息的逻辑模型LM库为可选设置)。

        如下图所示为saed 32nm物理参考库文件层次结构,包含三个子文件夹内容。该参考库文件层次结构显示的是后端参考库的标准单元子库。复杂的后端工艺库针对不同的工艺角(corner)和不同工作模式(mode)独立建立后端参考库的LM db库文件,以反映不同工作条件下的时序等信息。

2、技术文件的格式与功能

        技术文件简称tf文件(后缀名为.tf)o对于每一种工艺(如IBMO .13umTSMC 90nm)都 需要单独定义tf文件。tf文件包含金属层的参数,具体包括:

  • 每一金属层/过孔层的编号和名称定义;
  • 每一金属层/过孔层的设计规则(包括最小线宽、线与线间距等);
  • 层/过孔的物理和电气特性;
  • 电阻的介电常数;
  • 电气参数的单位与精度;
  • 每一层/过孔显示的颜色与图案;
  • 可能包含参数提取的电容模型等。

        tf文件示例如下:

3、指定tlu+文件

        tlu+(tlu plus)文件为寄生RC模型文件。从布局到布线的各个环节都需要参考tlu+文件提供的RC数据,计算信号线的时间延迟。


        Cell单元延时由输入信号电平转换时间(transition)和门的输出负载(负载电容之和,包括线网电容Cnet和与线网连接的驱动单元的管脚电容Cpin)决定。

        线网时延由线网的寄生阻抗Rnet和线网连接负载电容Cnet决定

        线网和单元的时延分开计算,ICC需要知道线网 的寄生阻抗和电容值。


        tlu+模型通过线网的几何信息和文件存储的查找表计算线网的C和R值。

4、创建设计库

        create_mw_lib命令创建设计库,设计库是设计的容器,后缀名为mw。物理参考库与技术文件是在创建Milkyway设计库时指定。创建设计库举例如下:创建设计库,指定技术文件 和物理参考库,创建完成后打开库。打开设计库的过程类似于其他设计软件打开一个新建的 工程。

create_mw_lib design_lib_orca -open \           #创建设计库design_lib_orca并打开
-technology abc_6m.tf \                         #指定技术文件 
-mw_reference_library "sc ram32 io"	            #指定mw参考库,即物理库
                                                # sc:标准单元库,io管脚库,ram32存储器库

set_check_library_options -all                  #设置检查库设置为全部检查
check_library	                                #检查库
                                                

        这里需要说明的是设计库、设计单元、参考库和输入文件关系,如下图:

        Milkyway设计库的UNIX /Linux文件结构如下图。图中的lib、lib_1、lib_bak等文件中存储了内容列表(T.O.C)、导入的技术文件、指向参考库的指针等。

         新创建的设计库中不包含设计单元,因此在执行create_mw_lib命令后, 只能看到在当前工作路径下创建了与设计库同名的文件夹,其中包含lib、lib_1、lib_bak等文 件,但不包含CEL文件夹。执行输入v格式或者ddc格式的设计后,将自动创建CEL文件 夹,并在CEL中保存与设计顶层模块同名的设计单元,如orca_init:1。

        save_mw_cel命令保存CEL视图。单元名称中的冒号(:)和数字后缀表示单元保存的文件编号。设计单元在设计库中保存后,在CEL文件夹中可能存储多个单元名称相同,但冒号后数字编号不同的设计文件,这些数字编号不同的文件共同构成了设计单元。

 5、保存和导入设计

        在导入ddc或者v文件格式的设计后,当设置完成后,保存Milkyway设计的命令为save_mw_cel,举例如下

save_mw_cel -as xxx

        选项-as设置保存单元名称。关键设计阶段后建议保存设计单元,以便后期设计工作有问题时打开前期设计结果,重复前面阶段的设计工作。注意保存单元后,当前ICC 打开的设计还是保存前的设计单元。

        默认链接库link_library、搜索路径search_path、目标路径target_libraryTLU +设置 保存在设计CEL中。如果库文件更新或者保存位置发生变化,这些设置需要重新加载。如果重新打开CEL,默认保存的设置不会重新加载,除非先进行以下设置(自动重置cel lib设置):

set auto_restore_mw_cel_lib_setup true 
open_mw_cel xxx 

四、检查及其他操作

1、检查库正确加载

        完成逻辑库和物理库设置后,使用check_library命令检查库的不一致性,例如在逻辑库和物理库之间的cell单元和管脚差异、物理库内缺少CELFRAM视图以及多个参考库中有重复单元等。 

set_check_library_options -all  # 设置检查库选项打开
check_library	                #检查库命令
check_tlu_plus——files	        # tlu+ 文件检查单独完成

        使用list_libs命令,列出所有逻辑库文件的名称、文件、路径,便于核对。在读入网表和完成链接后,才能使用list_libs命令。list_libs显示信息的示例如下:

2、定义逻辑电源与地信号连接

        采用derive_pg_connection命令,定义电源和地网络P/G名称,定义单元的电源管脚和地管脚名称,并将各个单元的电源引脚和地引脚连接到P/G网络。采用derive_pg_connection 命令,把单元的固定连接高、低电平的管脚用-tie选项控制连接到电源网络VDDVSS。采 用check_mv_design命令和-power_nets,检查设计的电源网络。

derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS	
derive_pg_connection -power_net VDD -ground_net VSS -tie
check_mv_design	-power_nets	

3、应用时序约束并检查

        ICC的时序约束要与DC综合阶段相同,最好采用兼容的sdc格式。时序约束应用并检查脚本见表:

        sdc文件确保包含对时钟约束偏移、延时、电平转换时间。采用report_clock  -skew查看设计的时钟信息。

        在数据设置阶段要确保时钟没有定义为传播时钟(CTS步骤后时钟网络建立后传播时钟才有意义),采用report_clock命令查看。

        此外,在进行设计布图规划和布局之前,有必要确保设计没有被过度时序约束。约束需要和设计指标对应。下面面脚本里显示了 ZIC (零互连延迟检查)检查步骤。首先设置打开互连线零时延模式,忽略线网传输时延;再检查时序,看是否有明显时序违例;检查后关闭互连线零时延模式。

set_zero_interconnect_delay_mode true
report_constraint -all
report_timing
set_zero_interconnect_delay_mode false

4、去除不需要的理想线网和网络

        在数据设置阶段去除不需要的理想网络,这些网络一般是高扇出网络,如复位Reset、置位Set、使能Enable、选通Select等系统控制信号。如下图所示,当Enable使能信号去掉后,ICC才能根据时序约束和布局走线的几何信息,合理插入缓冲电路。

         理想网络属性通过remove_ideal_network命令去除,例子如下:

remove_ideal_network [get_ports Enable Select Reset]

5、数据设置脚本示例

        包括创建设计库、设置物理参考库、设置技术文件、 设置tlu +文件、设置并逻辑连接电源和地网络信号,以及对完成的各项设置检查。

createjnw_lib design_lib_orca -open - technology techfile.tf \ 
    -mw_reference_library “sc io ram32" 

set_check_library_options -all 
check_library 

set_tlu_plus_files - max_tluplus cbl3_6m_max.tluplus \ 
    -min_tluplus cbl3_6m_min.tluplus \ 
    -tech2itf_map cbl3_6m.map
 check_tlu_plus_files 

import_designs design. v -format verilog - top ORCA 

list_libs 

derive_pg_connection - power_net VDD - power_pin VDD \
    -ground_net VSS - ground_pin VSS
derive_pg_connection -power_net VDD -ground_net VSS - tie check_jnv_design -power_nets

read_sdc constraints.sdc  #如果读入包含约束信息的ddc,可忽略该步骤 

check_timing  

report_timing_requirements 
report_disable_timing 
report_case_analysis r
eport_clock
report_clock -skew

source tim_opt_ctrl.tcl #调用时序优化控制脚本 

set_zero_interconnect_delay_mode true 
report_constraint -all 
report_timing set_zero_interconnect_delay_mode false 

remove_ideal_network Eget_ports "Enable Select Reset"] 

save_mw_cel - as xxx_setup

        其中,时序和优化控制脚本中设定的变量和命令影响ICC后续步骤,因此需要在设计规划(布图)之前设定。示例如下:

#tim_opt_ctrl.tcl

set_app_var timing_enablejnultiple_clocks_per_reg true 
set_app_var case_analysis_with_logic_constants true 
set_fix_multiple_port_nets -all -buffer_constants 
set_auto_disable_drc_nets -constant false 
set_dont_use < off_limit_cells> 
set_prefer - min < hold_fixing_cells> 
set_app_var physopt_delete_unloaded_cells false 
set_ideal_network [all_fanout -flat -clock_tree] 
set_cost_priority {max_transition max_delay} 
set_app_var enable_recovery_removal_arcs true 
set-max_area 0 
set_app_var physopt_power_critical_range < t> 
set_app_var physopt_area_critical_range < t>

        更多的变量和命令设置,可以查看ICC软件帮助或用户手册。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IC Compiler指南——数据准备 的相关文章

  • FPGA数字IC刷题58道Verilog题解代码及视频讲解【FPGA探索者】【同步/异步FIFO】【跨时钟】

    牛客 Verilog 刷题入门篇1 24 进阶篇1 34 题解代码 所有代码均能通过测试 配合视频讲解效果更佳 为避免内容冗余 本文只给出代码 部分题目给出必要说明 很多题目本身出题有些问题 着重理解题目 没必要钻牛角尖 本文作者 FPGA
  • 建议收藏:不能不刷的100道数字IC笔/面试题!

    一 IC设计流程及相应EDA开发工具 前端设计 逻辑设计 1 规格制定 根据客户需求 具体的功能和性能要求 制定芯片规格Spec 2 详细设计 设计方案 具体实现架构 模块划分 3 HDL编码 将实际的硬件电路功能通过HDL语言描述出来 形
  • spyglass的waiver使用问题总结-工具(八)

    spyglass使用过程中waiver warning及error过程中总会出现生效不成功的问题 总结使用步骤供参考 实践出真知 解决问题就是好方法 1 在spyglass的prj中设置默认waiver文件 2 如何waiver 3 查看已
  • (四)RTL级低功耗设计

    前面介绍了系统级的低功耗设计 换句话说就是在系统级降低功耗可以考虑的方面 系统级的低功耗设计 主要是由系统级设计 具有丰富经验的人员实现 虽然还轮不到我们设计 我们了解一下还是比较好的 我们前端设计人员的重点不在系统级设计上面 而是在RTL
  • 芯片面积估算

    If giving total standard cell gate count all memory macro list including memory type bit width and depth all other macro
  • 【HDLBits 刷题 13】Buliding Larger Circuits

    目录 写在前面 Buliding Larger Circuits count1k shiftcount fsm seq fsmshift fsm fancytimer fsm onehot 写在前面 以下的解题方法不一定为最佳解决方案 有更
  • 芯片面积估计方法

    一 概念 芯片面积的主要涵盖部分分为三部分 IO 芯片的信号及电源pad等 Standard cell 实现芯片的功能逻辑 Macro block 第三方IP PLL DAC POR Memory etc 芯片面积估计就是通过目标工艺的库信
  • 数字SOC设计之低功耗设计入门(三)——系统与架构级低功耗设计

    前面讲解了使用EDA工具 主要是power compiler 进行功耗分析的流程 这里我们将介绍在数字IC中进行低功耗设计的方法 同时也结合EDA工具 主要是Design Compiler 如何实现 我们的讲解的低功耗设计主要是自顶向下的设
  • 关于芯片功耗的那些事(十九)

    续前一期 聊聊EM 的问题 当工艺在110nm及以下 由于metal 的最小线宽越来越窄 加之更高的device 电流和on die 的温度越来高 互连线的可靠性问题 互连线的EM问题越来越引起重视 电迁移的问题 可能导致金属线的要么变窄
  • 电力电子转战数字IC——我的IC面试(2022.10.14更新)

    目录 感谢信 HKWS10 14面试 25mins JXC10 13面试 30mins JDSK9 23面试 42mins 快速的自我介绍 介绍一下这个MCDF的项目 你这里写SV搭建的验证环境 和UVM搭建的有什么区别吗 你这里写了覆盖率
  • 【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

    目录 写在前面 读入设计 发现问题并解决 Lint 检查 写在前面 Spyglass可以用于检查混合设计中的语言互操作性和一致性问题 对于设计中包含多种硬件描述语言的情况 Spyglass 能够识别并解析其中的模块及其互连 并对其进行验证
  • 数字后端——布局

    由于I O单元和模块的布放已经在布图规划时完成 因此布局的剩余任务主要是对标准单元的布局 布局方案在布图规划时就已经做了决定 要么选择展平式布局 要么就是层次化布局 一 布局目标 布局的目标也即布局内容实施之后所要达到的预期值 可以归纳为以
  • 数字后端知识点扫盲——CTS (上)

    后端和前端一样在IC设计中扮演着非常重要的角色 甚至可以说入门的前端设计工程师对timing的理解远不如一个后端设计工程师 因此想要更好的理解电路的timing在后端P R之后或者说在大规模的设计中后端如何实现clock对DFF的驱动 就需
  • 将所有源文件一次传递给编译器有什么好处吗?

    我读过 整个程序优化 wpo 和 链接时间代码生成 ltcg 我想知道如果我将所有源代码从 cli 一次性传递给编译器 如 g a cpp b cpp 是否会进行更多模块间分析 或者这只是启用这些标志之一 编译器之间对此有区别吗 例如 英特
  • 英特尔 C++ 编译器和 GCC 的基准测试

    我有一台运行 CentOS 5 的 AMD Opteron 服务器 我想要一个编译器 用于相当大的基于 C Boost 的程序 我应该选择哪个编译器 我希望这有助于多于伤害 一年多前的某个时候 我进行了一次编译器大战 现在我已经记不清了 G
  • 从 icc 获取 Intel 语法 asm 输出,而不是默认的 AT&T 语法?

    我陷入了一个问题 我已经使用 gcc 编译 汇编我的 C 代码一段时间了 并习惯于阅读 Intel 汇编语法 我用的是 masm intel生成程序集文件时的标志 但最近因为公司迁移 他们得到了Intel的icc 声称更好 所以现在我需要使
  • 为什么 ICC 在 x86 上的汇编中生成“inc”而不是“add”?

    在摆弄简单的 C 代码时 我注意到一些奇怪的事情 ICC为何产生incl eax在为增量生成的汇编代码中而不是addl 1 eax 不过 GCC 的行为符合预期 使用add 示例代码 O3用于 GCC 和 ICC int A B C D E
  • OMP 线程私有对象未被破坏

    底线 如何确保 threadprivate 实例被正确销毁 背景 接听时这个问题 https stackoverflow com questions 32347008 confused about firstprivate and thre
  • 英特尔编译器使用错误的标头

    我试图找出为什么Intel Compiler 18 0 已安装after我的 Visual Studio 2017 安装使用的头文件MSVC 而不是它自己的 因为它会导致错误 一个简单的 include
  • 将 lambda 表达式传递给 lambda 参数 c++11

    我想做这样的事情 int main auto f some variables take lambda function something with lambda function f other variables variables

随机推荐

  • UDP协议以及代理服务器

    UDP协议 面向非连接的协议 指在正式通信前不必与对方先建立连接 不管对方状态就直接发送 对方是否可以接受这些内容 该协议则无法控制 适用于 一次性只传输少量数据 对可靠性要求不高的应用环境 UDP和TCP对比 TCP 可靠 传输大小无限制
  • 调制方式性能比较--BER,频带效率的极限

    文章目录 1 BER性能 1 1AWGN的QPSK 1 2常用的误比特率公式 2 频带效率 2 1香农定理 2 2两个重要的区域 2 3对于各个信号 1 BER性能 1 1AWGN的QPSK AWGN信道中无符号间干扰的QPSK的BER经常
  • Jmeter(十) - 从入门到精通 - JMeter逻辑控制器 - 中篇(详解教程)

    1 简介 Jmeter官网对逻辑控制器的解释是 Logic Controllers determine the order in which Samplers are processed 意思是说 逻辑控制器可以控制采样器 samplers
  • KVM(一) qemu-kvm

    前言 KVM即Kernel Virtual Machine 最初是由以色列公司Qumranet开发 2007年2月被导入Linux 2 6 20核心中 成为内核源代码的一部分 2008年9月4日 Redhat收购了Qumranet 至此Re
  • [R语言] R语言PCA分析教程 Principal Component Methods in R

    R语言PCA分析教程 Principal Component Methods in R 代码下载 主成分分析Principal Component Methods PCA 允许我们总结和可视化包含由多个相互关联的定量变量描述的个体 观察的数
  • 从Docker到Kubernetes——Kubernetes设计解读之ReplicationController、Service

    文章目录 Kubernetes的设计解读 replication controller 设计解读 replication controller 使用示例 service的设计解读 service的使用示例 Kubernetes的设计解读 r
  • openssl-1.0.2o.tar.gz 使用

    已经整好的头文件和库下载资源 https download csdn net download ljt350740378 10967124 谢谢 https blog csdn net u010725842 article details
  • saltstack架构拓展syndic

    架构 server1 master 写好httpd nginx 等salt server2 3 minion server4 top master server1 salt key d server4 server4 vim etc sal
  • 【数据库MySQL】-- 视图的作用和使用

    首先介绍一下什么是视图 视图 view 是一种虚拟存在的表 视图中的数据并不在数据库中实际存在 行和列数据来自定义视图的查询中使用的表 并且是在使用视图时动态生成的 通俗的讲 视图只保存了查询的SQL逻辑 不保存查询结果 所以我们在创建视图
  • 北森,SaaS风口上的「新范式」

    在单纯的战略表象背后 成立19年 北森在每一个节点做选择的核心驱动力是什么 这家公司是否拥有自己内部的 组织密码 作者 皮爷 出品 产业家 2013年 纪伟国决定要去美国 取取经 和他同行的还有参与了北森A轮融资的经纬等机构投资人 对于北森
  • IDEA关联MySQL数据库时报错 “Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘server......”

    具体报错 Server returns invalid timezone Go to Advanced tab and set serverTimezone property manually 解决办法参考 https blog csdn
  • 简单又漂亮:小白入门网页制作

    网页大家平时见的非常多 有的网页简约 有的网页很华丽 那么今天我就来分享一下制作网页的基本操作 就以下面这个网页为例 1 制作网页需要用到的工具 写网页不需要很多工具 因为写出来的网页只是一张图片 没有添加与后台的交互 所以只需要使用HTM
  • vue中使用Echarts地理地图并结合高德地图实现一个国、省、市、区的地图下钻功能

    vue中使用Echarts地理地图并结合高德地图实现一个国 省 市 区的地图下钻功能 一 需求 按不同的层级展示不同的内容 1 中国地图 2 省级地图 3 市级地图 4 县和区以下的地图 二 开发 1 Echarts和地图容器的设置 相关代
  • 优化网站DNS域名解析 进一步提升访问速度

    提高网页的打开速度 一般地我们会选择使用CDN 利用 就近原则 让用户在最短的时间内获取到服务器资源 实际应用当中采用CDN的方式提高网站访问速度的效果也是最明显的 这也就是为什么国外的空间打开速度远不及国内的主机的访问速度的原因了 我们知
  • 1、二层交换机VLAN的划分

    目录 1 手动配置主机IP地址 2 创建vlan 在交换机的全局配置模式下进行 3 分配vlan端口 1 逐一添加 2 分组添加 4 查看vlan配置 1 手动配置主机IP地址 PC PT IP SM PC0 192 168 0 11 25
  • Ubuntu20.04部署android版mediapipe踩坑记录(持续更新。。。)

    1 Android SDK 以及NDK版本问题 根据mediapipe官方文档 SDK要求在28 0 3版本及以上 NDK版本要求介于18和21之间 若版本超出范围容易引发未知的问题 导致无效加班到怀疑人生 注意 SDK build too
  • 机器学习最经典算法-SVM支持向量机-【基本解读算法+详细实际案例分部流程】

    支持向量机 SVM SVM算法可谓是最经典的机器学习算法了 具有泛化错误率低 分类速度快 结果易解释等特点多多 在应用领域涉及非常广 比如人像识别 文本分类 手写字符识别 人脸识别 生物信息学等等等 同时算法模型评估效果也是很优秀的 它为何
  • React 单元测试策略及落地

    写好的单元测试 对开发速度 项目维护有莫大的帮助 前端的测试工具一直推陈出新 而测试的核心 原则却少有变化 与产品代码一并交付可靠的测试代码 是每个专业开发者应该不断靠近的一个理想之地 本文就围绕测试讲讲 为什么我们要做测试 什么是好的测试
  • 自然语言处理nltk下载以及nltk_data下载及其所遇问题解决方案

    目录 一 nltk的下载 二 nltk data 下载 三 解压 nltk data 存放目录可能会出现的问题 一 nltk的下载 新建虚拟环境 conda activate n NLP python 3 8 创建虚拟环境方便管理 激活虚拟
  • IC Compiler指南——数据准备

    一 概述 ICC数据设置的文件关系框图如图 后端工具在数据设置阶段需要对两大类数据进行设置 包括从前端设计继承的综合数据 以及后端设计需要的物理数据 综合数据主要包括前端逻辑综合已经设置过的逻辑与时序库文件 设计约束文件sdc以 及综合网表