Home New Help Edit

Lattice Diamond memo

Suns & Moon Laboratory
2011-09-04

Verilogメモ


プロジェクト生成

先にプロジェクトフォルダ(Project Name)を掘っておく
Project Locationを先ほど掘ったフォルダにする
最後にトップレベルモジュールを指定。(Project->Property Pagesで、)













トップレベルモジュール設定

Project -> Active Implementation -> Set Top-Level Unit
ver3.10.2.115

Process

Process ViewはRun(ビルド)したりするタブ


ピンアサイン


GUIでピンアサイン

1回コンパイル
Spreadsheet Viewの下にあるPin Assignmentsタブで割り付け。(全ピン表示)
Spreadsheet Viewの下にあるPort Assignmentsタブで割り付け。(使用ポートのみ表示)

Pin Layout Fileでピンアサイン

一回コンパイル。コンパイルしないとインポート出来ない
File->Import->Pin Layout File
File->Save All
再度コンパイル

Verilogでピン属性

コメント内のsynthesisでいろいろ指定可能

TN1202 MachXO2 SsysIO Usage Guide P19
/* synthesis name=value */
ピン配置例
output [11:0] CK; /* synthesis loc="11,12,13,14,16,17,20,21,23,25,27,28" */ // to HD107S CLK output DT; /* synthesis loc="5" */
I/O_TYPEは指定しても効果が無い(Diamond3.11.2.446)

I/O_TYPE

まとめて選択して右クリックで指定が簡単。
synthesisでのI/O_TYPE指定は効果が無い(Diamond3.11.2.446)




シミュレーション

Tools->Simulation Wizard
で、SDF付きのシミュレーション設定ファイルが作成出来る。
けれど、なぜかライブラリ設定がされていない。
Active-HDL起動したら、自分でライブラリ設定する。
Active-HDL

内蔵オシレータ

こんな感じでOSCHを定義する。指定できる周波数は決まっているので、表を見て決定する。
// TN1199J_rev2.5_MachXO2sysCLOCKPLLDesignandUsageGuideJapaneseLanguageVersion.pdf // Page 13-29 Table13-15.supported frequency // Page 13-30 Verilog defparam OSCH_inst.NOM_FREQ = "24.18"; OSCH OSCH_inst( .STDBY(1'b0), // 0=Enabled, 1=Disabled also Disabled with Bandgap=OFF .OSC(clk), .SEDSTDBY() // this signal is not required if not using SED );

IP Express

Tools -> IP Expressで起動
ツリーからモジュール選択して、ファイル名設定してCustomizeボタン押す。
ダイアログ表示されるので、パラメータ設定して、Generateボタンを押す。

IPXファイル

verilog使う場合は不要っぽい
第五章モジュール/IPO生成 2015年6月 5-1
module_IP_gen_rev3.3__1.pdf
.ipxファイルはツールが必要なパラメータ情報を全て含む、Diamond固有のテキストファイルです(ユー ザは編集しないこと)。ipxファイルを取りこむ利点は、パラメータの変更が容易な点があります。プロジェ クト進捗に伴い、或いはその他要因で変更する可能性がある場合は、.v/.vhdではなく、.ipxが良いでしょ う。.ipxの当該行をダブルクリックすると、指定済みのパラメータをロードした状態で再び図5-7のような パラメータ設定GUIが表示されます。他方、インスタンスする場合やソース記述をチェックしたい場合は .ipxは不都合ですので.vや.vhdを参照する必要があります(勿論、論理シミュレーションに.ipxを用いるこ とはできません)。

Error VCP6251

ActiveHDL9.1
以前作ったWorkSpaceコンパイルしたらエラー
# Error: VCP6251 Error in SLP repository: Incorrect SLP repository library version. Library: work must be recompiled. Use adel to clear your library and compile your sources again.
work libraryをDeleteしてからCompileAllしたら通った

書込み

ケーブルはVCC接続必要

ver2.0書込み

Diamond Programmerを使う。
Diamond統合だと書込み出来なかった。

ver1.3書込み

ispVM Systemを使う
設定ファイルはxcf
GOで書込み

ver3.10書き込み

Tools->Programmer(黄色い下矢印アイコンクリック)
Programmerの緑下矢印アイコンクリックで書き込み



Deviceのデバイス名が黄色い時は、デバイスを確認出来なかった時みたい。その時は黄色いデバイス名クリックすると、デバイス名確定して書込可能になる。

ver3.11書き込み

★★★★ケーブルはVCC接続必要★★★★
書き込みはJEDECファイルなので、JEDEC Fileを生成する。





★★★★Deviceのデバイス名が黄色い時★★★★
Deviceのデバイス名が黄色い時は、デバイスを確認出来なかった時みたい。その時は黄色いデバイス名クリックすると、デバイス名確定して書込可能になる。
接続した初回はなるっぽい。





書き込みアイコンを押して書き込み




書き込み終了


vo出力

Process -> Export Files -> Verilog Simulation File
をやると、*.voを出力する。

MCLKの設定

Diamond3.10.2.115

Tools -> Spreadsheet View -> Global Preferencesタブ
sysConfig -> MCCLK_FREQで設定する
CLK範囲は、データシートTN1204参照

FAQ

未使用ピン

デフォルトはpull-up
(1033) Do the unused I/O pins need to be grounded in a device?

レジスタ初期値

0に初期化
(204) What is the initial logic level of a register after power-up?

GSRをRTLで使用していなければ、コンフィグ後リセットしてくれる。
(353) What is the state of FPGA Flip Flop outputs at power-up? The reset pins of my design ...
What is the state of FPGA Flip Flop outputs at power-up? The reset pins of my design registers are tied to neither GSR nor LSR. Even if GSR/LSR are not used in RTL, GSR is always used during bitstream download to reset flip flops up to the point when download is complete. So the state of a register's Q output is 0 at powerup. This assumes that clock input to the register is at steady state logic low.

未コンフィグのピン初期値

pull down(GND)
(1528) What is the default configuration of the I/O pins in a blank MachXO2 device ?
What is the default configuration of the I/O pins in a blank MachXO2 device ? The default configuration of the I/Os in a blank MachXO2 device is tri-state with a weak pull-down to ground (GND). Please follow the link in the MachXO2 Data Sheet - DS1035 under section "Architecture", on page 2-23, you can find further details about the behavior of a typical I/O during power-up.

富士エレクトロニクスの回答 2.同じくコンフィグ終了後のピンの状態について (回答) XO2の場合は、ブランク時もCFM書き込み後も、コンフィグレーション後 デフォルトも全て弱いプルダウンが有効になったトライステートです。

インストール

Diamond2.0からWindows7の64bit版がリリースされている。
1.x系は、1.4.2が最終

リモートデスクトップで動かない

リモートデスクトップでは動作しないようです。(ver1.3)

ライセンスの更新

サポートセンター→Licensingから、「Request Diamond Free License」
https://www.latticesemi.com/ja-JP/Support/Licensing

Latticeにログイン

NICのMACアドレスを調べて入力

ライセンス要求ボタンを押す

すぐにライセンスがメールで送られてくる(メールの遅延はあるが)

古いLicense.datをメールで送られてきたLicence.datに置き換え

次に起動するときは、新しいライセンスを読みこんで起動してくれる

Home New Help Edit
2021-08-04 23:29:00 32400