- more decoding of cop_signals.
New cop_read is now implemented into instruction decoder Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@399 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -157,7 +157,7 @@ package body mips_instr is
|
|||||||
rt := to_integer(extract_rt(instr));
|
rt := to_integer(extract_rt(instr));
|
||||||
rs := to_integer(extract_rs(instr));
|
rs := to_integer(extract_rs(instr));
|
||||||
|
|
||||||
result := op_sll;
|
result := reserved;
|
||||||
|
|
||||||
case opc is
|
case opc is
|
||||||
|
|
||||||
@@ -485,6 +485,7 @@ package body mips_instr is
|
|||||||
variable result : ctrl_lines_t;
|
variable result : ctrl_lines_t;
|
||||||
begin
|
begin
|
||||||
result.cop_instr_en := '0';
|
result.cop_instr_en := '0';
|
||||||
|
result.cop_read := '0';
|
||||||
result.jump := '0';
|
result.jump := '0';
|
||||||
result.jump_long := '0';
|
result.jump_long := '0';
|
||||||
result.branch := '0';
|
result.branch := '0';
|
||||||
@@ -794,6 +795,18 @@ package body mips_instr is
|
|||||||
-- when COPz =>
|
-- when COPz =>
|
||||||
when 16 | 17 | 18 | 19 =>
|
when 16 | 17 | 18 | 19 =>
|
||||||
result.cop_instr_en := '1';
|
result.cop_instr_en := '1';
|
||||||
|
case rs is
|
||||||
|
when 0 => -- MFCz
|
||||||
|
result.cop_read := '1';
|
||||||
|
result.reg_write := '1';
|
||||||
|
when 2 => -- CFCz
|
||||||
|
result.cop_read := '1';
|
||||||
|
result.reg_write := '1';
|
||||||
|
|
||||||
|
when others => null; -- undef
|
||||||
|
|
||||||
|
end case;
|
||||||
|
|
||||||
|
|
||||||
-- when op_addi =>
|
-- when op_addi =>
|
||||||
when 8 =>
|
when 8 =>
|
||||||
|
|||||||
Reference in New Issue
Block a user