URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
[/] [socgen/] [trunk/] [common/] [opencores.org/] [Testbench/] [bfms/] [micro_bus16_model/] [rtl/] [verilog/] [top.syn] - Rev 131
Go to most recent revision | Compare with Previous | Blame | View Log
/**********************************************************************/ /* */ /* ------- */ /* / SOC \ */ /* / GEN \ */ /* / SIM \ */ /* ============== */ /* | | */ /* |____________| */ /* */ /* Microprocessor bus functional model (BFM) for simulations */ /* */ /* */ /* Author(s): */ /* - John Eaton, jt_eaton@opencores.org */ /* */ /**********************************************************************/ /* */ /* Copyright (C) <2010> <Ouabache Design Works> */ /* */ /* This source file may be used and distributed without */ /* restriction provided that this copyright statement is not */ /* removed from the file and that any derivative work contains */ /* the original copyright notice and the associated disclaimer. */ /* */ /* This source file is free software; you can redistribute it */ /* and/or modify it under the terms of the GNU Lesser General */ /* Public License as published by the Free Software Foundation; */ /* either version 2.1 of the License, or (at your option) any */ /* later version. */ /* */ /* This source is distributed in the hope that it will be */ /* useful, but WITHOUT ANY WARRANTY; without even the implied */ /* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ /* PURPOSE. See the GNU Lesser General Public License for more */ /* details. */ /* */ /* You should have received a copy of the GNU Lesser General */ /* Public License along with this source; if not, download it */ /* from http://www.opencores.org/lgpl.shtml */ /* */ /**********************************************************************/ module micro_bus16_model_def #(parameter OUT_DELAY = 15, parameter OUT_WIDTH = 10 ) ( input wire clk, input wire reset, output reg [23:0] addr, output reg [15:0] wdata, output reg [1:0] cs, output reg rd, output reg wr, output reg ub, output reg lb, inout wire [15:0] rdata ); reg [15:0] exp_rdata; reg [15:0] mask_rdata; always@(posedge clk) if(reset) begin addr <= 24'h0000; wdata <= 16'h0000; wr <= 1'b0; rd <= 1'b0; cs <= 2'b00; ub <= 1'b0; lb <= 1'b0; exp_rdata <= 16'h0000; mask_rdata <= 16'h0000; end io_probe_def #(.MESG ("micro rdata Error"), .WIDTH (16), .RESET ({16{1'bz}}), .OUT_DELAY (OUT_DELAY), .OUT_WIDTH (OUT_WIDTH) ) rdata_tpb ( .clk ( clk ), .drive_value (16'bzzzzzzzzzzzzzzzz ), .expected_value ( exp_rdata ), .mask ( mask_rdata ), .signal ( rdata ) ); endmodule
Go to most recent revision | Compare with Previous | Blame | View Log