2021年9月13日月曜日

AMD interview Questions (Physical Design) を訳してみる

勉強になるかと思って翻訳+自分なりに回答してみた.正直回答の正確性は微妙です.
元は以下のページです.

AMD interview Questions (Physical Design)
https://www.physicaldesign4u.com/2021/03/amd-interview-questions-physical-design.html

Tell me about your experience.
Q:あなたの経験について教えてください.
A:(^p^)

How will you make sure that your power structure is good?
Q: あなたの設計した電源構成が十分である事をどう確認しますか.
A:電源配線抵抗が回路の等価抵抗の5%程度になればよい?Path-millで確認して5%以内であればOK?(正直確認をしたことがない.過去の経験からとしか) 

Tell me about DRC and LVS fixes.
Q: DRC,LVS修正について教えてください.
A: どちらも Calibre RVE の情報を元に修正します.(答えになっているのか)

Why we are following certain guidelines for macros placement and what are those guidelines?
Q: マクロ配置のガイドラインとその理由について教えてください.
A: マクロ配置のガイドラインはDRC回避と信号・電源配線のため.近接しすぎると配線が不可能になったり,マクロ内のレイヤー密度によっては密度違反を引き起こす.

What is the minimum space required in between macros if the channel is there on the non-pin side of macros?
Q: 配線チャネルがマクロのピンのない辺にある場合,マクロ間に必要な最低スペースはいくつですか.
A: ピン数/配線レイヤー数/2.2で割るのは偶数奇数レイヤーで配線方向が違うため.

What is the distance between tap cells in your design?
Q: タップセルの間隔は?
A: プロセス依存だが 60um 程度が一般的かと.

What are the setup and hold edges for a 3-level multi-cycle path?
Q: 3-level multi-cycle pathにおけるセットアップホールドエッジはいくら?
A: T_path > DFF_hold, T_path < 3 x T_clk + DFF_setup

What are the setup and hold edges for the half-cycle path?
Q: half cycle pathにおけるセットアップホールドエッジはいくら?
A: T_path > DFF_hold, T_path < 1/2 x T_clk + DFF_setup

How you will perform cell spreading in placement if congestion is there?
Q: 混雑している場所のセルを拡散させるには?
A: (具体的にどうするか実施したことない.ICCでできるのだろう.)

Tell me about the 2-pass approach in placement.
Q: Placement における2-pass アプローチについて語ってください.
A: Global Placement -> Local Placement 

Why we are not taking care of hold violations at the placement stage?
Q: 配置でホールド違反をケアしない理由は?
A: ホールド違反はCTS後のバッファリングで回避できるため.

Tell me about multi-source CTS.
Q: マルチソースCTSについて語ってください.
A: (やったことないのでわからない)

Tell me about Switching power, internal power, average power, peak power, and IR Drop.
Q: スイッチング電力,内部電力,平均電力,ピーク電力,IR Dropについて語ってください.
A: スイッチング電力は配線の充放電での消費電力,内部電力はゲートや拡散,貫通電力によるセル内部での消費電力,平均電力はクロックサイクル間に消費された電力の平均値,ピーク電力は時変動する消費電力の最大値,IR Dropはこれら消費電力によって流れる電流と配線抵抗の積によって生じる起電力でその分回路内部の電源電圧が低下する.

Tell me about CPPR.
Q: CPPRについて語ってください.
A: CPPR (Common Path Pessimism Removal)とは,OCV (On-chip Variation)を考慮したSTAにおいてパス遅延が同時にFastとSlowになる事を除去する考え方である.パス遅延解析において,Setup解析ではパス遅延最大がWorst条件で,一方Hold解析ではパス遅延最小がWorst条件である.しかし同じパスが同時にFastとSlowになることは考えられない.
そこでCommon Path(例えば2つのFFで共通するクロックバッファ)の遅延を解析対象から除去し,Setup SkewとHold Skewにおける悲観的計算を排除する.

What are the differences between OCV and POCV?
A: OCV と POCV の違いについて
Q: どちらもSTAでチップ内ばらつきを考慮するもの.OCV は データパス,クロックパスなどの遅延解析においてチップ内ばらつき相当の計数を掛けたもの.ばらつきモデルが不要という利点があるが精度が悪い.POCVは,AOCVとは違い,遅延が正規分布に従うと仮定しその μ と σ で自身のばらつきをモデル化する.AOCVより計算効率が高い.
POCVの前にAOCVがあり,AOCVはパスの距離と深さを考慮したモデル.精度は高いがモンテカルロによる統計ライブラリを作成するのが大変.

What are the setup and hold edges for the half-cycle path?
Q: half cycle pathにおけるセットアップホールドエッジはいくら?
A: (既出?)

What are the setup and hold edges for the positive latch to negative flop?
A: (パスします)

Tell me about setup and hold violation fixes which are occurred in the same path.
Q: あるパスにおいてSetup違反とHold違反を同時に解決するにはどうすればいいですか.
A: T_clockを遅らせるようにCTSを行う.

How will you apply to derate?
Q: 駆動力を下げるにはどうしますか.
A: トランジスタを小さくする.

Tell me about DPT.
Q: DPTについて語ってください.
A: DPT (Double Patterning Technology) は露光技術の1つで,2つのマスクを使って
より解像度の高いパターンを形成する技術.LELEとSADPの2種類がある.

Tell me about X-talk delta and X-talk noise.
Q: クロストークデルタおよびクロストークノイズについて語ってください.
A: 2つの隣接する配線は寄生容量で結合しており,片方の配線の充放電によってもう片方の配線の電圧が瞬時に変化し,それがノイズと見えるのがクロストークノイズ.また二つの配線が同時にスイッチすると信号の方向によってはミラー容量のように結合容量が拡大してみる.そのために信号遅延が変化する(遅くなる)のがクロストークデルタ遅延.

What are the different ways to fix setup and hold? Which one is difficult to fix setup? or hold?
Q: SetupとHoldを回避するための異なる手法は何ですか?どちらがFixが難しいですか.
A: Setup違反を回避するためにはパス遅延を小さくするかクロック周期を延ばす.Hold違反を回避するにはパス遅延を大きくする.難しいのはSetupで,パス遅延を小さくするにはパスを構成する回路を小さくするためにRTL設計に差し戻す必要も出てくる.Holdはバッファを入れれば回避できる.(電力と面積は増える)

Which violation you will fix first? Is it set up or hold?
Q: Setup違反とHold違反どちらを先に修正しますか.
A: Setup違反.理由はSetupの方が差し戻し先が遠いから.

Tell me about scan-chain reordering.
Q: Scan-chain Reorderingについて語ってください.
A: RTL段階で設計したスキャンチェイン中のDFFは,配置配線後にチップ中のどこに配置されるかわからず,スキャンの配線が遠くなる可能性がある.スキャンチェインのDFFの順番を入れ替えて配線長を最適化するのがScan-chain reordering.

What are the timing arcs for flipflop when we have scan-chain reordering?
Q: Scan-chain Reorder後のタイミングアークはどうなりますか.
A: スキャンの配線長が変わるため Timing Slack が変化する可能性がある.(答えになってない?)

How will you improve your insertion delay? 
Q: insertion delayをどう改善しますか.
A: Insertion delayとはマクロのクロックピンからDFFのクロック端子までの遅延の事.改善するためにはクロックバッファを大きくするか,Hツリーにしてクロックにおける寄生容量を減らす.

And some other timing-related scenarios w.r.t. setup and hold fixes.
Q: ほかに Setup や Hold を改善するタイミングに関するシナリオについては?
A: (わからない)

Explain sanity checks.
Q: Sanity Checkについて説明して.
A: Sanity check(健全性チェック)は,ソフトウエアやハードウエアの計算結果が正しいことを素早く評価するテストのこと.

What check_design will report?
Q: check_designコマンドは何をリポートするか.
A: 入力されたRTLの健全性を確認し,構文エラーや再帰呼び出しなどコンパイルできないものを報告する.

What is the issue, if inputs are floating?
Q: 入力がフロートの場合何が問題ですか.
A: ゲートの電圧が定まらず,PMOSからNMOSへ貫通電流が発生する.

Is there any issue in the case of outputs floating?
Q: 出力がフロートだと問題が起きますか.
A: 問題ありません.

What check_timing will report?
Q: check_timingコマンドは何をリポートするか.
A: SDCなどで定義されたタイミング属性などをチェックする

What check_library will report?
Q: check_libraryコマンドは何をリポートするか.
A: タイミングライブラリおよび物理ライブラリの整合性を確認する.

On what basis, macros will be keeping inside the design?
Q: マクロはどういう基準で設計内に配置されますか (訳に自信なし)
A: マクロにアクセスする回路とクロック配線に十分近いこと.その上で電源とのアクセスがしやすいこと.(回答になっているのか)

What is the use of keep-out margin around the macros?
Q: マクロ周辺のKeep-out merginをどのように使うか.
A: マクロ内の配線や拡散,特にDeep-NWからスタセルの距離を確保する.

Is it compulsory to keep out margin around macros?
Q: マクロの周辺にKeep-out merginを使うのは義務ですか.
A: DRC満たすなら不要では

Explain the order of keeping preplace cells?
Q: Preplace-cell を配置する順番は?
A: 電源関連のセル(TAP,Switch),次にEndcap.ほかにもある?

Tap cells information will be in which file?
Q: Tapセルの情報はどのファイルにありますか.
A: 普通は Physical Library (LEF,Milkyway,OA).ただリーク電力の情報は Timing Library に格納されている (.lib,.db).

On what basis, the distance between tap cells will be decided?
Q: TAPセルの間隔は何を基準に決めるのか
A: トランジスタのラッチアップルール

Format of keeping tap cells inside the core area.
Q: TAPセルをコアエリアに配置する形式は?
A: 質問の意図がわからない.普通は配置したら自動でdont_touch属性がつくはず.

How many std cells are being accommodated by each tap cell.
Q: タップセルあたりいくつのスタンダードセルを収容できる?
A: ラッチアップルールさえ守れば個数は問題ではないだろう.

What is the use of keeping tap cells in checkerboard format rather than keeping continuous?
Q: TAPセルを連続ではなくチェッカーボードで配置する理由は
A: TAPセルの数を半分にできる.(1つのTAPセルで2行担当できるので)

What is the purpose of endcap cells?
Q: ENDcapセルの目的は
A: セル単体では違反するDRC,特にマクロ周辺で現れる違反をEndcapを設ける事で回避できる.

Why can’t we keep endcaps on the top and bottom of macros?
Q: マクロの上部と下部でEndcapを保持できない理由は?
A: ICCでは配置できるのでそんな理由はない.

What is isolation cell, retentions cell?
Q: Isolation Cell,Retension Cellとは?
A: Isolation Cell は電源シャットダウンされた領域の信号が電源オンの領域に直接入らないようにマスクするセル.
Retention Cell は電源シャットダウンされたブロックで保持値が揮発しないようデータリテンションできるラッチを備えた特殊なDFF.ラッチはシャットダウンされるメインの電源とは別の電源で保持される.

What are the checks after the floorplan?
Q: フロアプラン後にチェックすべき項目は.
A: マクロのピン配置の妥当性とか,CellのUtilizationとか?(よくわからない)

How the tool will place std cells in the design.
Q: ツールはどうやってスタセルを配置しますか.
A: スタセル間の配線距離や信号の分岐数を最小にする目的関数で配置を行う(応えになってる?)

How to fix congestion?
Q: 混雑度をどう回避しますか?
A: 設計レベルで変えられるのはピン配置とマクロ配置ぐらい?Flynetを見て妥当性を検証する.

Prioritize timing DRCs, timing, DRC.
Q: timing と DRCとどちらを優先してFixする?
A: Hold違反 > DRC > Setup違反.Setup違反は最悪クロック落とせば動く.

What is the purpose of IO buffers?
Q: IOバッファの目的は.
A: ESDによるコアトランジスタの故障を防ぐ.チップ内外の長い配線を駆動するための巨大なトランジスタを持つ.ボンディング時の機械強度を保つ.(これはPADの仕事かもしれんが)

Among Max Trans, Max cap, Max fanout.....which one will be fixed first.
Q: 最大スリュー違反,最大容量違反,最大Fanout違反,どれを最初に直す?
A: 最大スリュー違反.なぜなら貫通電流に影響しさらにElectro Migrationに影響するため.最大容量違反と最大Fanout違反は直す必要あるのか正直疑問.

Difference between normal buffers and clock buffers.
Q: 普通のバッファとクロックバッファの違い.
A: クロックバッファは立ち上がりと立ち下がりが同じようにチューニングされている.パルスシュリンクを防ぐため.

Checks after placement.
Q: 配置後の確認事項.
A: Utilizatioinの確認ぐらい?

What are the contents of the clock spec file?
Q: Clock Spec ファイルには何が書かれている?
A: SDCの事?クロックの定義,リセットの定義,入出力遅延の定義,入出力ピンの駆動力の設定 

What is NDR?
Q: NDRとは.
A: Non-Default Ruleとは文字通り通常とは異なるルール.例えばクロックは通常の配線とは異なり配線幅を太く配線とのスペースを多く取るようなルール.

When we will enable NDR.
Q: いつNDRルールを利用しますか.
A: クロックや高速およびノイズに弱い信号の配線幅やスペース,シールディングを実施したいときに使う.

What are the inputs to PT?
Q: PTの入力は?
A: PrimeTimeの入力は,クロックの情報を持つSDC,回路ネットリスト(Verilog),回路の配線遅延情報(SDF),タイミングライブラリ(.db)

0 件のコメント:

コメントを投稿