-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathConfiguration.v
More file actions
164 lines (150 loc) · 4.39 KB
/
Copy pathConfiguration.v
File metadata and controls
164 lines (150 loc) · 4.39 KB
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
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////
// IonControl 1.0: Copyright 2016 Sandia Corporation
// This Software is released under the GPL license detailed
// in the file "license.txt" in the top-level pyGSTi directory
//////////////////////////////////////////////////////////////////
`ifndef configuration_definition
`define configuration_definition
//`define ConfigurationMD1
`define ConfigurationMD2
//`define ConfigurationCavity
//`define ConfigurationE
//`define ConfigurationQGA
//`define ConfigurationQGAExt
//`define ConfigurationWiggelyBox
//`define ConfigurationDuke1
//////////////////////////////////////////////////////////////////////////////////
// Conditionals are used for the different breakout boards.
// In addition to enabling the correct definition, you have to add the correct ucf file to the project
// and remove the ucf file of the wrong breakout board
//
// Original Sandia breakpout board.
//`define BreakoutSandiaOrig
//`define InvertSma
// Second version of sandia Breakout board
//`define BreakoutSandia2
//`define WiggelyLineBox
//`define PILoops // Implement PI loops
//`define SMA8IsClock // Valid for BreakoutDuke, puts 50MHz clock on sma[8]
//
//`define PDHAutoLock
// Duke Breakout board
//`define BreakoutDuke
//`define BreakoutDukeADCDAC
//`define Out6IsAD9912
//`define Out6IsMagiq
//`define Out7IsAD9910
//`define Out7IsShutters
//`define SerialOutputOut2_7
//`define ExternalClock
//
// Debug: in debug mode internal clock divided signals are fed to the counter inputs instead of the
// external inputs. This is convenient for debugging, but totally useless for production
// make sure this line is commented out for a functional firmware
// `define Debug
///////////////////////////////////////////////////////////////////////////////////
`ifdef ConfigurationSandiaOrig
// needs xem6010-Breakout1.ucf
`define BreakoutSandia2
`define InvertSma
`define Out6IsAD9912
`define SerialOutputOut2_7
`define PILoops
parameter HardwareConfigurationId = 16'h4201;
`endif
`ifdef ConfigurationQGA
// needs xem6010-BreakoutDuke-readyForExtClk.ucf
`define BreakoutDuke
`define IndependentInputs
`define BreakoutDukeADCDAC
// `define ExternalClock
`define InvertSma
`define Out6IsAD9912
`define SerialOutputOut2_7
`define PILoops
`define DACScanning
parameter HardwareConfigurationId = 16'h4202;
`endif
`ifdef ConfigurationQGAExt
// needs xem6010-BreakoutDuke_externalClock.ucf
`define BreakoutDuke
//`define IndependentInputs
`define BreakoutDukeADCDAC
`define ExternalClock
`define ExternalClockImplementation
`define InvertSma
`define Out6IsAD9912
`define SerialOutputOut2_7
`define PILoops
`define DACScanning
parameter HardwareConfigurationId = 16'h4204;
`endif
`ifdef ConfigurationWiggelyBox
// needs xem6010-Breakout1.ucf
`define BreakoutSandia
`define WiggelyLineBox
`define InvertSma
parameter HardwareConfigurationId = 16'h4203;
`endif
`ifdef ConfigurationMD1
// needs xem6010-BreakoutDuke.ucf
`define BreakoutDuke
`define IndependentInputs
`define BreakoutDukeADCDAC
`define Out6IsAD9912
`define Out7IsShutters
`define PILoops
`define DACScanning
`define SerialOutputOut2_7
parameter HardwareConfigurationId = 16'h7001;
`endif
`ifdef ConfigurationMD2
// needs xem6010-BreakoutDuke3b.ucf
`define BreakoutDuke3b
`define IndependentInputs
`define BreakoutDukeADCDAC
`define Out6IsAD9912
`define Out7IsAD9912
`define PILoops
`define DACScanning
`define SerialOutputOut2_7
parameter HardwareConfigurationId = 16'h7002;
`endif
`ifdef ConfigurationDuke1
// needs xem6010-BreakoutDuke.ucf
`define BreakoutDuke
`define IndependentInputs
`define BreakoutDukeADCDAC
`define Out6IsAD9912
//`define Out7IsAD9910
`define PILoops
`define SerialOutputOut2_7
`define DACScanning
parameter HardwareConfigurationId = 16'h7701;
`endif
`ifdef ConfigurationCavity
`define BreakoutDuke
`define IndependentInputs
`define BreakoutDukeADCDAC
`define Out6IsAD9912
`define Out7IsShutters
`define PILoops
`define SerialOutputOut2_7
`define PDHAutoLock
parameter HardwareConfigurationId = 16'h4204;
`endif
`ifdef ConfigurationE
`define BreakoutDuke
`define IndependentInputs
`define BreakoutDukeADCDAC
`define Out6IsAD9912
`define Out7IsShutters
`define PILoops
`define ExternalClock
parameter HardwareConfigurationId = 16'h4205;
`endif
//`define SlowDDSClk
//`define __LX45__
//`define __DISABLE_DIV__
`endif