URL
https://opencores.org/ocsvn/rtf65002/rtf65002/trunk
[/] [rtf65002/] [trunk/] [rtl/] [verilog/] [load_mac.v] - Diff between revs 36 and 38
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 36 |
Rev 38 |
Line 1... |
Line 1... |
// ============================================================================
|
// ============================================================================
|
// __
|
// __
|
// \\__/ o\ (C) 2013 Robert Finch, Stratford
|
// \\__/ o\ (C) 2013, 2014 Robert Finch, Stratford
|
// \ __ / All rights reserved.
|
// \ __ / All rights reserved.
|
// \/_// robfinch<remove>@opencores.org
|
// \/_// robfinch<remove>@opencores.org
|
// ||
|
// ||
|
//
|
//
|
// This source file is free software: you can redistribute it and/or modify
|
// This source file is free software: you can redistribute it and/or modify
|
Line 89... |
Line 89... |
else begin
|
else begin
|
load_what <= `WORD_310;
|
load_what <= `WORD_310;
|
state <= LOAD_MAC1;
|
state <= LOAD_MAC1;
|
end
|
end
|
isIY <= 1'b0;
|
isIY <= 1'b0;
|
|
isIY24 <= `FALSE;
|
end
|
end
|
`ifdef SUPPORT_EM8
|
`ifdef SUPPORT_EM8
|
BYTE_IX5:
|
BYTE_IX5:
|
begin
|
begin
|
|
isI24 <= `FALSE;
|
radr <= ia[31:2];
|
radr <= ia[31:2];
|
radr2LSB <= ia[1:0];
|
radr2LSB <= ia[1:0];
|
load_what <= `BYTE_70;
|
load_what <= m16 ? `HALF_70 : `BYTE_70;
|
state <= LOAD_MAC1;
|
state <= LOAD_MAC1;
|
if (ir[7:0]==`STA_IX || ir[7:0]==`STA_I) begin
|
if (ir[7:0]==`STA_IX || ir[7:0]==`STA_I || ir[7:0]==`STA_IL) begin
|
wadr <= ia[31:2];
|
wadr <= ia[31:2];
|
wadr2LSB <= ia[1:0];
|
wadr2LSB <= ia[1:0];
|
store_what <= `STW_ACC8;
|
store_what <= m16 ? `STW_ACC70 : `STW_ACC8;
|
state <= STORE1;
|
state <= STORE1;
|
end
|
end
|
|
`ifdef SUPPORT_816
|
|
else if (ir[7:0]==`PEI) begin
|
|
set_sp();
|
|
store_what <= `STW_IA158;
|
|
state <= STORE1;
|
|
end
|
|
`endif
|
end
|
end
|
BYTE_IY5:
|
BYTE_IY5:
|
begin
|
begin
|
isIY <= `FALSE;
|
isIY <= `FALSE;
|
|
isIY24 <= `FALSE;
|
radr <= iapy8[31:2];
|
radr <= iapy8[31:2];
|
radr2LSB <= iapy8[1:0];
|
radr2LSB <= iapy8[1:0];
|
$display("IY addr: %h", iapy8);
|
$display("IY addr: %h", iapy8);
|
if (ir[7:0]==`STA_IY) begin
|
if (ir[7:0]==`STA_IY || ir[7:0]==`STA_IYL || ir[7:0]==`STA_DSPIY) begin
|
wadr <= iapy8[31:2];
|
wadr <= iapy8[31:2];
|
wadr2LSB <= iapy8[1:0];
|
wadr2LSB <= iapy8[1:0];
|
store_what <= `STW_ACC8;
|
store_what <= m16 ? `STW_ACC70 : `STW_ACC8;
|
state <= STORE1;
|
state <= STORE1;
|
end
|
end
|
else begin
|
else begin
|
load_what <= `BYTE_70;
|
load_what <= m16 ? `HALF_70 : `BYTE_70;
|
state <= LOAD_MAC1;
|
state <= LOAD_MAC1;
|
end
|
end
|
end
|
end
|
`endif
|
`endif
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.