annotate venus/src/primitives @ 82:541b55e6bf47

add UART rescue header
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 08 Dec 2021 05:00:50 +0000
parents a1b55af7f04d
children 148fab6e07e3
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
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 resistor_slot mapped_pins (side1, side2);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 transistor_slot mapped_pins (E, B, C);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 mosfet mapped_pins (G, S, D);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /* TI packages */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 pkg_179GHH grid "pkg_179GHH.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 pkg_100GGM grid "pkg_100GGM.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 pkg_Rita_RF numpins 49;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 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
21 Out_pos, Out_neg);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 /* non-TI RF components */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 pkg_RF3166 numpins 31;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 pkg_M034F numpins 19;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* Flash+RAM MCP (two possibilities) */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 pkg_TLA064 grid "pkg_TLA064.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 pkg_TLC056 grid "pkg_TLC056.bgadef";
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
16
3d5c40988a6b Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
31 /* misc IC packages */
22
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
32 pkg_LQFP48 numpins 48;
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
33 pkg_IC_5pin numpins 5;
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
34 pkg_IC_8pin numpins 8;
44
04abc82f8280 MCL and primitives: LCD and MAX1916 from lunalcd2
Mychaela Falconia <falcon@freecalypso.org>
parents: 40
diff changeset
35 pkg_SOT23_6 numpins 6;
16
3d5c40988a6b Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
36 pkg_XSON6 numpins 6;
3d5c40988a6b Venus src: add 74LVC1G04 inverting buffer for SIM_CD
Mychaela Falconia <falcon@freecalypso.org>
parents: 14
diff changeset
37
14
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
38 /* logic IC subpackages */
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
39 buffer_slot_basic mapped_pins (A, Y);
40
9309cebe07b8 use buffer_slot_od primitive for slots of 74LVC2G07
Mychaela Falconia <falcon@freecalypso.org>
parents: 35
diff changeset
40 buffer_slot_od mapped_pins (A, Y);
14
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
41 buffer_slot_3state mapped_pins (A, nOE, Y);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
42 logic_ic_common mapped_pins (Vcc, GND);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
43 x541_common mapped_pins (Vcc, GND, nOE1, nOE2);
ff784add0889 Venus primitives: add logic IC subpackages
Mychaela Falconia <falcon@freecalypso.org>
parents: 8
diff changeset
44
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 /* crystal oscillator components */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 xtal_2pin_pkg numpins 2;
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 xtal_4pin_pkg numpins 4;
31
d0b6c4915397 Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents: 25
diff changeset
48 varactor_diode mapped_pins (A, C);
6
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 /*
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 * 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
52 * 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
53 * 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
54 * 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
55 * input and which will be the output.
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 *
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 * 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
58 * at the MCL binding stage, to be selected at layout time.
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 */
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 chip_attenuator mapped_pins (In, Out, GND1, GND2);
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62
82
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
63 /* headers */
22
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
64 header_2pin numpins 2;
82
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
65 header_3pin numpins 3;
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
66 header_5pin numpins 5;
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
67 header_10pin numpins 10;
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
68 header_14pin numpins 14;
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
69
541b55e6bf47 add UART rescue header
Mychaela Falconia <falcon@freecalypso.org>
parents: 62
diff changeset
70 /* other connectors */
22
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
71 conn_3pin numpins 3;
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
72 pkg_SMA_F numpins 5;
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
73 pkg_TRRS_jack numpins 6;
22ac331aa0f8 Venus primitives: additions for USB
Mychaela Falconia <falcon@freecalypso.org>
parents: 16
diff changeset
74 conn_miniUSB_plus4 numpins 9;
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 /* misc peripherals */
44
04abc82f8280 MCL and primitives: LCD and MAX1916 from lunalcd2
Mychaela Falconia <falcon@freecalypso.org>
parents: 40
diff changeset
77 lcd_module_fp numpins 36;
6
64ce89bd3376 Venus primitives file started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 pkg_SIM_socket numpins 8;
60
c661a87159c2 buzzer component nailed down
Mychaela Falconia <falcon@freecalypso.org>
parents: 56
diff changeset
79 pkg_buzzer numpins 4;
31
d0b6c4915397 Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents: 25
diff changeset
80 basic_LED mapped_pins (A, C);
d0b6c4915397 Venus MCL: use new ipc-diode.pinout, add SS34 for charging
Mychaela Falconia <falcon@freecalypso.org>
parents: 25
diff changeset
81 misc_diode mapped_pins (A, C);
62
a1b55af7f04d clamping diode pair for the buzzer driving circuit
Mychaela Falconia <falcon@freecalypso.org>
parents: 60
diff changeset
82 clamp_diode_pair mapped_pins (Signal, Pos_rail, Neg_rail);
25
250fd753c0c5 Venus: preliminary choice of slide switch part for charging control
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
83 switch_2pin numpins 2;
50
3dbe73bbc0a4 Verilog src: preparations for adding the keypad
Mychaela Falconia <falcon@freecalypso.org>
parents: 44
diff changeset
84 switch_4pin numpins 4;
33
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
85
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
86 /*
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
87 * Resistor footprint with two extra "virtual pins" for sensing - see
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
88 * ../doc/Charging-circuit for explanation.
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
89 */
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
90
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
91 resistor_with_sense mapped_pins (side1_current, side1_sense,
1d2b57d4f1c9 intnoconn approach to charging current sense resistor
Mychaela Falconia <falcon@freecalypso.org>
parents: 31
diff changeset
92 side2_current, side2_sense);
35
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
93
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
94 /*
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
95 * The following primitives are entirely non-physical EDA artifacts
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
96 * for star routing.
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
97 */
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
98 starpoint_2way numpins 2;
971c05950675 starpoints in core: commit to using pcb-rnd intnoconn
Mychaela Falconia <falcon@freecalypso.org>
parents: 33
diff changeset
99 starpoint_3way numpins 3;