2023-06-06から1日間の記事一覧
p.108 シンボルの処理 アセンブリプログラムはシンボルラベル(goto命令の行き先)が使用できます。シンボルラベルは、シンボル自体の定義される位置より前の位置であっても使用できます。この機能は、アセンブリコード作成者の作業を楽にしてくれる一方で、ア…
Chapter 5 バグはたくさん残っているであろうが一往動いているので現状で固めておく。nandのみというルールは途中でいい加減になったが、これで、CPUの創りかた (TD4)、動かしてわかるCPUの作り方10講、CPU1738と合わせて4種類作ったことになる。 Lチカで動…
Chapter 5 これでハードウェアは完成である。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity hack is port ( test_load_pc: out std_logic; -- 確認用に外に出す。 reset: in std_logic; clk: in std_logic; in_port: in st…
Chapter 5 全部組み合わせてCPUを作る。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity cpu is port ( clk: in std_logic; instruction: in std_logic_vector(15 downto 0); in_m: in std_logic_vector(15 downto 0); reset…
Chapter 5 テキストにはほとんど解説がない。ジャンプ命令についてはSimplify[]函数で簡単化した。BooleanMinimize[]函数を使ってもよい。ルールをゆるめてnand以外も使う。 Simplify[ inst_msb && ( (And[!j2, !j1, j0] && (!zr && !ng)) || (And[!j2, j1, …