MAX V & MAX 10

LPM_Counterのcnt_enとclk_enと

https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/catalogs/lpm.pdf cnt_en: カウントイネーブル入力。0だとカウント禁止。ただしsload、sset、sclrには影響しない。デフォルトは1。(訳註: sload、sset、sclrのsはsynchronous) cl…

ハミング重み / Quartus回路図エディター

パラメタライズを考慮しないのであれば1ビットずつにバラしていっきに加算するのが簡単。

信号名、インデックスをつけかえる

動かない原因はldlとldhとにあったか。 修正前: ldl命令をシンボルで書き換える - ldh命令をシンボルで書き換える - 修正後: バッファーを挟まなくてもこれでいけた。 ldl: ldh: これでldlとldhは動いた。

RAM: 1-PORTの使いかた

練習として8ビット×16本のRAMを作ってみる。16本なのでアドレスは4ビット幅である。 作りかたは、ROM: 1-PORTの使いかた -とほとんど同じである。 リセット直後に下の手順で動作を確認する。 write enableをLoにした状態で下の手順を実行し、データが空であ…

.mifファイルを生成するアセンブラのようなものを作る

def generate_mif(file_name, width, depth, rom): f = open(file_name, 'w') f.write("WIDTH=%d;\n" % width) f.write("DEPTH=%d;\n" % depth) f.write("ADDRESS_RADIX=UNS;\n") f.write("DATA_RADIX=BIN;\n") f.write("CONTENT BEGIN\n") format_of_code =…

ROM: 1-PORTの使いかた

参考: 動かしてわかる CPUの作り方10講, pp.256ff. 練習として8ビット×16本のROMを作ってみる。16本なのでアドレスは4ビット。 まずROMの初期化データ(.mif)を作る。mifはmemory initialization file。 8ビット×16本。 こういうテーブルが表示されるので、こ…

PLLの使いかた

MAX10実験キットで学ぶFPGA&コンピュータ (トライアルシリーズ), pp.129ff. ALTPLLをダブルクリックする。 ファイル名を指定する。VHDLしかわからないのでVHDLを選んだ。 入力周波数を指定する。 全部オフにする。 デフォルトのまま。 デフォルトのまま。 デ…

LPM_COMPAREの使いかた

LPMはthe library of parameterized modules /パリャマタライズ/ megafunctions/arithmetic/lpm_compareを試す。8ビット幅同士を比較してみる。

BUSMUXの使いかた

megafunctions/gates/busmuxを試す。 ここでは、2本(size)×4ビット(width)のうちどちらかだけを選択してみる。

LPM_MUXの使いかた

megafunctions/gates/lpm_muxを試す。 ここでは、4本(size)×4ビット(width)のうち1本だけを0b00~0b11 (0~3)のセレクト信号(widths)で選択してみる。

MAX Vの内蔵オシレーターを試す

megafunctionsの中にあるaltufm_oscを選ぶ。 適当に配線する。oscenaのenaはenable。ALTUFMはAltera User Flash Memory。4.7 MHzであった。 https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/max-v/mv51002.pdf Internal Oscil…

VHDLで基本ゲートを作る

動かしてわかる CPUの作り方10講, pp.376ff. ファイルを作るときに[Block Diagram/Schematic File]ではなく[VHDL FIle]を選ぶのを除けば、書き込みまでの全体の手順は回路図エディタのときと同じであった。 -- ダブルハイフンでコメントアウト -- #include <stdio.h></stdio.h>…

CPU部の回路図を入力する

[Assignments]、[Device...]の順に選択して[Device]ウィンドウを開く。その中の[Device and Pin Options...]をクリックして[Device and Pin Options - プロジェクト名]ウィンドウを開く。その中の[Unused Pins]を選択し、[Reserve all unused pins:]を[As in…

とにかく74ロジックICの何かで何かをしてみる

参考: トランジスタ技術 2019年 12 月号, pp.66ff. ナビゲーション画面の[New Project Wizard]ボタンをクリックするか[File]→[New Project Wizard...]の順にクリックするかする。 適当にプロジェクトを作る。 デバイスを指定する。右上のペインで対象を絞り…