AIGER ASCII Format

介紹

AIGER(Document)是一種簡單的電路圖格式,包括了AND閘、反閘和正反器。

格式

一個AIGER檔案包括

  • Header (必要)
  • Inputs
  • Latches
  • Outputs
  • ANDs
  • Symbols
  • Comments

Variable/Literal

每個input, latchAND gate 都會被指派一個 variable ID

variable ID

  • Between [1, M]
  • ID 0 => constant false
  • 可以跳號

literal ID

  • 2v            <= variable v 的正常型態
  • 2v + 1      <= variable v 的反轉型態
  • example: 3(literal ID)  <= 1(variable ID)的反轉型態

Header

Syntax:aag M I L O A

  • M = maximal variable index
  • I = number of inputs
  • L = number of latches
  • O = number of outputs
  • A = number of AND gates

如果沒有跳號的話 M = I + L + A,注意沒有O喔,所以Output基本上會從 M + 1 開始編號。

Inputs

Syntax:<input literalID>

Latches

Syntax:<currState literalID> <nextState literalID>

Outputs

Syntax:<SRC literalID>

And gates

Syntax:<And literalID> <SRC0 literalID> <SRC1 literalID>
example:12 7 15

And literalID只能是偶數(因為是輸出嘛,本來就只有輸入SRC有可能會有反轉)

Symbols

Syntax:[ilo]<position> <symbolicName>
example:i0 reset o1 done

sybolicName可以是任何除了”\n”的可列印字符,包括空白

Comments

Syntax:c(newline)[anything...]

Example

aag 0 0 0 1 0          // header
    0                  // output0

這會是一個constant false

aag 0 0 0 1 0          // header
    1                  // output0

而這是constant true

Leave a Reply

Your email address will not be published. Required fields are marked *