aboutsummaryrefslogblamecommitdiff
path: root/rev03-KiCad/rev02_02.sch
blob: 27c5e4d3fd6c2edc0883a7b401db8fe335dd42ba (plain) (tree)
a2b
/*
 * mgmt-fpga.c
 * -----------
 * CLI code to manage the FPGA configuration etc.
 *
 * Copyright (c) 2016-2017, NORDUnet A/S All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * - Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer.
 *
 * - Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer in the
 *   documentation and/or other materials provided with the distribution.
 *
 * - Neither the name of the NORDUnet nor the names of its contributors may
 *   be used to endorse or promote products derived from this software
 *   without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/* Rename both CMSIS HAL_OK and libhal HAL_OK to disambiguate */
#define HAL_OK CMSIS_HAL_OK
#include "stm-init.h"
#include "stm-uart.h"
#include "stm-fpgacfg.h"

#include "mgmt-cli.h"
#include "mgmt-fpga.h"
#include "mgmt-misc.h"

#undef HAL_OK
#define HAL_OK LIBHAL_OK
#include "hal.h"
#undef HAL_OK

#include <string.h>


extern hal_user_t user;

static volatile uint32_t dfu_offset = 0;


static HAL_StatusTypeDef _flash_write_callback(uint8_t *buf, size_t len)
{
    HAL_StatusTypeDef res;

    if ((dfu_offset % FPGACFG_SECTOR_SIZE) == 0)
	/* first page in sector, need to erase sector */
	if ((res = fpgacfg_erase_sector(dfu_offset / FPGACFG_SECTOR_SIZE)) != CMSIS_HAL_OK)
	    return res;

    /* fpgacfg_write_data (a thin wrapper around n25q128_write_data)
     * requires the offset and length to be page-aligned. The last chunk
     * will be short, so we pad it out to the full chunk size.
     */
    len = len;
    res = fpgacfg_write_data(dfu_offset, buf, BITSTREAM_UPLOAD_CHUNK_SIZE);
    dfu_offset += BITSTREAM_UPLOAD_CHUNK_SIZE;
    return res;
}

static int cmd_fpga_bitstream_upload(struct cli_def *cli, const char *command, char *argv[], int argc)
{
    command = command;
    argv = argv;
    argc = argc;

    if (user < HAL_USER_SO) {
        cli_print(cli, "Permission denied.");
        return CLI_ERROR;
    }

    uint8_t buf[BITSTREAM_UPLOAD_CHUNK_SIZE];

    dfu_offset = 0;

    fpgacfg_access_control(ALLOW_ARM);

    cli_print(cli, "Checking if FPGA config memory is accessible");
    if (fpgacfg_check_id() != CMSIS_HAL_OK) {
	cli_print(cli, "ERROR: FPGA config memory not accessible. Check that jumpers JP7 and JP8 are installed.");
	return CLI_ERROR;
    }

    cli_receive_data(cli, &buf[0], sizeof(buf), _flash_write_callback);

    fpgacfg_access_control(ALLOW_FPGA);

    cli_print(cli, "DFU offset now: %li (%li chunks)", dfu_offset, dfu_offset / BITSTREAM_UPLOAD_CHUNK_SIZE);
    return CLI_OK;
}

static int cmd_fpga_bitstream_erase(struct cli_def *cli, const char *command, char *argv[], int argc)
{
    command = command;
    argv = argv;
    argc = argc;

    fpgacfg_access_control(ALLOW_ARM);

    cli_print(cli, "Checking if FPGA config memory is accessible");
    if (fpgacfg_check_id() != CMSIS_HAL_OK) {
	cli_print(cli, "ERROR: FPGA config memory not accessible. Check that jumpers JP7 and JP8 are installed.");
	return CLI_ERROR;
    }

    /* Erasing the whole config memory takes a while, we just need to erase the first sector.
     * The bitstream has an EOF marker, so even if the next bitstream uploaded is shorter than
     * the current one there should be no problem.
     *
     * This command could be made to accept an argument indicating the whole memory should be erased.
     */
    if (fpgacfg_erase_sector(0) != CMSIS_HAL_OK) {
	cli_print(cli, "Erasing first sector in FPGA config memory failed");
	return CLI_ERROR;
    }

    cli_print(cli, "Erased FPGA config memory");
    fpgacfg_access_control(ALLOW_FPGA);

    return CLI_OK;
}

static int cmd_fpga_reset(struct cli_def *cli, const char *command, char *argv[], int argc)
{
    command = command;
    argv = argv;
    argc = argc;

    fpgacfg_access_control(ALLOW_FPGA);
    fpgacfg_reset_fpga(RESET_FULL);
    hal_core_reset_table();
    cli_print(cli, "FPGA has been reset");

    return CLI_OK;
}

static int cmd_fpga_show_cores(struct cli_def *cli, const char *command, char *argv[], int argc)
{
    hal_core_t *core;
    const hal_core_info_t *info;

    command = command;
    argv = argv;
    argc = argc;

    if (fpgacfg_check_done() != CMSIS_HAL_OK) {
        cli_print(cli, "FPGA has not loaded a bitstream");
        return CLI_OK;
    }

    for (core = hal_core_iterate(NULL); core != NULL; core = hal_core_iterate(core)) {
	info = hal_core_info(core);
	cli_print(cli, "%04x: %8.8s %4.4s",
                  (unsigned int)info->base, info->name, info->version);
    }

    return CLI_OK;
}

void configure_cli_fpga(struct cli_def *cli)
{
    struct cli_command *c = cli_register_command(cli, NULL, "fpga", NULL, 0, 0, NULL);

    struct cli_command *c_show = cli_register_command(cli, c, "show", NULL, 0, 0, NULL);
    struct cli_command *c_bitstream = cli_register_command(cli, c, "bitstream", NULL, 0, 0, NULL);

    /* fpga show cores */
    cli_register_command(cli, c_show, "cores", cmd_fpga_show_cores, 0, 0, "Show FPGA core names and versions");

    /* fpga reset */
    cli_register_command(cli, c, "reset", cmd_fpga_reset, 0, 0, "Reset FPGA (config reset)");

    /* fpga bitstream upload */
    cli_register_command(cli, c_bitstream, "upload", cmd_fpga_bitstream_upload, 0, 0, "Upload new FPGA bitstream");

    /* fpga bitstream erase */
    cli_register_command(cli, c_bitstream, "erase", cmd_fpga_bitstream_erase, 0, 0, "Erase FPGA config memory");
}
ic_edit&id=4b0c6384695a08cbd68048768ea4498a3cb72a0e'>4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a

d76682a
4b0c638

a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
d76682a
4b0c638
a2bf24a

4b0c638
a2bf24a
d76682a
4b0c638

a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a


4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a

4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
a2bf24a
4b0c638
d76682a
4b0c638
a2bf24a
d76682a
a2bf24a



4b0c638


d76682a
4b0c638
a2bf24a
d76682a
a2bf24a



4b0c638


d76682a
4b0c638
a2bf24a
d76682a
a2bf24a



4b0c638


0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a

24240fc
a2bf24a

d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a

24240fc
a2bf24a

d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a

24240fc
a2bf24a

d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a

24240fc
a2bf24a

d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a
d76682a
56362ae
d76682a


4b0c638

0951574
4b0c638
0913359
a2bf24a
d76682a
56362ae
d76682a


4b0c638

0951574
4b0c638
0913359
c10428e
d76682a
56362ae
d76682a


4b0c638

0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359

48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a
48758ee
24240fc
48758ee
a2bf24a
d76682a
4b0c638

0951574
4b0c638
0913359
a2bf24a

24240fc
a2bf24a

d76682a
4b0c638
cbc5877

bdc7966
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
                                 
                         
            












                    
                                    
         
                                   
               
                                   
           
                                   
         
                                   
                                                                                                            
                                   
                                                                                                                                                                                  
                                     
            
                                    
  
                                    
               
     
                                    
              
            
                                            



                                           


                           
                    
              
           
                                         



                                     


                           
                                      
              
           
                                             



                                          


                           
                                          
              
           
                                               



                                            


                           
                             
              
                             
              
                             
              

                             
              
                           
              
                             
                                   

              
                            
              
                           
              
                           
              
                           
              
                           
              
                           
              
                           
              
                           
                                   
         



                      
              
                             
                                           

               
                             
              
                             
              
                             
              
                             
              

                             
              
                           
              
                           
                                  

              
                           
              
                           
              
                           
              

                           
                                  

              
                           
              
                           
              
                           
              
                           
              
                           
              
                           
                                  
         

                      
              
                           
                                  

              
                           
              
                           
              
                           
              
                           
              
                           
              


                           
              
                           
              
                           
              

                           
              
                           
              
                           
              
                           
     
                    
              
           
                                         



                                     


                           
                    
              
           
                                         



                                     


                           
                    
              
            
                                          



                                      


                           
                              
              
            
                                     
                                       
                                                                  
                                  
                       
                           

        
                          
              
           

                                                  
                                                                                   

                                 
                           

        
                             
              
           

                                             
                                                                 

                                 
                           

        
                             
              
           

                                           
                                                                 

                                 
                           

        
                             
              
           

                                           
                                                                 

                                 
                           

        
                            
              
           
                                    
                                  
                                                                


                                 

        
                            
              
           
                                    
                                  
                                                                


                                 

        
                                   
              
            
                                    
                                   
                                                                    


                                  

        
                              
              
           
                                    
                                      
                                                                 
                                 
                      
                           

        
                               
              

                                    
                                    
                                                                 
                                 
                      
                           

        
                               
              
           
                                    
                                   
                                                                 
                                 
                      
                           

        
                              
              
           
                                    
                                      
                                                                 
                                 
                      
                           

        
                               
              
           
                                    
                                    
                                                                 
                                 
                      
                           

        
                               
              
           
                                    
                                   
                                                                 
                                 
                      
                           

        
                         
              
           

                                          
                                                                 

                                 
                           
        

                   
            
EESchema Schematic File Version 4
LIBS:Cryptech Alpha-cache
EELAYER 26 0
EELAYER END
$Descr B 17000 11000
encoding utf-8
Sheet 4 27
Title "rev02_02"
Date "15 10 2016"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
Text Notes 11600 3700 0    126  ~ 25
Digitizer
Text Notes 3200 3700 0    126  ~ 25
Noise generator
Text Notes 4200 6410 0    60   ~ 12
Noisy diode
Text Notes 6800 3700 0    126  ~ 25
Amplifier
Text Notes 3200 7600 0    60   ~ 12
AGND is connected to GND on the board using polygons\n(found no other good way) - not visible in schematics.
Text Notes 9400 7650 0    60   ~ 12
This whole sheets circuitry should be as shielded as possible.\nSolid isolated ground plane and internal planes connected\nto the rest of the board at a single point is expected.
Text Notes 13690 10220 0    84   ~ 17
Noise source
Text Notes 11980 4510 0    60   ~ 12
U3
Text Notes 11790 5790 0    60   ~ 12
MC74HC1G14DTT1G
$Comp
L Cryptech_Alpha:VCCO_3V3 #VCCO_3V03
U 1 1 580240AA
P 11400 4100
F 0 "#VCCO_3V03" H 11400 4100 20  0000 C CNN
F 1 "+VCCO_3V3" H 11400 4030 30  0000 C CNN
F 2 "" H 11400 4100 70  0000 C CNN
F 3 "" H 11400 4100 70  0000 C CNN
	1    11400 4100
	1    0    0    -1  
$EndComp
$Comp
L power:GND #GND_021
U 1 1 580240A9
P 5050 6550
F 0 "#GND_021" H 5050 6550 20  0000 C CNN
F 1 "+GND" H 5050 6480 30  0000 C CNN
F 2 "" H 5050 6550 70  0000 C CNN
F 3 "" H 5050 6550 70  0000 C CNN
	1    5050 6550
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:VCCO_3V3 #VCCO_3V3_02
U 1 1 580240A8
P 8800 4100
F 0 "#VCCO_3V3_02" H 8800 4100 20  0000 C CNN
F 1 "+VCCO_3V3" H 8800 4030 30  0000 C CNN
F 2 "" H 8800 4100 70  0000 C CNN
F 3 "" H 8800 4100 70  0000 C CNN
	1    8800 4100
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:15V_STABLE #15V_STABLE_02
U 1 1 580240A7
P 5050 4350
F 0 "#15V_STABLE_02" H 5050 4350 20  0000 C CNN
F 1 "+15V_STABLE" H 5050 4280 30  0000 C CNN
F 2 "" H 5050 4350 70  0000 C CNN
F 3 "" H 5050 4350 70  0000 C CNN
	1    5050 4350
	1    0    0    -1  
$EndComp
Wire Wire Line
	11500 4800 11400 4800
Wire Wire Line
	11400 4100 11400 4800
Wire Wire Line
	11100 4800 11100 5100
Wire Wire Line
	11400 4800 11100 4800
Connection ~ 11400 4800
Wire Wire Line
	8800 4100 8800 4200
Wire Wire Line
	11500 5000 10300 5000
Text Label 10300 5000 0    48   ~ 0
AMPLIFIED
Wire Wire Line
	10050 5000 9300 5000
Wire Wire Line
	8800 4600 8800 4700
Wire Wire Line
	8800 4700 8800 5000
Wire Wire Line
	8800 5000 8800 5200
Wire Wire Line
	9300 5000 8800 5000
Wire Wire Line
	8800 5000 8700 5000
Wire Wire Line
	8800 4700 8600 4700
Wire Wire Line
	9300 4900 9300 5000
Text Label 10050 5000 2    48   ~ 0
AMPLIFIED
Connection ~ 8800 5000
Connection ~ 8800 5000
Connection ~ 8800 4700
Connection ~ 9300 5000
Wire Wire Line
	13400 4800 12900 4800
Text GLabel 13400 4800 2    48   Output ~ 0
DIGITIZED_NOISE
Wire Wire Line
	11500 5400 11400 5400
Wire Wire Line
	11400 5400 11400 5800
Wire Wire Line
	11400 5800 11400 5900
Wire Wire Line
	11100 5400 11100 5800
Wire Wire Line
	11400 5800 11100 5800
Connection ~ 11400 5800
Wire Wire Line
	8800 5600 8800 5700
Wire Wire Line
	4850 6000 4450 6000
Text Label 4500 6000 0    48   ~ 0
NOISE_OUT
Wire Wire Line
	3950 5400 3950 6200
Wire Wire Line
	4250 5400 3950 5400
Wire Wire Line
	4450 5400 4250 5400
Wire Wire Line
	4250 5400 4250 5800
Connection ~ 4250 5400
Text Label 3950 5400 0    48   ~ 0
NOISE_IN
Wire Wire Line
	5050 5400 4850 5400
Wire Wire Line
	5050 5400 5050 5800
Wire Wire Line
	5050 5300 5050 5400
Wire Wire Line
	5350 5400 5050 5400
Wire Wire Line
	6400 5400 5350 5400
Wire Wire Line
	5350 5300 5350 5400
Text Label 6400 5400 2    48   ~ 0
RAW_NOISE
Connection ~ 5050 5400
Connection ~ 5350 5400
Wire Wire Line
	7700 5400 6750 5400
Text Label 6750 5400 0    48   ~ 0
RAW_NOISE
Wire Wire Line
	8400 4700 8100 4700
Wire Wire Line
	8100 5400 8000 5400
Wire Wire Line
	8100 5000 8100 5400
Wire Wire Line
	8300 5000 8100 5000
Wire Wire Line
	8600 5400 8100 5400
Wire Wire Line
	8100 4700 8100 5000
Connection ~ 8100 5400
Connection ~ 8100 5000
Wire Wire Line
	5050 6200 5050 6550
Wire Wire Line
	3950 6500 3950 6550
Wire Wire Line
	5050 6550 3950 6550
Connection ~ 5050 6550
Wire Wire Line
	5050 4350 5050 4900
Wire Wire Line
	3150 4950 3200 4950
Wire Wire Line
	3150 5750 3150 4950
$Comp
L power:GND #GND_022
U 1 1 580240A6
P 3150 5750
F 0 "#GND_022" H 3150 5750 20  0000 C CNN
F 1 "+GND" H 3150 5680 30  0000 C CNN
F 2 "" H 3150 5750 70  0000 C CNN
F 3 "" H 3150 5750 70  0000 C CNN
	1    3150 5750
	1    0    0    -1  
$EndComp
$Comp
L power:GND #GND_023
U 1 1 580240A5
P 8800 5700
F 0 "#GND_023" H 8800 5700 20  0000 C CNN
F 1 "+GND" H 8800 5630 30  0000 C CNN
F 2 "" H 8800 5700 70  0000 C CNN
F 3 "" H 8800 5700 70  0000 C CNN
	1    8800 5700
	1    0    0    -1  
$EndComp
$Comp
L power:GND #GND_024
U 1 1 580240A4
P 11400 5900
F 0 "#GND_024" H 11400 5900 20  0000 C CNN
F 1 "+GND" H 11400 5830 30  0000 C CNN
F 2 "" H 11400 5900 70  0000 C CNN
F 3 "" H 11400 5900 70  0000 C CNN
	1    11400 5900
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:C-EUC0603 C16
U 1 1 580240A3
P 11100 5300
F 0 "C16" H 11500 5260 60  0000 R TNN
F 1 "0.1uF" H 11510 5350 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:C_0402" H 11510 5350 60  0001 C CNN
F 3 "" H 11510 5350 60  0000 C CNN
	1    11100 5300
	-1   0    0    1   
$EndComp
$Comp
L Cryptech_Alpha:WE-SHC S1
U 1 1 580240A2
P 3600 5050
F 0 "S1" H 3300 5500 60  0000 L BNN
F 1 "SHIELDING CABINET" H 3600 5450 60  0000 L BNN
F 2 "Cryptech_Alpha_Footprints:WE-SHC_36103205_NO_CREAM" H 3600 5450 60  0001 C CNN
F 3 "" H 3600 5450 60  0000 C CNN
	1    3600 5050
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:BC818*SMD Q2
U 1 1 580240A1
P 4350 6000
F 0 "Q2" H 4420 5680 60  0000 R TNN
F 1 "BC818-40LT1G" H 4420 5780 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:SOT-23" H 4420 5780 60  0001 C CNN
F 3 "" H 4420 5780 60  0000 C CNN
	1    4350 6000
	-1   0    0    1   
$EndComp
$Comp
L Cryptech_Alpha:BC818*SMD T1
U 1 1 580240A0
P 4950 6000
F 0 "T1" H 5200 6250 60  0000 R TNN
F 1 "BC847BLT3G" H 5620 6150 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:SOT-23" H 5620 6150 60  0001 C CNN
F 3 "" H 5620 6150 60  0000 C CNN
	1    4950 6000
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:BC818*SMD T2
U 1 1 5802409F
P 8700 5400
F 0 "T2" H 8950 5650 60  0000 R TNN
F 1 "BC847BLT3G" H 9370 5550 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:SOT-23" H 9370 5550 60  0001 C CNN
F 3 "" H 9370 5550 60  0000 C CNN
	1    8700 5400
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:TPB1,27 TP1
U 1 1 5802409E
P 5350 5200
F 0 "TP1" H 5250 4900 60  0000 L BNN
F 1 "~" H 5350 5200 50  0001 C CNN
F 2 "Cryptech_Alpha_Footprints:B1,27" H 5250 4900 60  0001 C CNN
F 3 "" H 5350 5200 50  0001 C CNN
	1    5350 5200
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:TPB1,27 TP2
U 1 1 5802409D
P 9300 4800
F 0 "TP2" H 9200 4500 60  0000 L BNN
F 1 "~" H 9300 4800 50  0001 C CNN
F 2 "Cryptech_Alpha_Footprints:B1,27" H 9200 4500 60  0001 C CNN
F 3 "" H 9300 4800 50  0001 C CNN
	1    9300 4800
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:MC74HC1G14DTT1G U3
U 1 1 5802409C
P 12200 5000
F 0 "U3" H 11670 4270 60  0000 L BNN
F 1 "~" H 12200 5000 50  0001 C CNN
F 2 "Cryptech_Alpha_Footprints:SOT-23-5" H 11670 4270 60  0001 C CNN
F 3 "" H 12200 5000 50  0001 C CNN
	1    12200 5000
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:C-EUC0603 C14
U 1 1 5802409B
P 3950 6400
F 0 "C14" H 4400 6300 60  0000 R TNN
F 1 "0.1uF" H 4410 6420 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:C_0402" H 4410 6420 60  0001 C CNN
F 3 "" H 4410 6420 60  0000 C CNN
	1    3950 6400
	-1   0    0    1   
$EndComp
$Comp
L Cryptech_Alpha:R-EU_R0402 R10
U 1 1 5802409A
P 4650 5400
F 0 "R10" H 4797 5270 60  0000 R TNN
F 1 "470" H 4800 5350 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:R_0402" H 4800 5350 60  0001 C CNN
F 3 "" H 4800 5350 60  0000 C CNN
	1    4650 5400
	-1   0    0    1   
$EndComp
$Comp
L Cryptech_Alpha:R-EU_R0402 R11
U 1 1 58024099
P 5050 5100
F 0 "R11" V 4950 5250 60  0000 L BNN
F 1 "1k" V 5060 5240 60  0000 L BNN
F 2 "Cryptech_Alpha_Footprints:R_0402" H 5060 5240 60  0001 C CNN
F 3 "" H 5060 5240 60  0000 C CNN
	1    5050 5100
	0    1    1    0   
$EndComp
$Comp
L Cryptech_Alpha:C-EUC0603 C15
U 1 1 58024098
P 7800 5400
F 0 "C15" V 7600 5500 60  0000 R TNN
F 1 "0.1uF" V 7510 5500 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:C_0402" H 7510 5500 60  0001 C CNN
F 3 "" H 7510 5500 60  0000 C CNN
	1    7800 5400
	0    -1   -1   0   
$EndComp
$Comp
L Cryptech_Alpha:R-EU_R0402 R12
U 1 1 58024097
P 8500 5000
F 0 "R12" H 8270 4850 60  0000 L BNN
F 1 "10k" H 8470 4850 60  0000 L BNN
F 2 "Cryptech_Alpha_Footprints:R_0402" H 8470 4850 60  0001 C CNN
F 3 "" H 8470 4850 60  0000 C CNN
	1    8500 5000
	1    0    0    -1  
$EndComp
$Comp
L Cryptech_Alpha:R-EU_R0402 R13
U 1 1 58024096
P 8800 4400
F 0 "R13" V 8800 4300 60  0000 R TNN
F 1 "1k" V 8710 4310 60  0000 R TNN
F 2 "Cryptech_Alpha_Footprints:R_0402" H 8710 4310 60  0001 C CNN
F 3 "" H 8710 4310 60  0000 C CNN
	1    8800 4400
	0    -1   -1   0   
$EndComp
$Comp
L Cryptech_Alpha:BAT54 D1
U 1 1 58024095
P 8500 4700
F 0 "D1" H 8410 4775 60  0000 L BNN
F 1 "BAT54LT1G" H 8270 4530 60  0000 L BNN
F 2 "Cryptech_Alpha_Footprints:SOT-23" H 8270 4530 60  0001 C CNN
F 3 "" H 8270 4530 60  0000 C CNN
	1    8500 4700
	1    0    0    -1  
$EndComp
NoConn ~ 11500 5200
NoConn ~ 4250 6200
$EndSCHEMATC