OpenCores
URL https://opencores.org/ocsvn/8051/8051/trunk

Subversion Repositories 8051

[/] [8051/] [trunk/] [rtl/] [verilog/] [oc8051_memory_interface.v] - Diff between revs 139 and 140

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 139 Rev 140
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.6  2003/05/05 15:46:37  simont
 
// add aditional alu destination to solve critical path.
 
//
// Revision 1.5  2003/04/25 17:15:51  simont
// Revision 1.5  2003/04/25 17:15:51  simont
// change branch instruction execution (reduse needed clock periods).
// change branch instruction execution (reduse needed clock periods).
//
//
// Revision 1.4  2003/04/16 10:04:09  simont
// Revision 1.4  2003/04/16 10:04:09  simont
// chance idat_ir to 24 bit wide
// chance idat_ir to 24 bit wide
Line 223... Line 226...
assign ea_rom_sel = ea && ea_int;
assign ea_rom_sel = ea && ea_int;
assign wr_o = wr_i;
assign wr_o = wr_i;
assign wr_bit_o = wr_bit_i;
assign wr_bit_o = wr_bit_i;
 
 
assign mem_wait = dmem_wait || imem_wait;
assign mem_wait = dmem_wait || imem_wait;
//assign istb_o = (istb || istb_t || (!iack_i)) && !dstb_o && !ea_rom_sel;
 
assign istb_o = (istb || istb_t) && !dstb_o && !ea_rom_sel;
assign istb_o = (istb || istb_t) && !dstb_o && !ea_rom_sel;
 
 
assign pc_wait = rd && (ea_rom_sel || (!istb_t && !(istb_o && !iack_i)));
assign pc_wait = rd && (ea_rom_sel || (!istb_t && iack_i));
 
 
assign wr_dat = des1;
assign wr_dat = des1;
 
 
 
 
/////////////////////////////
/////////////////////////////
//
//
//  ram_select
//  ram_select
//
//
///////////////////////////// ??????????????????????
/////////////////////////////
always @(rd_addr_r or in_ram or sfr or bit_in or sfr_bit or rd_ind)
always @(rd_addr_r or in_ram or sfr or bit_in or sfr_bit or rd_ind)
begin
begin
  if (rd_addr_r && !rd_ind) begin
  if (rd_addr_r && !rd_ind) begin
    iram_out = sfr;
    iram_out = sfr;
    bit_out = sfr_bit;
    bit_out = sfr_bit;
Line 253... Line 255...
//
//
// ram_adr_sel
// ram_adr_sel
//
//
/////////////////////////////
/////////////////////////////
 
 
always @(rd_sel or sp or ri or rn or imm or op1_out or dadr_o[15:0] or bank)
always @(rd_sel or sp or ri or rn or imm or dadr_o[15:0] or bank)
begin
begin
  case (rd_sel)
  case (rd_sel)
    `OC8051_RRS_RN   : rd_addr = {3'h0, rn};
    `OC8051_RRS_RN   : rd_addr = {3'h0, rn};
    `OC8051_RRS_I    : rd_addr = ri;
    `OC8051_RRS_I    : rd_addr = ri;
    `OC8051_RRS_D    : rd_addr = imm;
    `OC8051_RRS_D    : rd_addr = imm;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.