1.請問要用spare cells來implement的logic function,
只有NOT, AND, NAND, OR, NOR, HA, FA, AOI, OAI而已嗎?
會不會有複雜的邏輯運算式要implement,
如:A=(B+c)*D等等,要用到一個以上的spare cell才能
implement的logic function?
ans: Yes, 那是有可能的, 用一個以上的spare cell才能 implementaiton.
還是所有要implement的logic function都只要用到一個
spare cell(像範例中的AND2 function)就可以implement?
又,如果只需要1個spare cell,那用兩個以上來implement
是合法的嗎?(例如:AOI22用2個NAND和一個AND來implement)
ans: Yes, 合法.
又,如果會有複雜的logic function需要被implement,
會不會發生因為spare cell個數過少,無法implement的情形,
還是spare cell的個數一定足夠?
ans: 數目一定足夠
2.如果像範例一樣,cell U3完全被spare cell ECO_SPARE_001取代,
然後U3被delete掉,那麼U3可不可以視為另一個spare cell拿來用呢?
ans: 先不用考慮這種情形, 所以U3不可以被視為另一個spare cell
3.因為input看起來非常複雜,而Cadence的完整format又包含一些
這題不會用到的東西,如果可以的話,可不可以盡快把測試檔公佈,
這樣我們比較知道會有哪些必要的資訊,然後有哪些redundent的資訊,
比較好作把input file讀進程式的動作,謝謝!
ans: 我們會努力的. 不過重要的資訊, 就在 Example DEF中,
4.
如果發現在spare cell中,
有某個spare cell所implement的function,
和某個已存在netlist中之net所使用的cell相同,
而且如果把那個net中之cell用此spare cell取代,
total cost會變小,那可以把原本的cell delete掉,
然後用spare cell取代嗎?
ans: 不行 !
原則上不能去動不應該被動到的電路
5. (1) 如果說有可能出現用一個以上的spare cell才能 implementaiton的情況,那麼請
問想要implementaiton的邏輯運算式( 如:A=(B+c)*D )是定義在何處呢?因
為 'requre change list' 裡面好像只有cell name,例如AOI22
(2) 請問cell可以連接VDD or GND嗎?(例如在AND3的I3連接VDD來implementaiton
AND2的功能)
ans:
(1) 會定義在 Technology library 中
(2) Yes, 而且該VCC or GND net的cost可以假設為0, 因為VCC/GND net到處都有, cell可以就近
連接.
6.
1. 若.ECO中要implement兩個cell
A、B,而A、B各有一個pin繞過同一個net(該net存在於初始的.DEF),這種情形會發生嗎?
2. .ECO中會產生新的net嗎?(該net不存在於原來的.DEF)
3. 複雜gate的logical function一定會寫明在.lib檔中嗎?
ans:
(1) 會
(2) 有可能
(3) 所有gate的logical function, 都會寫明在 .lib檔中
7.
1. 因為上次的問題回答中,
說明spare cells 要implement的東西有可能是
複雜的logic function,
但是說明檔中的範例程式,
在此處的格式為:
AND2 ECO1(.I1(net1), .I2(net2), .O(net3) );
那請問是否可以依此猜測logic function的格式為:
(a+b)*c FUNC1(.I1(net1), .I2(net2), .I3(net3), .O(net4) );
然後 .I1(net1), .I2(net2), .I3(net3) 依序為a、b、c,
還是有其他的輸入格式?
2. 可否詳細說明一下spare cell提供的block的格式,
ex: AND2表示2個input的and,那是不是HA8表示8個bit的adder?
另外,對於AOI和OAI,因為我們以前沒有學過,
可不可以把它們用and、or的logic function 表示出來?
又,問題說明中提到AOI22,數字22代表什麼意思?
和它所implement的logic function有關嗎?
ans:
(1) AND2 的 function需要由 Technology library來定義. 而不是由
它的名字,例如: AND, OR, HA ....
以 AND2 ECO1(.I1(net1), .I2(net2), .O(net3) ) 為例子,
在Technology library會有一個cell的名字為AND2, 它至少會有三根腳的定義,
分別為I1,I2及O, 及它的logical function的定義.
(2) cell 的 function需要由 Technology library來定義. 而不是由
它的名字,例如: AN, OR, HA ....
但是, 我們在命名這些cell時, 還是會有一些命名的慣例, 但是這只是
慣例,不是規則.所有的logical function,是由technology library
來定義的. 所以的combintational logical function 都可以nand,或
nor來組合.
8.
1.DEF檔有用的資訊是否只有 COMPONETS PINS NETS 。還是其他部分也要用??
2.會不會出現Flip-Flop,或者會使用到clock訊號的gate,clock連接的cost是否要計算?
ans:
1. 只有這三個infomration有用, 但是test case 的 DEF 會有其它的DFT construct存在, 你的
parser不能因此而當掉.
2. 不用擔心是否出現 Flip-Flop, 因為Flip-Flop的function description會被我設定成 UNKOWN,
這種情況, 你只能用naming去matching spare cell, 而不能用boolean equation.
Clock cost 還是要考慮.
9.
(1): 題目中提到 Spare Cell 有基本和複雜兩種,那基本的Spare cell 中的AND NAND NOR OR 都是2-input
GATE 嗎?Spare cell 會出現 3-input , 4-input AND(or NAND NOR OR))?
(2): Technique file 中所定義的邏輯閘全部是2-input AND(or NAND NOR OR) 還是會有 3-input ,
4-input even n-input AND((or NAND NOR OR)) 呢 ?
ans:
(1) 所有的cell function都是由libray technology來定義, 而不是由cell name來定義.
For example, NR2是2-input nor gate 嗎 ? 這是要由library technology 來定義的.
(2) technology file會定義這個cell會有幾根input, output, 由每個output都有
一個boolean equation 來定義它的function.
10.
1. spare cell產生的logic cell是否一定會有multiple outputs?例
如Full Adder之類的?
2.logic expression是否會有2bit以上的operation?例如shift?
ans:
1. 有可能.
2. 不會, 所有的logic expression都是single-bit.
11. 請問Technology library中,
logic function的variable個數,
會不會超過5個呢?
如果方便的話,
可以給一個logic function的variable個數上限嗎?
ans: 理論上, 這個variable是沒有上限的.
12.
1. DEF檔的內容會有多複雜呢,是跟examele給的差不多
還是所有的描述 例如FILLS, GCELLGRID...都有可能出現??
這會影響到我們要寫的parser的複雜度
而且writer是要reconstruct出一個新的DEF,所以我們有必要知道.
2.NET中是否會有SUBNET?有可能會用到嗎?
3. 何時會公佈測試檔呢?
ans:
1. 應該是跟Example差不多.
parser你們可以參考現成的def parser, 應該可以
不用自己寫. Please refer www.openeda.org
2. 不會
3. 3月底
13. 第5題的說明中,
題到technology library的logic function格式為:
+ for OR, space for AND, ^ for XOR, ' for NOT, and () for grouping
請問一下,那所有的AND是否都至少有一個space?
ex:A*(B+C)會表示成
A (B+C)還是
A(B+C)
然後可不可以說明一下所有運算子的運算優先順序?
(尤其是XOR和NOT對其他運算子的次序)
謝謝您的解答!
ans:
會表示成 A (B+C),會至少有一個space.
NOT 運算子的次序最高
XOR 運算子的次序同 OR, 但比AND低
所以次序為:
1. NOT >> 2. AND >> 3. (XOR == OR)
14. 請問下面的兩種net連接方式是否合法?
1. 將眾多的output接到同一個input
ex:implement E=A+B+C+D時,
把A,B同時接到一個OR gate 的input,把C,D同時接到此OR gate的另一個input,
再把OR gate的output接到E,甚至是直接將A,B,C,D同時接到E,省略spare cell的使用
,請問這是合法的嗎?
2. 將一個output接到眾多的input
ex:Changed List中,出現
C=A^B,以及D=A^B,
請問可以把A^B的output直接接到C,D,以同時完成
兩個Changed List嗎?
ans:
1. 不合法
2. 這是合法的.
15.
1.technology library裡面給的 logic function 是最簡化的嗎??
需要我們在重新作布林化簡嗎??
EX: F = X'Y'Z' + X'Y'Z + XY'Z' + XY'Z + XYZ' ----> F = Y' + XZ'
2.用來描述 logic function 的 operators 只有 and , or ,xor , not ,以及 括號嗎
還是會有這些的組合
EX: NOR : '+ or +'
XNOR : '^ or ^'
ans:
1.不保證是最簡化,但是應該是經過若干程度的簡化,你們可以不用再簡化.
而且最簡化的表示式可能不只一種.
2. 是的, 會有這些 and, or, xor, 及 括號的組合
16.
在公佈的testcase1裡,有很多cell名稱不同但boolean
expression相同的cell。請問我們就把它當
作一樣的cell?還是在match ECO的時候一定要名字一樣才可以?
ans: 當成一樣的cell, 除了那些function boolean為 UNKNOW者, 才能用 naming matching.
17.
在example中...並沒有把預先埋好的spare cell(dummy cell)放到def檔中,並且也沒有
那些dummy net
另外這些dummy cell彼此之間都有連線了,是代表在implement的時候必須考慮這些
dummy net嗎
還有..最後算完的COST要包含沒有用到的這些dummy net嗎
還有...test中lib檔案少了一個PAR8E的CELL宣告
以及在dummy0~9中u12都一定會對應到兩個technology library(DFFRSBN & ND2F)...是
有什麼特殊的涵義嗎
ans: 是我們的疏忽,請再重新down load test case (3/29版)
18.
請問測試檔中所包含的library與上傳後測試時所使用library是否相同?
(或是說會視不同情況,會使用不同的library檔案?)
ans: 為了簡化問題, 這個測試檔所用的library,將會用於所有的例子
19.
1. testcase1 ECO6 的XOR2沒有在lib檔定義
2. 問題18提到每一題的technology library都會一樣,這代表我們就不需要寫它的parser了嗎?
ans:
1. 這是我們的疏忽, 應該是 XNR2, 不是 XNOR2. 請再重新download 題目, 或請你們自行修改.
如果, 依據原來的test case, 這個ECO是無法達成的. program應該馬上停止.
2. 這個整個CAD contest problem 5 只會用到這個 technology library, 不會有第二個
technology library. 你的 technology library parser一定要能 pass 這個technology
library.
20.
根據你們第19個問題的回答
先利用現在給的lib的parse的結果
先把需要的logic tree建立好
就可以讓程式正常的運作
那我們就不用做parse的動作
會讓程式更快
這樣的方式你們會接受嗎?
或者你們有什麼方法可以檢查我們是否有做這種動作?
ans: 不能接受.
21.
1. Test case中,changed list中有一個BUF4需要implement,
但是spare cell的檔案中,並沒有BUF的cell,請問這是不是
要使用其他gate來達成這個功能呢?
(ex:使用AND2,加上一個pin為VCC)
還是這樣不符合BUFFER功能上的需求,
所以是不可行的呢?
2. 對於Result Report的file中,.def的檔案中,
各個元件的相對位置都要跟input file一樣嗎?
ex:input NETS list中,順序為
net1 -> net2 -> net3
output就是這樣的順序嗎?
還是output可以使用
net3-> net2 ->net1,
作為輸出順序呢?
ans:
1. 是可以行的. 然而,這次cad競賽的問題, 我們只考慮 ECO之後
function是否正確,而沒有考慮timing的問題.所以,在實際應用中,
ECO之後的function和timing都是要一起考慮的.
2. DEF的語法並沒有這樣的限制. 所以次序不是問題.
22.
請問在LIB檔中下面三個GATE,OUTPUT運算式中的" * ",
請問這個OPERATOR的定義為何?因為我們在題目中並沒有找到...謝謝
CELL MAO222S
OUTPUT O = (A1*B1) + (A1*C1) + (B1*C1) ;
INPUT A1 ;
INPUT B1 ;
INPUT C1 ;
ENDCELL MAO222S
CELL MAO222
OUTPUT O = (A1*B1) + (A1*C1) + (B1*C1) ;
INPUT A1 ;
INPUT B1 ;
INPUT C1 ;
ENDCELL MAO222
CELL MAO222P
OUTPUT O = (A1*B1) + (A1*C1) + (B1*C1) ;
INPUT A1 ;
INPUT B1 ;
INPUT C1 ;
ENDCELL MAO222P
ans: 那個也是 AND, 請自行修改成空白.
23.
這是cad_contents.lib 的定義
第二行是否有問題勒 ? EB' 後面是否該加個空白符號呢?
OUTPUT O = EB' ((A S0' S1')+(B S0 S1')+(C S0' S1)+(D S0 S1)) ;
因為依照你們的定義 ' is means that NOT function
How could EB and other signal connect ?
PS: this is abstract form can_contents.lib by search the word " MUXB4"
CELL MUXB4
OUTPUT O = EB'((A S0' S1')+(B S0 S1')+(C S0' S1)+(D S0 S1)) ;
INPUT S0 ;
INPUT S1 ;
INPUT A ;
INPUT B ;
INPUT C ;
INPUT D ;
INPUT EB ;
ENDCELL MUXB4
ans: 應該可以不用,因為有用()分開.但是加上空白也沒錯.
24.
cad_contest.lib有三個cell有undefined input:
CELL DFTRBN
OUTPUT Q = UNKNOWN ;
OUTPUT QZ = IQ ;
INPUT D ;
INPUT CK ;
INPUT RB ;
INPUT E ;
ENDCELL DFTRBN
CELL RAM2
OUTPUT QB = UNKNOWN ;
OUTPUT QBZ = IQN ;
INPUT D ;
INPUT W ;
INPUT RD ;
ENDCELL RAM2
CELL DFZTRBH
OUTPUT Q = UNKNOWN ;
OUTPUT QZ = IQ ;
INPUT D ;
INPUT TD ;
INPUT CK ;
INPUT SEL ;
INPUT RB ;
INPUT E ;
ENDCELL DFZTRBH
ans:
應該是 6個cell 有問題 DFTRBN, DFZTRBN, DFTRBH, DFZTRBH, RAM2, RAM3
只有 test case 3 的ECO, 有用到 DFZTRBN. 那些 undefined input pin 相對應的
output pin 的 function都是 unknow.
我們會再更新所有的 tese case (after 4/21). 謝謝.
25.
Question 1:
若是要尋找一個Buf4 可以用DELA or DELB 等邏輯閘嗎?
根據LIB 定義 可以將兩者視為相同函數嗎
CELL DELA
OUTPUT O = I ;
INPUT I ;
ENDCELL DELA
Question 2 :
若是要尋找一個Buf4 可以用DELCCK or DELBCK 等邏輯閘嗎?
根據LIB 定義 可以將兩者視為相同函數嗎
CELL DELCCK
OUTPUT O = I ;
INPUT I ;
ENDCELL DELCCK
Question 3:
若是要尋找 DFZRBH
可以將 DFZRBH 與 DBZRBH 視為相同的CELL ?
因為根據lib 的定義pin name are both the same ...
CELL DFZRBH
OUTPUT Q = UNKNOWN ;
OUTPUT QB = UNKNOWN ;
INPUT D ;
INPUT TD ;
INPUT CK ;
INPUT SEL ;
INPUT RB ;
ENDCELL DFZRBH
CELL DBZRBH
OUTPUT Q = UNKNOWN ;
OUTPUT QB = UNKNOWN ;
INPUT D ;
INPUT TD ;
INPUT CKB ;
INPUT SEL ;
INPUT RB ;
ENDCELL DBZRBH
另外 題目的等價函數判定的標準是什麼呀
假如 Question 3成立 則顯示只要PIN腳名字相同即視為相同函數
可以請主辦單位詳述這部分的標準嗎
因為這會影響到我們尋找等價Spare cell 的結果
ans:
1. 可以, 只要function 相同即可
2. 可以, 只要function 相同即可
3. 如果沒有 function, 則是要cell name相同才可以用. 即是要求eco
DBZRBH , 也要在 spare cell list 中找 一樣是 DBZRBH的cell.
26.
請問一個有關metal有幾層的問題 :
i_reset and co_data 這兩條線路分別被定義在不同的layer 中 (metal1 and metal 2 )
Question1: 這是表示題目會有兩層metal 嗎
Question2: 題目最多可以有幾層mteal 呢
Question3: i_reset in located in metal1 ( -160 0 ) ( 160 1020 )
所以metal 2 ( -160 0 ) ( 160 1020 )也可通過其他的線路嗎?
Bellow inforation is extracted by cad_contents.lib
PINS 483 ;
- i_reset + NET i_reset + DIRECTION INPUT + USE SIGNAL
+ LAYER metal1 ( -160 0 ) ( 160 1020 ) + PLACED ( 0 348400 ) E ;
- co_data[15] + NET co_data[15] + DIRECTION OUTPUT + USE SIGNAL
+ LAYER metal2 ( -200 0 ) ( 200 1060 ) + PLACED ( 489770 0 ) N ;
ans: 這個問題無關metal或routing問題. 通通都可以過.
27.
當ECO的function為O=I時(即buffer)
我們是必須要找一個function也是O=I的cell
還是可以直接把O跟I接在一起就可以了?
ans: 不行, 至少要找一個cell.
28.
In test_case_3.eco file, we found a line below,
BUFB3 ECO_4(.O(n_185), .I(n_48044842), .EB(n_41233181)) ;
And the library function description of this cell is
CELL BUFB3
OUTPUT O = I ;
INPUT I ;
INPUT EB ;
ENDCELL BUFB3
But in the spare cell file we cannot find BUFB3-like cells. There are BUF1 cells
only.
In this case we don't know how to implement this BUFB3 because that all spare
cells
of BUF do not have EB pin.
Another problem is that there's a particular cell description in library,
CELL BHD1
OUTPUT H = I1 ^ I2 ^ I3 ^ I4 ;
ENDCELL BHD1
There is no input pins information, but the output is a function of inputs.
ans:
這兩問題個都是我們的疏忽. 請重新download test case 2及 test case 3
的資料.
第一個問題中的 BUFTB3, 實際是一個具有tri-state out的cell, EB是它的控制
腳, 這無法在簡單的 logic Function 表示. 第二個cell BHD 則是一個 bus holder
, 它只有輸出,沒有輸入. 所以他也沒有logic function. 我們的程式誤判了.
29. [通告]
主辦單位已經將郵寄報告以及FTP上傳作品的方式公布於參賽手冊(April 22, 2004版本), 敬請盡速至競賽網頁下載. 另外,
FTP站也已開放上傳作品, 也請盡速確認能否成功登入.
若有任何疑問, 請來信 cad@cs.nthu.edu.tw
謝謝