diff options
| author | crupest <crupest@outlook.com> | 2021-12-27 20:06:19 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2021-12-27 20:06:19 +0800 | 
| commit | fa8c35b6a10a971ebb7f51f9c0e2118d527e791c (patch) | |
| tree | a9ebe06d44b2340079f4e9bcf300e53952fec9a8 | |
| parent | d122ab74ce2e7c3bf1e126e8b08d6b36d1cf0a83 (diff) | |
| download | crupest-fa8c35b6a10a971ebb7f51f9c0e2118d527e791c.tar.gz crupest-fa8c35b6a10a971ebb7f51f9c0e2118d527e791c.tar.bz2 crupest-fa8c35b6a10a971ebb7f51f9c0e2118d527e791c.zip  | |
import(life): ...
| -rw-r--r-- | works/life/computer-organization-experiment/cpu.vhdl | 25 | ||||
| -rw-r--r-- | works/life/computer-organization-experiment/out2.ghw | bin | 0 -> 2244608 bytes | 
2 files changed, 24 insertions, 1 deletions
diff --git a/works/life/computer-organization-experiment/cpu.vhdl b/works/life/computer-organization-experiment/cpu.vhdl index 5a7c558..7ca6d9e 100644 --- a/works/life/computer-organization-experiment/cpu.vhdl +++ b/works/life/computer-organization-experiment/cpu.vhdl @@ -112,7 +112,7 @@ begin           else A xor B when ALUC(2 downto 0) ?= B"110"           else std_logic_vector(signed(A) sll 16) and X"FFFF0000" when ALUC(2 downto 0) ?= B"110"           else std_logic_vector(signed(A) sll to_integer(unsigned(B))) when ALUC ?= B"0011" -         else std_logic_vector(signed(A) srl to_integer(unsigned(B))) when ALUC ?= B"0111" +         else std_logic_vector(signed(A) srl to_integer(unsigned(B))) when ALUC ?= B"1011"           else std_logic_vector(signed(A) sra to_integer(unsigned(B))) when ALUC ?= B"1111";      Z <= S ?= X"00000000" after 10 ps;  end architecture; @@ -136,6 +136,7 @@ end entity;  architecture Behavioral of ram is      type memory_type is array (0 to 16#30#) of word;      signal memory: memory_type := ( +/*                  X"3c010000",                  X"34240080",                  X"20050004", @@ -172,6 +173,28 @@ architecture Behavioral of ram is                  X"00000027",                  X"00000079",                  X"00000115", +*/ +                X"3C010000", +                X"3421004C", +                X"8C240000", +                X"20210004", +                X"8C250000", +                X"20210004", +                X"0C000009", +                X"AC230000", +                X"08000008", +                X"20020010", +                X"00001820", +                X"30A60001", +                X"10060001", +                X"00641820", +                X"00042040", +                X"00052842", +                X"2042FFFF", +                X"1440FFF9", +                X"03e00008", +                X"0000C9AE", +                X"0000F6E5",                  others => (others => '0')          );  begin diff --git a/works/life/computer-organization-experiment/out2.ghw b/works/life/computer-organization-experiment/out2.ghw Binary files differnew file mode 100644 index 0000000..8a5e9f8 --- /dev/null +++ b/works/life/computer-organization-experiment/out2.ghw  | 
