まず、原稿は原則として半角英数文字と記号で書きます。1行毎に独立していて、その構造によって、信号を記述する行、パラメータを設定する行などがあります。
「@」で始まる行はパラメータを設定する行で、1単位時間を清書した図の上でどれだけの幅にするか、行間をいくらにするかなどを規定します。
空白文字(タブ・スペースなど)で区切られる行は、前半を信号の名前とし、後半をその信号の時間変化として解釈して、上記の記号が出てきた順番に、時間を追ってレベルを規定していきます。
例:
Clock _~_~_~_~_~_~
文法と以下の実例を見て頂ければ、簡単に図が書けるようになると思われます。実例は文法を読んだことを前提にしている記述もありますが、まずは図とその原稿の対応をご覧ください。
以下の実例では、キーとなるポイントや実際に作図したときの様子なども記載しておきましたので参考にしてください。
出展(修正あり):トランジスタ技術誌2002年9月号 140ページ 図1-2
ポイント:
# From Transistor Gijutsu 2002/9 P140 Fig 1-2 @slant 0 Clk _~_~_~_~_~_~_~_~_~_~_~_~_~_~_~ Sync _~~__________~~__________~~___ G_Out =X5=X0=X1=X2=X3=X4=X5=X0=X1=X2=X3=X4=X5=X0=X G_LD _~~__________~~__________~~___ --- : NG_D_FF ___~~__________~~__________~~_ NG_LD _~~~~________~~~~________~~~~_ NG_Out =X4=X0=X0=X1=X2=X3=X4=X0=X0=X1=X2=X3=X4=X0=X
$B869F%U%!%$%k(B
(tragi_1_1.tc, 269 bytes, modified 2003/08/17)
Clk _~_~_~_~_~_~_~_~_~_~_~_~_~_~_~ Sync _~~__________~~__________~~___ G_Out =X=X=X=X=X=X=X=X=X=X=X=X=X=X=X G_LD _~~__________~~__________~~___ NG_D_FF ___~~__________~~__________~~_ NG_LD _~~~~________~~~~________~~~~_ NG_Out =X=X=X=X=X=X=X=X=X=X=X=X=X=X=X
出展(修正あり):トランジスタ技術誌2002年9月号 209ページ 図12
ポイント:
# From Transistor Gijutsu 2002/9 P209 Fig12 @slant 0 @step 3 EFM ~~|____|~~~~|________|~~~~|____ MainB ~~______~~___________~____ SideB ~~_____~~~__________~~____作図の手順(調整も含めて5分未満):
出展(修正あり):MAXIM社 308ksps ADC MAX121 データシート Figure 8
ポイント:
# MAXIM MAX121 ADC Datasheet Figure 8 (Mode 2) @slant 0.4 @step 8 CS ~~|__________::___________________~~~~ CLKIN ===__|~~__~1~_::_~13~__|~14~__~15~__~16~__~17~__== #CLKIN ===__~~__~~_::_~~__~~__~~__~~__~~__== SFRM ---~~~~~~~__::__________________~~--- FSTRT ---___~~~~__::_____________________-- SCLK ---~__~~__~1~_::_~13~__~14~__~15~__~16~__~17~--- #SCLK ---~__~~__~~_::_~~__~~__~~__~~__~~--- #SDATA ---_______===::=X===X===__________--- SDATA ---_______=MSB==::="_>_D2 "X=D1==X=LSB==__________--- T/H ___~~~~~~~~~~::~~~~__________________作図の手順(調整も含めて5〜10分くらい):
# MAX121 control circuits timing (major) @step 6 Start ___~==============================================================______ Major ==15==X=0==X=1==X=2==X=3==X=4==X=5==X=6==X=7==X=8==X=9==X=10==X=11==X=12==X=13==X=14==X=15====== ConvST ~~~~__~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CLKIN ______~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~____ SCLK _______~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~__~~___ SDATA _______Dummy____==13==X=12==X=11==X=10==X=9==X=8==X=7==X=6==X=5==X=4==X=3==X=2==X=1==X=0==_____ Sample :::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::|O::::$B869F%U%!%$%k(B
# MAX121 control circuits timing (minor) @step 6 Clock66M ~_~_~_~_|~_~_~_~_~_~_~_~_~_~_~_~_|~_~_~_~_~_~_~_~_~_~_~_~_|~_~_~_~_~_~_~_~_~_~_~_ #CLKIN ______~~~~~~~~~~~~____________~~~~~~~~~~~~____________~~~~~~~~~~~~______ Start ______~~====================================================================== Minor =B=======X0=X1=X2=X3=X4=X5=X6=X7=X8=X9=XA=XB=X0=X1=X2=X3=X4=X5=X6=X7=X8=X9=XA=XB=X0=X1=X2=X3=X4=X5=X6=X7=X8=X9=XA= Major =15=======X===========0============X===========1============X===========2========== ConvST ~~~~~~~~~0~_1__________6_~7~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ConvST - CLKIN MIN50ns CLKIN _________________4_~5~~~~~~~~~~A~_B___________~~~~~~~~~~~~____________~~~~~~~~~~~~ # CLKIN - SCLK MAX80ns SCLK ____________________________~~~~~~0~~~~~~____________~~~~~~1~~~~~~____________~~ SDATA __________________________Dummy__________________________============MSB============X= SAMPLE ________________~4~O______________________~4~O______________________~4~O____________作図の手順:
(※)回路はALTERA社のFLEX6Kシリーズ上で実装していて、設計はMAX+plus Baselineを使用しています。これには「DFFE」という便利なプリミティブがあって、愛用しています。Enable付きのDFFなのですが、クロックにはメインのクロックを常に入力し、Enableには信号の遷移条件、CONVSTでいえば Major=0 and (Minor=0 or 6)を入れ、Dには信号の立ち上げ条件(Major=0 and Minor=6)を入れます。こうすると割とすっきりと書けます。