各種申請方法

拠点への接続

EDAの利用

拠点では、簡単なOrCadの基本機能を記載したマニュアルと例題があります。ご活用ください。
AIチップ設計拠点の計算機サーバにLoginし、以下のDirectoryを参照ください。
1.ファイルの場所:/common/aidl/aidl/Tutorial/20200330GettingStartedWithOrCad
2.ファイル一覧:
 PCBTut-172フォルダ
 日本語マニュアルフォルダ
 OrCad機能index.xlsx
 PCB_Editor_R172-2016_Tutorial_Guide_Rev10.pdf
以上

TestMAX(TetraMAX) の起動のための環境設定用スクリプトを
/apps/aidl/synopsys/env/cshrc.txs_Q-2019.12-SP5-2
として作成しました。今後はこれをご利用下さい。
また、幾つかのドキュメントを
/apps/aidl/synopsys/Docs/UserGuide/txs-TestMAX_ATPG_and_TestMAX_Diagnosis/
の下に置きましたのでご参考下さい。

1) StarRC Documents > StarRC User Guide and Command Reference, version S-2021.06 > Introduction to StarRC > Licensing Requirements for Advanced Process Nodes

% setenv STARRC_LICENSE_WAIT no (defualt) yes <== AIDC Recommended

If you use the -custom option with the StarXtract command, the tool checks only for Custom licenses.
If you use the -ultra option, the tool checks only for Ultra licenses. <== AIDC Recommended

2) You are here: StarRC Documents > StarRC User Guide and Command Reference, version S-2021.06 > Running StarRC > Distributed Processing
Single Host
You can execute multiple StarRC runs on the host that you are logged into (the localhost). To run on a single host, the syntax is as follows:

list localhost:N
The argument N must be an integer less than or equal to the number of cores specified in the NUM_CORES command. For example:

NUM_CORES: 16
STARRC_DP_STRING: list localhost:12 16 <== AIDC Recommended

もし、この数字を実際のCore数より大きくするとSlowDownします。またライセンスも余計に使用します。
blade101-nは、16coreの設定です。
NUM_CORES: 16
1)STARRC_DP_STRING: list localhost:16
50分で終了 3License使用
2)STARRC_DP_STRING: list localhost:32
70分で終了 4License使用

#####################################################################################
################Remote serverを複数使用したJobの投入####################################

Automatic Submission of Distributed Processing Jobs
With automated submission, you start a single run and let the StarRC tool automatically submit multiple jobs according to the computing environment protocol specified in the STARRC_DP_STRING command or the STARRC_DP_STRING environment variable. You can also use this method to run a single job remotely.
The information in this section does not apply to distributed processing runs invoked by a GPD configuration file or by the field solver (whose runs are controlled by the FS_DP_STRING command).
Job submission commands are site-specific. Contact your system administrator for assistance.
Run Termination and Exit Status
The following features apply to automatically submitted runs that are controlled by the STARRC_DP_STRING command or the STARRC_DP_STRING environment variable:
You can terminate runs by entering Ctrl+C on the command line.
You can terminate a supervisor process that is running in the background by using the kill command.
If you kill the supervisor process, or if it terminates abnormally, associated remote worker processes are automatically terminated.
When all tasks in a StarRC run are complete, unneeded pending jobs are terminated.
The supervisor process exits with an exit status of 0 for successful termination; nonzero values indicate unsuccessful termination.
The standard output stream displays information such as the start and end times of each task and the final completion status.
Support For Internet Protocol Versions IPv4 and IPv6
The StarRC tool can use either the IPv4 (32-bit) or IPv6 (128-bit) addressing protocol. The tool automatically detects the addressing mode on the submit host (the host used to launch jobs). The following usage notes apply:
If the submit host supports both IPv4 and IPv6, you must set the ENABLE_IPV6 command to YES to use IPv6 or NO to use IPv4. If you omit the command and the submit host supports both address modes, the StarRC tool issues an error message and stops.
If the STARRC_DP_STRING command or environment variable specifies a list of machine names, the StarRC tool checks the mode of each host before submitting the jobs. If any host is incompatible with the submit host, the tool issues an error message and stops.
If the job is submitted to a compute farm, all hosts must support the address mode of the submit host. Remote jobs that land on an incompatible host fail.
If the submit host supports only IPv4 or only IPv6, do not use the ENABLE_IPV6 command because the StarRC tool detects the address mode.
Methods For Specifying the Login Protocol
For all computing platforms, you must specify the login protocol with one of these methods:
Set the STARRC_DP_STRING environment variable before launching the StarRC tool. Enclose the argument in single quotation marks because it might contain multiple items. For example:
% setenv STARRC_DP_STRING 'list rsh alpha:2 beta:4 gamma'
Specify the STARRC_DP_STRING command in the StarRC command file. For example:
STARRC_DP_STRING: list rsh alpha:2 beta:4 gamma
If both the STARRC_DP_STRING command and the STARRC_DP_STRING environment variable are set, the StarRC command takes precedence.
Supported Computing Platforms
Distributed processing is available for the following computing environments:
Single Host
General Network of Hosts
LSF System
Univa Grid Engine
Runtime Design Automation System
Single Host
You can execute multiple StarRC runs on the host that you are logged into (the localhost). To run on a single host, the syntax is as follows:
list localhost:N
The argument N must be an integer less than or equal to the number of cores specified in the NUM_CORES command. For example:
NUM_CORES: 10
STARRC_DP_STRING: list localhost:8
General Network of Hosts
For a general network of hosts, the syntax is as follows:
list [login_protocol] host1[:n1] [host2[:n2] ... hostm[:nm]]
The arguments are as follows:
The login_protocol argument is either rsh (the default) or ssh.
Login access without a password to each host must be possible using the specified login protocol. Contact your system administrator to verify that the specified login protocol is permitted in your computing environment. For example, remote login using the rsh command might be prohibited. In this case, use the ssh protocol instead. Using a prohibited login protocol results in StarRC run termination.
The argument host1:n1 means that you are submitting n1 runs (an integer number of runs) to the machine with name host1. The default number of runs per machine is 1. Do not use spaces inside the host:n syntax, but use one or more spaces between hosts.
The keyword for the host where the parent run starts is localhost. If you use localhost, use system calls instead of rsh to submit the runs.
This example for a general network uses the ssh protocol and submits 4 runs on system alpha, 2 runs on system beta, and 1 run on system gamma:
STARRC_DP_STRING: list ssh alpha:4 beta:2 gamma
To configure ssh to work with the STARRC_DP_STRING command, use the following procedure. If you need assistance, contact your system administrator.
In your home directory, determine whether a .ssh directory already exists. If so, rename it or remove it.
Create a new directory named .ssh.
In the .ssh directory, run the following command to generate an authentication key:
/usr/bin/ssh-keygen -f id_rsa -N "" -t rsa -q
There is no space between the quotation marks.
In the .ssh directory, run the following command to copy the authentication key:
cp id_rsa.pub authorized_keys
Modify the permissions for the home and .ssh directories as follows:
chmod 755 $HOME
chmod 700 $HOME/.ssh

Authorize a host for the first time as follows:
ssh hostname
System messages similar to the following appear, where (a.b.c.d) represents an IP address and 3f:5e... represents a full key fingerprint:

The authenticity of host ‘hostname (a.b.c.d)’ can’t be established.
RSA key fingerprint is 3f:5e...
Are you sure you want to continue connecting (yes/no)?
Answer yes. You should now be able to log in without a password or other intervention.

Repeat steps 6 and 7 for all hosts that you plan to use.

詳しくは、下記のManualを参照ください。
/apps/aidl/synopsys/Docs/hspice/hspice_sa_UserGuideBasicSimulationAnalysis.pdf
Chapter 4. Distributed Processing, Multithreading, and HSPICE Precision Parallel
拠点推奨値:-mtオプションは使用しない。効果があったとしても-mt 1です。
拠点推奨値:-dpオプションは使用しない。
これらのオプションが効果があるのは、HSPICE検証用にサーバを専用Configulationする必要があります。通常、千台以上のサーバと千個のHSPICEがある環境での実行を前提としています。
ご使用の拠点サーバが(socbmxxxxx、com0x-n)の場合は、Numaアーキテクチュアとなっており、Thread = 2 x MultiCore(2以上)となっております。この構成ではこの効果を十分に発揮できません。
もし、2以上の数値を使用されてもLicenseを多く使用するだけで改善効果は期待できません。拠点の現環境では使用しないでください。(参照: p.101)
下記の計算で、このThreadの効果があるのは、Tparallel/Ncpu部分だけで、最大1.67倍です。(参照: p.102)
T1cpu/(0.2T1cpu + 0.8T1cpu/2cpus)=1.67

1) Helpを見たいツールとVersionをSourceしてください。(例Xcelium)
各ツールとVersionで内容が異なっていることがあります。
ご利用になるツール+VersionをSourceしてください。
source /apps/aidl/cadence/env/cshrc.xcelium

2)cdnshelpがSearchpathにあることを確認する。
which cdnshelp
/apps/aidl/cadence/XCELIUM/18.09.008/tools/bin/cdnshelp

3)x転送を受け入れ可能とし、bsub によって cdnshelp を実行する。
xhost +
bsub -Is -q <ご利用になる実行サーバのQueを指定してください。> cdnshelp

4)DocuementLibraryの開け方
左上部にあるボタンを押してください。

5)Documentライブラリにマニュアルがない場合
Cadenceマニュアル表示は、printenv PATHの参照順がDefaultです。
PATHはsourceしたcshrc.xxxで定義されています。
複数の実行EDAツールを参照している場合の表示方法は下記を参照ください。

簡単なJasperGoldの実行方法を記載したPDFを作成しました。ご活用ください。
AIチップ設計拠点の計算機サーバにLoginし、技術資料「GettingStart_JasperGold」を参照ください。File Browserから下記ファイルを選択する事で閲覧できます。
・ファイルの場所: /common/aidl/aidl/Tutorial/GettingStart_JasperGold_20200422.pdf
・ファイルのパスワードは同じフォルダの README を参照下さい。尚、本ファイルのダウンロードはご遠慮ください。

※ 本資料の記載内容【抜粋】
<はじめに>
本資料はCadence社製のEDAツール JasperGoldを使った実行サンプルを記載しています。JasperGold はRTLサインオフに使われる形式検証ツールです。
1. JasperGoldを使う環境の設定
2. JasperGold を立ち上げてみる
bsub コマンドを使ってLSFサーバでツールを起動します
JasperGold の Help Viewer を設定

<Helpの例>
1. サンプルの GO を実行してみる
2. このデモでは、Coverage App が実行されています
3. 他のサンプル(CDC)を実行してみる
エラーメッセージをクリックするとwindowが表れて回路図で示してくれます
<.tclを参考に>

LANGの設定を確認し、下記のように設定して下さい。
setenv LANG en_US.UTF-8

AIチップ設計拠点の計算機サーバにLoginし、以下の技術資料「EDAツール利用における初期設定と起動」を参照ください。File Browserから下記ファイルを選択する事で閲覧できます。

ファイルの場所: /common/aidl/aidl/Tutorial/GettingStart_20200818.pdf
ファイルのパスワードは同じフォルダの README を参照下さい。尚、本ファイルのダウンロードはご遠慮ください。<
※ 本資料の記載内容【抜粋】
・設計データ等は/projxxxx以下に置くこと(xxxxはプロジェクトIDに相当する番号)
・シェルと初期設定
	・セットアップスクリプトの場所
	・サンプル類
・拠点計算機とのデータのやり取り
・バッチJob投入
・GUI/インタラクティブJob投入
・Job確認と中止方法
・ディレクトリ構造
・EDAツール起動とデモデータ

簡単なSpyGlass実行方法を記載したPDFを作成しました。ご活用ください。
AIチップ設計拠点の計算機サーバにLoginし、以下の技術資料「GettingStartWithSpyGlass」を参照ください。File Browserから下記ファイルを選択する事で閲覧できます。

ファイルの場所:/common/aidl/aidl/Tutorial/GettingStartSpyGlass_20200408.pdf
ファイルのパスワードは同じフォルダの README を参照下さい。尚、本ファイルのダウンロードはご遠慮ください。

※ 本資料の記載内容【抜粋】
SpyGlassは、RTL Lint Check ツールです。SoCやIPの開発で合成可能なRTLコード作成を支援するため、デザインの様々な局面(Dirty File Closing, Clean File Closing等)でRTL coding styleやguide lineに合致しているかチェックします。実行方法はGUI(SpyGlass Explorer)を利用することで簡便にチェックできます。是非お試しください。
設計の初期段階では、下記だけを解析します。
基本的なStatic and Functional 解析
Constraints 解析
Power 解析
Clock 解析
基本的なDFT適用性解析

Dirty File Closing: 全体をLinkする統合ステージの最初では、下記の項目を追加で解析します。この状態ではModuleの機能バグは取れていませんが、Integration作業(DFT やPnR等)を開始するためには下記の項目の検証が完了している必要があります。
複合的なStatic and Functional解析
Constraintsの完全性解析
Powerの完全性解析
Clockの完全性解析
DFTの完全性解析

Clean File Closing: 個別Moduleの機能検証が完了しており、全体をLinkしたPower On Reset Start等のSoC Basic Functionの検証が開始されます。下記の項目の検証が完了していることが必須となります。
全ての完全性解析が完了している。
Waiver Listに不問とする明確な理由が完備されている。

拠点のShared Serverは、Numaアーキテクチュアとなっており、EDAの実行を最適化するため、CPUnodeとMemory Bankを指定します。
以下では、CPU nodeとMemory bankを指定し、EDAを実行する方法を説明します。
参考:https://www.intel.com/content/www/us/en/design/products-and-solutions/processors-and-chipsets/cascade-lake/2nd-gen-intel-xeon-scalable-processors.html
参考:https://qiita.com/tomo0/items/5352b8ceb6ccb70390c8

<CPU nodeが使用するMemory bankを指定する方法>
1)拠点のEDA ServerのCPU nodeとMemory bankを表示する。
com01-n には4つのnodeと各nodeには8つのMemory bankが接続しています。

userichi@login0001-n:/home0001/userichi> cat numactl-show.cmd
#!/bin/csh -f
numactl -H
userichi@login0001-n:/home0001/userichi> bsub -I -q comq ./numactl-show.cmd
Job <18937> is submitted to queue .
<>
<>
available: 4 nodes (0-3)
node 0 cpus: 0 4 8 12 16 20 24 28
node 0 size: 589185 MB
node 0 free: 574012 MB
node 1 cpus: 1 5 9 13 17 21 25 29
node 1 size: 589824 MB
node 1 free: 576366 MB
node 2 cpus: 2 6 10 14 18 22 26 30
node 2 size: 589824 MB
node 2 free: 576360 MB
node 3 cpus: 3 7 11 15 19 23 27 31
node 3 size: 589824 MB
node 3 free: 576233 MB
node distances:
node 0 1 2 3
0: 10 21 21 21
1: 21 10 21 21
2: 21 21 10 21
3: 21 21 21 10

2)CPU node3とMemory bank3でCustom_Compilerを実行する。

userichi@login0001-n:/home0001/userichi> source /common/aidl/synopsys/env/cshrc.cc
userichi@login0001-n:/home0001/userichi> xhost +
access control disabled, clients can connect from any host
userichi@login0001-n:/home0001/userichi> cat ./numac
numactl-3-3.cmd* numactl-show.cmd*
userichi@login0001-n:/home0001/userichi> cat ./numactl-3-3.cmd
#!/bin/csh -f
numactl –cpunodebind=3 –membind=3 custom_compiler
userichi@login0001-n:/home0001/userichi> bsub -I -q comq ./numactl-3-3.cmd &
[1] 29696
userichi@login0001-n:/home0001/userichi> Job <18938> is submitted to queue .
<>
<>

※ 課題は、親Processは指定したCPU nodeとMemory bankで実行されますが、子Processは制御できないことです。
2020.03.24 numactl –localオプションでも実行出来ます。

EDAベンダーとのユーザー登録には各EDAベンダーと直接の契約が必要となります。
AIチップ設計拠点のサポートではなく、EDAベンダーからの直接のサポートが必要な場合は、別途貴社でEDAベンダーと契約願います。
なお、拠点でもツールの使い方等についてサポートしておりますので、「問い合わせフォーム」でご連絡ください。
※ 「問い合わせフォーム」はメニューバーの「Information」の中などにあります。

AIチップ設計拠点の計算機サーバにLoginしていただき、以下の場所のreadmeファイルを参照してください。主なチュートリアルのある場所が記載されています。
/common/aidl/{ベンダ名}/tutorial/ReadMe

AIチップ設計拠点の計算機サーバにLoginしていただき、以下の場所にドキュメントをhtmlやpdfとして格納してありますので、ブラウザやviewerで参照してください。
/apps/aidl/{ベンダ名}/doc/{ツール名}/…
インタラクティブモードでGUIがあるツールは、ツールのメニューの中にあるHELPを参照してください。

AIチップ設計拠点の計算機サーバにLoginし、以下の技術資料「EDAツール利用における初期設定と起動」を参照ください。File Browserから下記ファイルを選択する事で閲覧できます。

  • ファイルの場所: /common/aidl/aidl/Tutorial/GettingStart_20200507.pdf
  • ファイルのパスワードは同じフォルダの README を参照下さい。尚、本ファイルのダウンロードはご遠慮ください。

※ 本資料の記載内容【抜粋】

  1. 設計データ等は/projxxxx以下に置くこと(xxxxはプロジェクトIDに相当する番号)
  2. シェルと初期設定
  3. セットアップスクリプトの場所
  4. サンプル類
  5. 拠点計算機とのデータのやり取り
  6. バッチJob投入
  7.  GUI/インタラクティブJob投入
  8.  Job確認と中止方法
  9. ディレクトリ構造
  10. EDAツール起動とデモデータ

Xceliume -mcl 1,2,4,8,16 優位差ありません。
Compileは、Multi CPU化されません。
Simulation実行は、1時間、4時間かかるものを実施しましたが、優位差は無く、16では遅くなりました。

bsub -M 1000000
単位はMBです。
マニュアルは、KBですが、
設計拠点では、lsf.confファイルで「LSF_UNIT_FOR_LIMITS=MB」と設定しているため、MBをご指定ください。

HPCのLSFコマンド

Using the Synopsys® Design Constraints Format Application Note
Timing Constraints and Optimization User Guide
/apps/aidl/synopsys/Docs/spyglass/SpyGlass-00-downloadedを参照ください。

本拠点でEDAツールを利用するためには、装置IDを取得する必要がありますので、ユーザID申請 → プロジェクトID申請 → 装置ID申請の手続きをお願いします(メニューバーの「拠点利用方法」参照)。
なお、本拠点は、NEDOの委託事業で整備されていますので、その趣旨に沿った利用をお願いいたします。メニューバーの「AIチップ設計拠点」を参照願います。大学における教育・研究用途に関しては、東京大学大学院工学系研究科システムデザイン研究センター基盤設計研究部門(旧VDEC)を活用いただいた方がライセンスの本数などの面で利便性が高いこともあるので、そちらも併せてご検討ください。

Q) 暗号化したRTLをもらいました。設計ツールで使用する方法を教えて下さい。
・マニュアル検索願います「RTL」「IEE1735」で検索ねがいます。
・「ツール毎」に暗号化したRTLの読込方法があります。
・同一メーカでもツール毎に異なっております。
・各ツール向けに再暗号化が必要になる場合があります。
・EncryptedされたものをDe-Encryptedはしないでください。

NoMachineでLoginする。
Loginサーバで、

1).cshrcに以下を追加する

#!/bin/csh -f			<==.cshrcの先頭
echo Reading....cshrc		<==この行はいらない。
printenv DISPLAY		<==これをいれておく。


Terminalを起動すると
Reading....cshrc
192.168.20.58:1004		<==これがLoginServerのDisplay番号
 /AiTwo/BE/DF/LAY/ICC2/AiIP0X/01_211003 $

2)X-windowのパーミッション

xhost +

3) 実行Serverにssh

ssh blade13-n -X 
setenv DISPLAY 192.168.20.58:1004	<== loginServerのDisplay番号

source /apps/aidl/synopsys/env/cshrc.icc2
nohup icc2_shell -f a.tcl &		<== これでexitしても実行サーバで流れる。

LSFの-aオプション(EDAのQueuing)は使用しないで下さい。
cshrcでEDAのQueuingを使用して下さい。


SynopsysのDC, Formality, PrimeTimeの場合
#!/bin/csh -f
setenv SNPSLMD_QUEUE true
setenv SNPS_MAX_WAITTIME 14400 <==  最大72Hr Main-Licence待ち
setenv SNPS_MAX_QUEUETIME 7200 <==  最大8Hr  Sub-Licence待ち
最大時間を超えて指定できません。
この時間でLicenseが取れずTimeoutした場合は、Errorで処理が進みます。

SynopsysのSpyGlassの場合
vi go_sg.csh
spyglass -licqueue 
or
#!/bin/csh -f
setenv SPYGLASS_ENABLE_LICENSE_QUEUE 1
参考:WaitingTimeは下記のように設定済み
vi /apps/aidl/synopsys/spyglass/[Version]/SPYGLASS_HOME/.spyglass.setup
 23 LICENSE_QUEUING_INTERVALS_IN_SECS=24000 10

SynopsysのHspiceの場合
#!/bin/csh -f
setenv META_QUEUE 1

CadenceのXceliumeの場合
#!/bin/csh -f
setenv CDN_SLIM_QTO 7200

エミュレータの利用

IPcoreの利用

プロジェクト開発

開発ツール