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

Subversion Repositories oms8051mini

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /oms8051mini/trunk/rtl/core
    from Rev 10 to Rev 11
    Reverse comparison

Rev 10 → Rev 11

/digital_core.v
1,6 → 1,6
//////////////////////////////////////////////////////////////////////
//// ////
//// OMS 8051 Dgital core Module ////
//// OMS 8051 Digital core Module ////
//// ////
//// This file is part of the OMS 8051 cores project ////
//// http://www.opencores.org/cores/oms8051mini/ ////
23,6 → 23,8
// 1. RAM and ROM are internally connected to interconnect
// 2. Memory Map Change
// 3. Remove the External ROM Option & Enabled Internal ROM
// v0.2 - Dinesh A, 9st Dec 2016
// 1. Bus interface is changed from 32 bit to 8 bit
//////////////////////////////////////////////////////////////////////
//// ////
//// Copyright (C) 2000 Authors and OPENCORES.ORG ////
69,7 → 71,6
ext_reg_wr ,
ext_reg_addr ,
ext_reg_wdata ,
ext_reg_be ,
 
// Outputs
ext_reg_rdata ,
117,11 → 118,10
input ext_reg_wr ;
input [3:0] ext_reg_tid ;
input [14:0] ext_reg_addr ;
input [31:0] ext_reg_wdata ;
input [3:0] ext_reg_be ;
input [7:0] ext_reg_wdata ;
 
// Outputs
output [31:0] ext_reg_rdata ;
output [7:0] ext_reg_rdata ;
output ext_reg_ack ;
 
 
149,9 → 149,8
wire wb_xram_ack ; // data-ram acknowlage
wire wb_xram_err ; // data-ram error
wire wb_xram_wr ; // data-ram error
wire [3:0] wb_xram_be ; // Byte enable
wire [31:0] wb_xram_rdata ; // ram data input
wire [31:0] wb_xram_wdata ; // ram data input
wire [7:0] wb_xram_rdata ; // ram data input
wire [7:0] wb_xram_wdata ; // ram data input
 
wire wb_xram_stb ; // data-ram strobe
wire wb_xram_cyc ; // data-ram cycle
161,7 → 160,7
// 8051 Instruction ROM interface
//---------------------------------------------
wire [15:0] wbi_risc_adr;
wire [31:0] wbi_risc_rdata;
wire [7:0] wbi_risc_rdata;
 
 
//-----------------------------
179,18 → 178,15
 
wire [14:0] reg_uart_addr ;
wire [31:0] reg_uart_wdata ;
wire [3:0] reg_uart_be ;
wire [31:0] reg_uart_rdata ;
wire [7:0] reg_uart_wdata ;
wire [7:0] reg_uart_rdata ;
wire reg_uart_ack ;
wire [14:0] reg_spi_addr ;
wire [31:0] reg_spi_wdata ;
wire [3:0] reg_spi_be ;
wire [31:0] reg_spi_rdata ;
wire [7:0] reg_spi_wdata ;
wire [7:0] reg_spi_rdata ;
wire reg_spi_ack ;
 
wire [3:0] wb_xrom_be ;
 
wire [7:0] p0 ;
wire [7:0] p1 ;
198,7 → 194,7
wire [7:0] p3 ;
 
 
wire [31:0] reg_rdata = (reg_uart_ack) ? reg_uart_rdata :
wire [7:0] reg_rdata = (reg_uart_ack) ? reg_uart_rdata :
(reg_spi_ack) ? reg_spi_rdata : 'h0;
 
wire reg_ack = reg_uart_ack | reg_spi_ack;
206,12 → 202,8
 
assign reset_out_n = gen_resetn;
 
 
assign wb_xram_adr[15] = 0;
assign wb_xram_adr[1:0] = 2'b00;
 
assign reg_uart_addr[1:0] = 2'b0;
assign reg_spi_addr[1:0] = 2'b0;
//-------------------------------------------
// clock-gen instantiation
//-------------------------------------------
230,17 → 222,10
 
 
 
wire [31:0] wb_master2_rdata;
wire [7:0] wb_master2_rdata;
 
wire [3:0] wb_master2_be = (wbd_risc_adr[1:0] == 2'b00) ? 4'b0001:
(wbd_risc_adr[1:0] == 2'b01) ? 4'b0010:
(wbd_risc_adr[1:0] == 2'b10) ? 4'b0100: 4'b1000;
assign wbd_risc_rdata = wb_master2_rdata[7:0];
 
assign wbd_risc_rdata = (wbd_risc_adr[1:0] == 2'b00) ? wb_master2_rdata[7:0]:
(wbd_risc_adr[1:0] == 2'b01) ? wb_master2_rdata[15:8]:
(wbd_risc_adr[1:0] == 2'b10) ? wb_master2_rdata[23:16]:
wb_master2_rdata[31:24];
 
//------------------------------
// 8051 Data Memory Map
// 0x0000 to 0x7FFFF - Data Memory
259,9 → 244,9
 
wb_crossbar #(.WB_MASTER(3),
.WB_SLAVE(3),
.D_WD(32),
.BE_WD(4),
.ADR_WD(13),
.D_WD(8),
.BE_WD(1),
.ADR_WD(15),
.TAR_WD(4))
u_wb_crossbar (
 
274,11 → 259,8
wbd_tar_id,
ext_reg_tid }),
 
.wbd_din_master ({32'h0 ,
{wbd_risc_wdata[7:0],
.wbd_din_master ({8'h0 ,
wbd_risc_wdata[7:0],
wbd_risc_wdata[7:0],
wbd_risc_wdata[7:0]},
ext_reg_wdata }
),
 
286,14 → 268,11
wb_master2_rdata,
ext_reg_rdata}),
 
.wbd_adr_master ({wbi_risc_adr[12:0],
wbd_risc_adr[14:2],
ext_reg_addr[14:2]}),
.wbd_adr_master ({wbi_risc_adr[14:0],
wbd_risc_adr[14:0],
ext_reg_addr[14:0]}),
 
.wbd_be_master ({4'b1111,
wb_master2_be,
ext_reg_be }
),
.wbd_be_master ({1'b1,1'b1,1'b1}),
 
.wbd_we_master ({1'b0,wbd_risc_we,ext_reg_wr } ),
 
320,18 → 299,15
 
.wbd_dout_slave ({reg_uart_rdata,
reg_spi_rdata,
{wb_xram_rdata}
wb_xram_rdata
}),
 
.wbd_adr_slave ({reg_uart_addr[14:2],
reg_spi_addr[14:2],
wb_xram_adr[14:2]}
.wbd_adr_slave ({reg_uart_addr[14:0],
reg_spi_addr[14:0],
wb_xram_adr[14:0]}
),
 
.wbd_be_slave ({reg_uart_be,
reg_spi_be,
wb_xram_be }
),
.wbd_be_slave (),
 
.wbd_we_slave ({reg_uart_wr,
reg_spi_wr,
368,9 → 344,9
// Reg Bus Interface Signal
. reg_cs (reg_uart_cs ),
. reg_wr (reg_uart_wr ),
. reg_addr (reg_uart_addr[5:2] ),
. reg_addr (reg_uart_addr[3:0] ),
. reg_wdata (reg_uart_wdata ),
. reg_be (reg_uart_be ),
. reg_be (1'b1 ),
 
// Outputs
. reg_rdata (reg_uart_rdata ),
398,9 → 374,9
// Reg Bus Interface Signal
. reg_cs (reg_spi_cs ),
. reg_wr (reg_spi_wr ),
. reg_addr (reg_spi_addr[5:2] ),
. reg_addr (reg_spi_addr[3:0] ),
. reg_wdata (reg_spi_wdata ),
. reg_be (reg_spi_be ),
. reg_be (1'b1 ),
 
// Outputs
. reg_rdata (reg_spi_rdata ),
420,14 → 396,6
. wb_rst_i (risc_reset ),
. wb_clk_i (app_clk ),
 
//interface to instruction rom
. wbi_adr_o (wbi_risc_adr ),
. wbi_dat_i (wbi_risc_rdata ),
. wbi_stb_o (wbi_risc_stb ),
. wbi_ack_i (wbi_risc_ack ),
. wbi_cyc_o (wbi_risc_cyc ),
. wbi_err_i (wbi_risc_err ),
 
//interface to data ram
. wbd_dat_i (wbd_risc_rdata ),
. wbd_dat_o (wbd_risc_wdata ),
502,7 → 470,6
.clk (app_clk ),
.rst (!reset_n ),
.wr (wb_xram_wr ),
.be (wb_xram_be ),
.addr (wb_xram_adr ),
.data_in (wb_xram_wdata ),
.data_out (wb_xram_rdata ),

powered by: WebSVN 2.1.0

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