1 //////////////////////////////////////////////////////////////////////
3 //// uart_TX_FIFO.v ////
6 //// This file is part of the "UART 16550 compatible" project ////
7 //// http://www.opencores.org/cores/uart16550/ ////
9 //// Documentation related to this project: ////
10 //// - http://www.opencores.org/cores/uart16550/ ////
12 //// Projects compatibility: ////
14 //// RS232 Protocol ////
15 //// 16550D uart (mostly supported) ////
17 //// Overview (main Features): ////
18 //// UART core WISHBONE interface. ////
20 //// Known problems (limits): ////
21 //// Inserts one wait state on all transfers. ////
22 //// Note affected signals and the way they are affected. ////
28 //// - gorban@opencores.org ////
29 //// - Jacob Gorban ////
31 //// Created: 2001/05/12 ////
32 //// Last Updated: 2001/05/17 ////
33 //// (See log for the revision history) ////
36 //////////////////////////////////////////////////////////////////////
38 //// Copyright (C) 2000 Jacob Gorban, gorban@opencores.org ////
40 //// This source file may be used and distributed without ////
41 //// restriction provided that this copyright statement is not ////
42 //// removed from the file and that any derivative work contains ////
43 //// the original copyright notice and the associated disclaimer. ////
45 //// This source file is free software; you can redistribute it ////
46 //// and/or modify it under the terms of the GNU Lesser General ////
47 //// Public License as published by the Free Software Foundation; ////
48 //// either version 2.1 of the License, or (at your option) any ////
49 //// later version. ////
51 //// This source is distributed in the hope that it will be ////
52 //// useful, but WITHOUT ANY WARRANTY; without even the implied ////
53 //// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
54 //// PURPOSE. See the GNU Lesser General Public License for more ////
57 //// You should have received a copy of the GNU Lesser General ////
58 //// Public License along with this source; if not, download it ////
59 //// from http://www.opencores.org/lgpl.shtml ////
61 //////////////////////////////////////////////////////////////////////
63 // CVS Revision History
65 // $Log: uart_wb.v,v $
66 // Revision 1.4 2001/05/31 20:08:01 gorban
67 // FIFO changes and other corrections.
69 // Revision 1.3 2001/05/21 19:12:01 gorban
70 // Corrected some Linter messages.
72 // Revision 1.2 2001/05/17 18:34:18 gorban
73 // First 'stable' release. Should be sythesizable now. Also added new header.
75 // Revision 1.0 2001-05-17 21:27:13+02 jacob
80 // UART core WISHBONE interface
82 // Author: Jacob Gorban (jacob.gorban@flextronicssemi.com)
83 // Company: Flextronics Semiconductor
86 `include "timescale.v"
90 wb_we_i, wb_stb_i, wb_cyc_i, wb_ack_o,
91 we_o, re_o // Write and read enable output for the core
109 always @(posedge clk or posedge wb_rst_i)
117 // wb_ack_o <= #1 wb_stb_i & wb_cyc_i; // 1 clock wait state on all transfers
118 wb_ack_o <= #1 wb_stb_i & wb_cyc_i & ~wb_ack_o; // 1 clock wait state on all transfers
122 assign we_o = wb_we_i & wb_cyc_i & wb_stb_i; //WE for registers
123 assign re_o = ~wb_we_i & wb_cyc_i & wb_stb_i; //RE for registers