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

Subversion Repositories uart16550

[/] [uart16550/] [tags/] [initial/] [verilog/] [UART_defines.v] - Blame information for rev 106

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 gorban
//  UART core define
2
//
3
// Author: Jacob Gorban   (jacob.gorban@flextronicssemi.com)
4
// Company: Flextronics Semiconductor
5
//
6
// Filename: UART_defines.v
7
//
8
// Releases:
9
//              1.1     First release
10
//
11
 
12
`define ADDR_WIDTH      3
13
 
14
// Register addresses
15
`define REG_RB  0        // receiver buffer
16
`define REG_TR  0        // transmitter
17
`define REG_IE  1       // Interrupt enable
18
`define REG_II  2       // Interrupt identification
19
`define REG_FC  2       // FIFO control
20
`define REG_LC  3       // Line Control
21
`define REG_MC  4       // Modem control
22
`define REG_LS  5       // Line status
23
`define REG_MS  6       // Modem status
24
`define REG_DL1 0        // Divisor latch bytes (1-4)
25
`define REG_DL2 1
26
`define REG_DL3 4
27
`define REG_DL4 5
28
 
29
// Interrupt Enable register bits
30
`define IE_RDA  0        // Received Data available interrupt
31
`define IE_THRE 1       // Transmitter Holding Register empty interrupt
32
`define IE_RLS  2       // Receiver Line Status Interrupt
33
`define IE_MS   3       // Modem Status Interrupt
34
 
35
// Interrupt Identification register bits
36
`define II_IP   0        // Interrupt pending when 0
37
`define II_II   3:1     // Interrupt identification
38
 
39
// Interrupt identification values for bits 3:1
40
`define II_RLS  3b`011  // Receiver Line Status
41
`define II_RDA  3b`010  // Receiver Data available
42
`define II_TI   3b`110  // Timeout Indication
43
`define II_THRE 3b`001  // Transmitter Holding Register empty
44
`define II_MS   3b`000  // Modem Status
45
 
46
// FIFO Control Register bits
47
`define FC_CR   0        // Clear receiver
48
`define FC_CT   1       // Clear transmitter
49
`define FC_TL   3:2     // Trigger level
50
 
51
// FIFO trigger level values
52
`define FC_1    2b`00
53
`define FC_4    2b`01
54
`define FC_8    2b`10
55
`define FC_14   2b`11
56
 
57
// Line Control register bits
58
`define LC_BITS 1:0      // bits in character
59
`define LC_SB   2       // stop bits
60
`define LC_PE   3       // parity enable
61
`define LC_EP   4       // even parity
62
`define LC_SP   5       // stick parity
63
`define LC_BC   6       // Break control
64
`define LC_DL   7       // Divisor Latch access bit
65
 
66
// Modem Control register bits
67
`define MC_DTR  0
68
`define MC_RTS  1
69
`define MC_OUT1 2
70
`define MC_OUT2 3
71
`define MC_LB   4       // Loopback mode
72
 
73
// Line Status Register bits
74
`define LS_DR   0        // Data ready
75
`define LS_OE   1       // Overrun Error
76
`define LS_PE   2       // Parity Error
77
`define LS_FE   3       // Framing Error
78
`define LS_BI   4       // Break interrupt
79
`define LS_TFE  5       // Transmit FIFO is empty
80
`define LS_TE   6       // Transmitter Empty indicator
81
`define LS_EI   7       // Error indicator
82
 
83
// Modem Status Register bits
84
`define MS_DCTS 0        // Delta signals
85
`define MS_DDSR 1
86
`define MS_TERI 2
87
`define MS_DDCD 3
88
`define MS_CCTS 4       // Complement signals
89
`define MS_CDSR 5
90
`define MS_CRI  6
91
`define MS_CDCD 7
92
 
93
 
94
// FIFO parameter defines
95
 
96
`define FIFO_WIDTH      8
97
`define FIFO_DEPTH      16
98
`define FIFO_POINTER_W  4
99
`define FIFO_COUNTER_W  5
100
// receiver fifo has width 10 because it has parity and framing error bits
101
`define FIFO_REC_WIDTH  10

powered by: WebSVN 2.1.0

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