|
1 | | -/***************************************************************************** |
2 | | - * Function: IO bi-directional buffer |
| 1 | +/************************************************************************** |
| 2 | + * Function: Digital Bidirectional IO Buffer |
3 | 3 | * Copyright: Lambda Project Authors. All rights Reserved. |
4 | 4 | * License: MIT (see LICENSE file in Lambda repository) |
5 | 5 | * |
6 | 6 | * Docs: |
7 | 7 | * |
8 | | - * This is a generic cell that defines the standard interface of the lambda |
9 | | - * bidrectional buffer cell. It is only suitable for FPGA synthesis. |
| 8 | + * ../README.md |
10 | 9 | * |
11 | | - * ASIC specific libraries will need to use the TYPE field to select an |
12 | | - * appropriate hardcoded physical cell based on the the process constraints |
13 | | - * and library composition. For example, modern nodes will usually have |
14 | | - * different IP cells for the placing cells vvertically or horizontally. |
15 | | - * |
16 | | - ****************************************************************************/ |
17 | | -module la_iobidir #( |
18 | | - parameter TYPE = "DEFAULT", // cell type |
19 | | - parameter SIDE = "NO", // "NO", "SO", "EA", "WE" |
20 | | - parameter CFGW = 16, // width of core config bus |
21 | | - parameter RINGW = 8 // width of io ring |
22 | | -) ( // io pad signals |
23 | | - inout pad, // bidirectional pad signal |
24 | | - inout vdd, // core supply |
25 | | - inout vss, // core ground |
26 | | - inout vddio, // io supply |
27 | | - inout vssio, // io ground |
| 10 | + *************************************************************************/ |
| 11 | +module la_iobidir |
| 12 | + #( |
| 13 | + parameter PROP = "DEFAULT", // cell property |
| 14 | + parameter SIDE = "NO", // "NO", "SO", "EA", "WE" |
| 15 | + parameter CFGW = 16, // width of core config bus |
| 16 | + parameter RINGW = 8 // width of io ring |
| 17 | + ) |
| 18 | + (// io pad signals |
| 19 | + inout pad, // bidirectional pad signal |
| 20 | + inout vdd, // core supply |
| 21 | + inout vss, // core ground |
| 22 | + inout vddio, // io supply |
| 23 | + inout vssio, // io ground |
28 | 24 | // core facing signals |
29 | | - input a, // input from core |
30 | | - output z, // output to core |
31 | | - input ie, // input enable, 1 = active |
32 | | - input oe, // output enable, 1 = active |
33 | | - inout [RINGW-1:0] ioring, // generic io-ring interface |
34 | | - input [ CFGW-1:0] cfg // generic config interface |
35 | | -); |
| 25 | + input a, // input from core |
| 26 | + output z, // output to core |
| 27 | + input ie, // input enable, 1 = active |
| 28 | + input oe, // output enable, 1 = active |
| 29 | + inout [RINGW-1:0] ioring, // generic io ring |
| 30 | + input [CFGW-1:0] cfg // generic config interface |
| 31 | + ); |
36 | 32 |
|
37 | | - // to core |
| 33 | + // to core |
38 | 34 | assign z = ie ? pad : 1'b0; |
39 | 35 |
|
40 | 36 | // to pad |
|
0 commit comments