annotate venus/src/primitives @ 15:42a02257d457

venus/src/periph/calypso_uart_in.v written
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 19 Nov 2021 20:10:46 +0000
parents ff784add0889
children 3d5c40988a6b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This file defines the primitives to be instantiated from the structural
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * Verilog source for the board: IC package types, basic components and
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * subpackages to be mapped later in the MCL binding step.
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 resistor numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 capacitor numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 inductor numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 rlc_generic numpins 2; /* "any" RLC for matching network topologies */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 starpoint numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 resistor_slot mapped_pins (side1, side2);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 transistor_slot mapped_pins (E, B, C);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 mosfet mapped_pins (G, S, D);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 /* TI packages */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 pkg_179GHH grid "pkg_179GHH.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 pkg_100GGM grid "pkg_100GGM.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 pkg_Rita_RF numpins 49;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 pkg_TPA6203A1 mapped_pins (BYPASS, GND, In_neg, In_pos, SHUTDOWN, VDD,
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 Out_pos, Out_neg);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 /* non-TI RF components */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 pkg_RF3166 numpins 31;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 pkg_M034F numpins 19;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 /* Flash+RAM MCP (two possibilities) */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 pkg_TLA064 grid "pkg_TLA064.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 pkg_TLC056 grid "pkg_TLC056.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
14
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
32 /* logic IC subpackages */
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
33 buffer_slot_basic mapped_pins (A, Y);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
34 buffer_slot_3state mapped_pins (A, nOE, Y);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
35 logic_ic_common mapped_pins (Vcc, GND);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
36 x541_common mapped_pins (Vcc, GND, nOE1, nOE2);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
37
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /* crystal oscillator components */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 xtal_2pin_pkg numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 xtal_4pin_pkg numpins 4;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 varactor_diode mapped_pins (Anode, Cathode);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 /*
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 * The reference design we are copying calls for a couple of RF chip
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 * attenuators. They are symmetrical in that pins 1 and 2 are equally
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 * suitable as either the input or the output, but the package shape is
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 * asymmetrical, thus it is a PCB layout decision which pin will be the
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 * input and which will be the output.
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 *
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 * We shall use a mapped_pins primitive and two different pinout mappings
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 * at the MCL binding stage, to be selected at layout time.
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 chip_attenuator mapped_pins (In, Out, GND1, GND2);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 /* connectors */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 header_2pin numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 conn_3pin numpins 3;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 header_14pin numpins 14;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 pkg_SMA_F numpins 5;
8
d23dae52cd7b Venus primitives: add TRRS jack
Mychaela Falconia <falcon@freecalypso.org>
parents: 6
diff changeset
61 pkg_TRRS_jack numpins 6;
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 /* misc peripherals */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 pkg_SIM_socket numpins 8;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 basic_LED mapped_pins (Anode, Cathode);