##// END OF EJS Templates
Versiones de pruebas de integracion OK
lgonzales -
r223:224
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -0,0 +1,20
1 
2 Microsoft Visual Studio Solution File, Format Version 11.00
3 # Atmel Studio Solution File, Format Version 11.00
4 Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "ADCSPI_v01", "ADCSPI_v01\ADCSPI_v01.cproj", "{7024C456-574A-4FD1-BAA2-1F09B3D11566}"
5 EndProject
6 Global
7 GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 Debug|AVR = Debug|AVR
9 Release|AVR = Release|AVR
10 EndGlobalSection
11 GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 {7024C456-574A-4FD1-BAA2-1F09B3D11566}.Debug|AVR.ActiveCfg = Debug|AVR
13 {7024C456-574A-4FD1-BAA2-1F09B3D11566}.Debug|AVR.Build.0 = Debug|AVR
14 {7024C456-574A-4FD1-BAA2-1F09B3D11566}.Release|AVR.ActiveCfg = Release|AVR
15 {7024C456-574A-4FD1-BAA2-1F09B3D11566}.Release|AVR.Build.0 = Release|AVR
16 EndGlobalSection
17 GlobalSection(SolutionProperties) = preSolution
18 HideSolutionNode = FALSE
19 EndGlobalSection
20 EndGlobal
1 NO CONTENT: new file 10644
@@ -0,0 +1,147
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <PropertyGroup>
4 <SchemaVersion>2.0</SchemaVersion>
5 <ProjectVersion>6.2</ProjectVersion>
6 <ToolchainName>com.Atmel.AVRGCC8.C</ToolchainName>
7 <ProjectGuid>{7024c456-574a-4fd1-baa2-1f09b3d11566}</ProjectGuid>
8 <avrdevice>ATxmega32D4</avrdevice>
9 <avrdeviceseries>none</avrdeviceseries>
10 <OutputType>Executable</OutputType>
11 <Language>C</Language>
12 <OutputFileName>$(MSBuildProjectName)</OutputFileName>
13 <OutputFileExtension>.elf</OutputFileExtension>
14 <OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
15 <AssemblyName>ADCSPI_v01</AssemblyName>
16 <Name>ADCSPI_v01</Name>
17 <RootNamespace>ADCSPI_v01</RootNamespace>
18 <ToolchainFlavour>Native</ToolchainFlavour>
19 <KeepTimersRunning>true</KeepTimersRunning>
20 <OverrideVtor>false</OverrideVtor>
21 <CacheFlash>true</CacheFlash>
22 <ProgFlashFromRam>true</ProgFlashFromRam>
23 <RamSnippetAddress>0x20000000</RamSnippetAddress>
24 <UncachedRange />
25 <preserveEEPROM>true</preserveEEPROM>
26 <OverrideVtorValue>exception_table</OverrideVtorValue>
27 <BootSegment>2</BootSegment>
28 <eraseonlaunchrule>0</eraseonlaunchrule>
29 <AsfFrameworkConfig>
30 <framework-data xmlns="">
31 <options />
32 <configurations />
33 <files />
34 <documentation help="" />
35 <offline-documentation help="" />
36 <dependencies>
37 <content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.28.1" />
38 </dependencies>
39 </framework-data>
40 </AsfFrameworkConfig>
41 <avrtool>com.atmel.avrdbg.tool.atmelice</avrtool>
42 <avrtoolinterface>PDI</avrtoolinterface>
43 <com_atmel_avrdbg_tool_atmelice>
44 <ToolOptions>
45 <InterfaceProperties>
46 <PdiClock>4000000</PdiClock>
47 </InterfaceProperties>
48 <InterfaceName>PDI</InterfaceName>
49 </ToolOptions>
50 <ToolType>com.atmel.avrdbg.tool.atmelice</ToolType>
51 <ToolNumber>J41800030896</ToolNumber>
52 <ToolName>Atmel-ICE</ToolName>
53 </com_atmel_avrdbg_tool_atmelice>
54 </PropertyGroup>
55 <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
56 <ToolchainSettings>
57 <AvrGcc>
58 <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
59 <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
60 <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
61 <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
62 <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
63 <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
64 <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
65 <avrgcc.compiler.symbols.DefSymbols>
66 <ListValues>
67 <Value>NDEBUG</Value>
68 </ListValues>
69 </avrgcc.compiler.symbols.DefSymbols>
70 <avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
71 <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
72 <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
73 <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
74 <avrgcc.linker.libraries.Libraries>
75 <ListValues>
76 <Value>libm</Value>
77 </ListValues>
78 </avrgcc.linker.libraries.Libraries>
79 </AvrGcc>
80 </ToolchainSettings>
81 </PropertyGroup>
82 <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
83 <ToolchainSettings>
84 <AvrGcc>
85 <avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
86 <avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
87 <avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
88 <avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
89 <avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
90 <avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
91 <avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
92 <avrgcc.compiler.symbols.DefSymbols>
93 <ListValues>
94 <Value>DEBUG</Value>
95 </ListValues>
96 </avrgcc.compiler.symbols.DefSymbols>
97 <avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
98 <avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
99 <avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
100 <avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
101 <avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
102 <avrgcc.linker.libraries.Libraries>
103 <ListValues>
104 <Value>libm</Value>
105 </ListValues>
106 </avrgcc.linker.libraries.Libraries>
107 <avrgcc.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcc.assembler.debugging.DebugLevel>
108 </AvrGcc>
109 </ToolchainSettings>
110 </PropertyGroup>
111 <ItemGroup>
112 <Compile Include="ADC_7176_2.c">
113 <SubType>compile</SubType>
114 </Compile>
115 <Compile Include="ADC_7176_2.h">
116 <SubType>compile</SubType>
117 </Compile>
118 <Compile Include="commSPI_ADC.h">
119 <SubType>compile</SubType>
120 </Compile>
121 <Compile Include="main.c">
122 <SubType>compile</SubType>
123 </Compile>
124 <Compile Include="commSPI_ADC.c">
125 <SubType>compile</SubType>
126 </Compile>
127 <Compile Include="fpga_port.c">
128 <SubType>compile</SubType>
129 </Compile>
130 <Compile Include="fpga_port.h">
131 <SubType>compile</SubType>
132 </Compile>
133 <Compile Include="Ports.c">
134 <SubType>compile</SubType>
135 </Compile>
136 <Compile Include="Ports.h">
137 <SubType>compile</SubType>
138 </Compile>
139 <Compile Include="sys_clock.c">
140 <SubType>compile</SubType>
141 </Compile>
142 <Compile Include="sys_clock.h">
143 <SubType>compile</SubType>
144 </Compile>
145 </ItemGroup>
146 <Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
147 </Project> No newline at end of file
@@ -0,0 +1,257
1 /*
2 * ADC_7176_2.c
3 *
4 * Created: 26/04/16 11:46:48
5 * Author: Francisco
6 */
7
8 /*!
9 * \fn test_adc
10 * \brief Lectura de ID del adc
11 *
12 * Lectura esperada: 0x0C94
13 *
14 * Esta funci�n tiene como fin probar la comunicaci�n on el ADC
15 *
16 #define ADC_WENbar_bm (1<<7)
17 #define ADC_RWbar_bm (1<<6)
18 #define ADC_ADDR_READ_ID 0x07
19 * \
20 */
21
22 #define F_CPU 32000000UL
23 #include <avr/io.h>
24 #include "ADC_7176_2.h"
25 #include <util/delay.h>
26
27 inline uint16_t test_adc(void){
28 uint16_t aux;
29 PORTSPI.OUTCLR = SPI_SS_bm;
30 adcport_tranceiv((ADC_ADDR_READ_ID|ADC_RWbar_bm)&(~ADC_WENbar_bm));
31 aux = adcport_tranceiv(0);
32 aux = (aux << 8) | adcport_tranceiv(0);
33 PORTSPI.OUTSET = SPI_SS_bm;
34 return aux;
35 }
36
37 inline void test_adc_2(uint8_t* dato){
38 PORTSPI.OUTCLR = SPI_SS_bm;
39 adcport_read_data(dato,ADC_DATASZ);
40 PORTSPI.OUTSET = SPI_SS_bm;
41 }
42
43 inline uint16_t test_adc_3(void){
44 uint16_t aux;
45 PORTSPI.OUTCLR = SPI_SS_bm;
46 adcport_tranceiv((ADC_FILTCON0|ADC_RWbar_bm)&(~ADC_WENbar_bm));
47 aux = adcport_tranceiv(0);
48 aux = (aux << 8) | adcport_tranceiv(0);
49 PORTSPI.OUTSET = SPI_SS_bm;
50 return aux;
51 }
52
53 /*!
54 * \fn adcport_tranceiv
55 * \brief Realiza la transmision y recepcion simultanea de datos entre el ADC y
56 * el microcontrolador.
57 * Incluso en para leer un dato del ADC se debe transmitir, ya que solo la
58 * transmision genera clock en el pin "sclk"
59 * \param El dato a transmitir
60 * \return El dato leido del ADC
61 */
62 inline uint8_t adcport_tranceiv(uint8_t data){
63 //
64 SPIC.DATA = data;
65
66 //Wait until transmission complete
67 while( !(SPIC.STATUS & SPI_IF_bm));
68
69 // Return received data
70
71 return SPIC.DATA;
72 }
73
74 /*!
75 * \fn adcport_readdata
76 * \brief Realiza la lectura de datos en modo de conversi�n continua
77 * el microcontrolador.
78 * Incluso en para leer un dato del ADC se debe transmitir, ya que solo la
79 * transmision genera clock en el pin "sclk"
80 * \param La direcci�n del puntero a dato
81 * \return Ninguno s�lo se llena el puntero al dato
82 */
83 inline void adcport_read_data(uint8_t* dato,int j)
84 {
85
86 //Env�o del comando de lectura de datos 0x44
87 adcport_tranceiv((ADC_RD | ADC_RWbar_bm)&(~ADC_WENbar_bm));
88
89 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
90
91 // Save received data
92 for(int i=0; i<j ; i++)
93 dato[i] = adcport_tranceiv(0); //Escribo el bit m�s significativo en el byte de orden 0 y el menos significativo en el orden (ADC_DATASZ-1)
94 //Si se desease almacenar el dato de byte menos significativo a m�s signficativo: dato[j-i-1] = adcport_tranceiv(0);
95 }
96
97 inline void adcport_read_data_contread(uint8_t* dato,int j)
98 {
99
100 //Env�o del comando de lectura de datos 0x44
101 //adcport_tranceiv((ADC_RD | ADC_RWbar_bm)&(~ADC_WENbar_bm));
102
103 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
104
105 // Save received data
106 for(int i=0; i<j ; i++)
107 dato[i] = adcport_tranceiv(0); //Escribo el bit m�s significativo en el byte de orden 0 y el menos significativo en el orden (ADC_DATASZ-1)
108 //Si se desease almacenar el dato de byte menos significativo a m�s signficativo: dato[j-i-1] = adcport_tranceiv(0);
109 }
110
111 inline void adcport_read_data_synconv(uint8_t* dato,int j)
112 {
113
114 //Env�o del comando de lectura de datos 0x44
115 adcport_tranceiv((ADC_MODREG)&(~ADC_WENbar_bm)&(~ADC_RWbar_bm));
116 adcport_tranceiv((ADC_REFEN_bm<<ADC_REFOUT_bp)|(ADC_SINGLECONV_EN_bm<<ADC_SYNCYC_bp)); //0b10000000
117 adcport_tranceiv(ADC_SINGLECONV<<ADC_MODECONV_bp); //0b00010000
118
119 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
120
121 // Save received data
122 for(int i=0; i<j ; i++)
123 dato[i] = adcport_tranceiv(0); //Escribo el bit m�s significativo en el byte de orden 0 y el menos significativo en el orden (ADC_DATASZ-1)
124 //Si se desease almacenar el dato de byte menos significativo a m�s signficativo: dato[j-i-1] = adcport_tranceiv(0);
125 }
126
127 void config_adc(void)
128 {
129 PORTSPI.OUTCLR = SPI_SS_bm;
130 adcport_write_reset();
131 PORTSPI.OUTSET = SPI_SS_bm;
132
133 _delay_us(300);
134
135 PORTSPI.OUTCLR = SPI_SS_bm;
136 adcport_write_adcmode();
137 //PORTSPI.OUTSET = SPI_SS_bm;
138
139 //PORTSPI.OUTCLR = SPI_SS_bm;
140 adcport_write_interfmode();
141 //PORTSPI.OUTSET = SPI_SS_bm;
142
143 //PORTSPI.OUTCLR = SPI_SS_bm;
144 adcport_write_filtcon0();
145 //PORTSPI.OUTSET = SPI_SS_bm;
146
147 //PORTSPI.OUTCLR = SPI_SS_bm;
148 adcport_write_setupcon0();
149 //PORTSPI.OUTSET = SPI_SS_bm;
150
151 //PORTSPI.OUTCLR = SPI_SS_bm;
152 adcport_write_chmapreg0();
153 //PORTSPI.OUTSET = SPI_SS_bm;
154
155 //PORTSPI.OUTCLR = SPI_SS_bm;
156 adcport_write_chmapreg1();
157 //PORTSPI.OUTSET = SPI_SS_bm;
158
159 //PORTSPI.OUTCLR = SPI_SS_bm;
160 adcport_write_chmapreg2();
161 //PORTSPI.OUTSET = SPI_SS_bm;
162
163 //PORTSPI.OUTCLR = SPI_SS_bm;
164 adcport_write_chmapreg3();
165 PORTSPI.OUTSET = SPI_SS_bm;
166
167 }
168
169 void adcport_write_adcmode(void)
170 {
171 adcport_tranceiv((ADC_MODREG) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
172 adcport_tranceiv((ADC_REFEN_bm<<ADC_REFOUT_bp)|(ADC_SINGLECONV_NEN_bm<<ADC_SYNCYC_bp));
173 adcport_tranceiv(ADC_CONTCONV<<ADC_MODECONV_bp);
174 }
175
176 void adcport_write_adcmode_2(void)
177 {
178 PORTSPI.OUTCLR = SPI_SS_bm;
179 adcport_tranceiv((ADC_MODREG) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
180 adcport_tranceiv((ADC_REFEN_bm<<ADC_REFOUT_bp)|(ADC_SINGLECONV_EN_bm<<ADC_SYNCYC_bp));
181 adcport_tranceiv(ADC_CONTCONV<<ADC_MODECONV_bp);
182 PORTSPI.OUTSET = SPI_SS_bm;
183 }
184
185 void adcport_write_filtcon0(void)
186 {
187 adcport_tranceiv((ADC_FILTCON0) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
188 adcport_tranceiv(0);
189 adcport_tranceiv((ADC_SINC5SINC1<<ADC_FILT0_ORDER0_bp)|(ADC_50000S<<ADC_FILT0_ODR0_bp));
190 }
191
192 inline uint16_t adcport_read_filtcon0(void)
193 {
194
195 uint16_t aux;
196 //PORTSPI.OUTCLR = SPI_SS_bm;
197 adcport_tranceiv((ADC_FILTCON0|ADC_RWbar_bm)&(~ADC_WENbar_bm));
198 //adcport_tranceiv(0xFF);
199 aux = adcport_tranceiv(0);
200 aux = (aux << 8) | adcport_tranceiv(0);
201 //PORTSPI.OUTSET = SPI_SS_bm;
202 return aux;
203 }
204
205 void adcport_write_interfmode(void)
206 {
207 adcport_tranceiv((ADC_INTERFMODE_REG) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
208 adcport_tranceiv(ADC_IOSTRENGTH_NE<<ADC_IOSTRENGTH_bp);
209 adcport_tranceiv((ADC_CONTREAD_NE<<ADC_CONTREAD_bp)|(ADC_24b<<ADC_WL16_bp));
210 }
211
212 void adcport_write_chmapreg0(void)
213 {
214 adcport_tranceiv((ADC_CHMAPREG0) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
215 adcport_tranceiv((ADC_CHMAPEN_E<<ADC_CHMAPEN_bp)|(ADC_SET0_bm<<ADC_CHSETSEL_bp)|(ADC_AINPOSUB1_bm<<ADC_AINPOSUB_bp));
216 adcport_tranceiv((ADC_AINPOSLB1_bm<<ADC_AINPOSLB_bp)|(ADC_AINEG0_bm<<ADC_AINNEG_bp));
217 }
218
219 void adcport_write_chmapreg1(void)
220 {
221 adcport_tranceiv((ADC_CHMAPREG1) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
222 adcport_tranceiv((ADC_CHMAPEN_NE<<ADC_CHMAPEN_bp)|(ADC_SET0_bm<<ADC_CHSETSEL_bp)|(ADC_AINPOSUB0_bm<<ADC_AINPOSUB_bp));
223 adcport_tranceiv((ADC_AINPOSLB0_bm<<ADC_AINPOSLB_bp)|(ADC_AINEG1_bm<<ADC_AINNEG_bp));
224 }
225
226 void adcport_write_chmapreg2(void)
227 {
228 adcport_tranceiv((ADC_CHMAPREG2) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
229 adcport_tranceiv((ADC_CHMAPEN_NE<<ADC_CHMAPEN_bp)|(ADC_SET0_bm<<ADC_CHSETSEL_bp)|(ADC_AINPOSUB0_bm<<ADC_AINPOSUB_bp));
230 adcport_tranceiv((ADC_AINPOSLB0_bm<<ADC_AINPOSLB_bp)|(ADC_AINEG1_bm<<ADC_AINNEG_bp));
231 }
232
233 void adcport_write_chmapreg3(void)
234 {
235 adcport_tranceiv((ADC_CHMAPREG3) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
236 adcport_tranceiv((ADC_CHMAPEN_NE<<ADC_CHMAPEN_bp)|(ADC_SET0_bm<<ADC_CHSETSEL_bp)|(ADC_AINPOSUB0_bm<<ADC_AINPOSUB_bp));
237 adcport_tranceiv((ADC_AINPOSLB0_bm<<ADC_AINPOSLB_bp)|(ADC_AINEG1_bm<<ADC_AINNEG_bp));
238 }
239
240 void adcport_write_setupcon0(void)
241 {
242 adcport_tranceiv((ADC_SETUPCON0) & (~ADC_WENbar_bm | ~ADC_RWbar_bm));
243 adcport_tranceiv((ADC_OFFSETBIP_bm<<ADC_BI_UNIPOLAR_bp));
244 adcport_tranceiv((ADC_INT25V_bm<<ADC_REFSEL_bp));
245 }
246
247 void adcport_write_reset(void)
248 {
249 adcport_tranceiv(0xFF);
250 adcport_tranceiv(0xFF);
251 adcport_tranceiv(0xFF);
252 adcport_tranceiv(0xFF);
253 adcport_tranceiv(0xFF);
254 adcport_tranceiv(0xFF);
255 adcport_tranceiv(0xFF);
256 adcport_tranceiv(0xFF);
257 } No newline at end of file
@@ -0,0 +1,147
1 /*
2 * ADC_7176_2.h
3 *
4 * Created: 26/04/16 11:47:27
5 * Author: Francisco
6 */
7
8
9
10 #ifndef ADC_7176_2_H_
11 #define ADC_7176_2_H_
12
13 #define F_CPU 32000000UL
14 #include <avr/io.h>
15 #include "Ports.h"
16 #include "commSPI_ADC.h"
17
18 //ID esperada
19 //tama�o 16 bits
20 //Valor 0x0C94
21 #define ADC_VALFIL0 0x0013
22 //#define ADC_VALFIL0 0x8000
23 #define ADC_ID 0x0C94
24 #define ADC_RD 0x04
25
26 #define ADC_MODREG 0x01
27 #define ADC_DATREG 0x04
28 #define ADC_FILTCON0 0x28
29 #define ADC_INTERFMODE_REG 0x02
30
31 #define ADC_ADDR_READ_ID (0x07)
32 #define ADC_CHMAPREG0 0x10
33 #define ADC_CHMAPREG1 0x11
34 #define ADC_CHMAPREG2 0x12
35 #define ADC_CHMAPREG3 0x13
36 #define ADC_SETUPCON0 0x20
37
38 #define ADC_DATASZ 3 //Numero de bytes
39
40 //Definici�n de orden de los bits de habilitaci�n, escritura lectura y direcci�n
41 #define ADC_WENbar_bm 0b10000000
42 #define ADC_RWbar_bm 0b01000000
43 #define ADC_FILT0_ORDER0_bp 5
44 #define ADC_FILT0_ODR0_bp 0
45
46 #define ADC_CONTREAD_bp 7
47 #define ADC_WL16_bp 0
48 #define ADC_IOSTRENGTH_bp 3
49 #define ADC_IOSTRENGTH_E 0b1
50 #define ADC_IOSTRENGTH_NE 0b0
51
52 #define ADC_SYNCYC_bp 5
53 #define ADC_REFOUT_bp 7
54 #define ADC_MODECONV_bp 4
55 #define ADC_SINGLECONV 0b001
56 #define ADC_CONTCONV 0b000
57
58 #define ADC_SINC5SINC1 0b00
59 #define ADC_CONTREAD_E 0b1
60 #define ADC_CONTREAD_NE 0b0
61
62 #define ADC_REFEN_bm 0b1
63 #define ADC_REFNEN_bm 0b0
64
65 #define ADC_SINGLECONV_EN_bm 0b1
66 #define ADC_SINGLECONV_NEN_bm 0b0
67
68 #define ADC_CHMAPEN_bp 7
69 #define ADC_CHMAPEN_E 1
70 #define ADC_CHMAPEN_NE 0
71
72
73 #define ADC_CHSETSEL_bp 4
74 #define ADC_SET0_bm 0b000
75
76 #define ADC_AINPOSUB_bp 0
77 #define ADC_AINPOSLB_bp 5
78 #define ADC_AINNEG_bp 0
79
80 #define ADC_AINPOSUB0_bm 0b00
81 #define ADC_AINPOSLB0_bm 0b000
82 #define ADC_AINEG1_bm 0b00001
83
84 #define ADC_AINPOSUB1_bm 0b00
85 #define ADC_AINPOSLB1_bm 0b001
86 #define ADC_AINEG0_bm 0b00000
87
88
89 #define ADC_BI_UNIPOLAR_bp 4
90 #define ADC_OFFSETBIP_bm 0b1
91 #define ADC_REFSEL_bp 4
92 #define ADC_INT25V_bm 0b10
93
94
95
96
97 #define ADC_250000S 0b00000
98 #define ADC_125000S 0b00001
99 #define ADC_62500S 0b00010
100 #define ADC_50000S 0b00011
101 #define ADC_31250S 0b00100
102 #define ADC_25000S 0b00101
103 #define ADC_15625S 0b00110
104 #define ADC_10000S 0b00111
105 #define ADC_5000S 0b01000
106 #define ADC_2500S 0b01001
107 #define ADC_1000S 0b01010
108 #define ADC_500S 0b01011
109 #define ADC_3975S 0b01100
110 #define ADC_200S 0b01101
111 #define ADC_100S 0b01110
112 #define ADC_5994S 0b01111
113 #define ADC_4996S 0b10000
114 #define ADC_20S 0b10001
115 #define ADC_166S 0b10010
116 #define ADC_10S 0b10011
117 #define ADC_5S 0b10100
118
119 #define ADC_24b 0b0
120 #define ADC_16b 0b1
121
122 uint8_t adcport_tranceiv(uint8_t data);
123 void adcport_read_data(uint8_t* dato,int j);
124
125 uint16_t adcport_read_filtcon0(void);
126
127 void adcport_write_filtcon0(void);
128 void adcport_write_interfmode(void);
129 void adcport_write_adcmode(void);
130 void adcport_write_reset(void);
131 void adcport_write_chmapreg0(void);
132 void adcport_write_chmapreg1(void);
133 void adcport_write_chmapreg2(void);
134 void adcport_write_chmapreg3(void);
135 void adcport_write_setupcon0(void);
136 void adcport_write_adcmode_2(void);
137 void adcport_read_data_synconv(uint8_t* dato,int j);
138 void adcport_read_data_contread(uint8_t* dato,int j);
139
140
141 uint16_t test_adc(void);
142 void test_adc_2(uint8_t* dato);
143 uint16_t test_adc_3(void);
144
145 void config_adc(void);
146
147 #endif /* ADC_7176_2_H_ */ No newline at end of file
@@ -0,0 +1,1
1 :00000001FF
1 NO CONTENT: new file 10644
@@ -0,0 +1,143
1 :100000000C94B6000C94C8000C94AC020C94C8007C
2 :100010000C94C8000C94C8000C94C8000C94C80040
3 :100020000C94C8000C94C8000C94C8000C94C80030
4 :100030000C94C8000C94C8000C94C8000C94C80020
5 :100040000C94C8000C94C8000C94C8000C94C80010
6 :100050000C94C8000C94C8000C94C8000C94C80000
7 :100060000C94C8000C94C8000C94C8000C94C800F0
8 :100070000C94C8000C94C8000C94C8000C94C800E0
9 :100080000C94C8000C94C8000C94C8000C94630233
10 :100090000C94C8000C94C8000C94C8000C94C800C0
11 :1000A0000C94C8000C94C8000C94C8000C94C800B0
12 :1000B0000C94C8000C94C8000C94C8000C94C800A0
13 :1000C0000C94C8000C94C8000C94C8000C94C80090
14 :1000D0000C94C8000C94C8000C94C8000C94C80080
15 :1000E0000C94C8000C94C8000C94C8000C94C80070
16 :1000F0000C94C8000C94C8000C94C8000C94C80060
17 :100100000C942F020C94C8000C94C8000C94C800E6
18 :100110000C94C8000C94C8000C94C8000C94C8003F
19 :100120000C94C8000C94C8000C94C8000C94C8002F
20 :100130000C94C8000C94C8000C94C8000C94C8001F
21 :100140000C94C8000C94C8000C94C8000C94C8000F
22 :100150000C94C8000C94C8000C94C8000C94C800FF
23 :100160000C94C8000C94C8000C94C80011241FBE45
24 :10017000CFEFCDBFDFE2DEBF20E2A0E0B0E201C002
25 :100180001D92A230B207E1F70E941E020C9468048F
26 :100190000C94000024E4E0ECF8E023832281222385
27 :1001A000ECF7E0ECF8E023811616170664F4DC01A6
28 :1001B000860F971F138222812223ECF723812D9330
29 :1001C000A817B907B9F7089581E0E0ECF8E0838358
30 :1001D00082818823ECF7E0ECF8E0838180E8838378
31 :1001E00082818823ECF7E0ECF8E08381138282813E
32 :1001F0008823ECF7E0ECF8E08381089588E2E0ECF6
33 :10020000F8E0838382818823ECF7E0ECF8E08381D7
34 :10021000138282818823ECF7E0ECF8E0838183E0AD
35 :10022000838382818823ECF7E0ECF8E083810895F2
36 :1002300082E0E0ECF8E0838382818823ECF7E0EC55
37 :10024000F8E08381138282818823ECF7E0ECF8E008
38 :100250008381138282818823ECF7E0ECF8E08381CC
39 :10026000089580E1E0ECF8E0838382818823ECF755
40 :10027000E0ECF8E0838180E8838382818823ECF7D7
41 :10028000E0ECF8E0838180E2838382818823ECF7CD
42 :10029000E0ECF8E08381089581E1E0ECF8E083830D
43 :1002A00082818823ECF7E0ECF8E08381138282817D
44 :1002B0008823ECF7E0ECF8E0838181E0838382819E
45 :1002C0008823ECF7E0ECF8E08381089582E1E0EC2C
46 :1002D000F8E0838382818823ECF7E0ECF8E0838107
47 :1002E000138282818823ECF7E0ECF8E0838181E0DF
48 :1002F000838382818823ECF7E0ECF8E08381089522
49 :1003000083E1E0ECF8E0838382818823ECF7E0EC82
50 :10031000F8E08381138282818823ECF7E0ECF8E037
51 :10032000838181E0838382818823ECF7E0ECF8E02D
52 :100330008381089580E2E0ECF8E083838281882362
53 :10034000ECF7E0ECF8E0838180E18383828188230D
54 :10035000ECF7E0ECF8E0838180E2838382818823FC
55 :10036000ECF7E0ECF8E0838108958FEFE0ECF8E043
56 :10037000838382818823ECF7E0ECF8E083818FEFC0
57 :10038000838382818823ECF7E0ECF8E083818FEFB0
58 :10039000838382818823ECF7E0ECF8E083818FEFA0
59 :1003A000838382818823ECF7E0ECF8E083818FEF90
60 :1003B000838382818823ECF7E0ECF8E083818FEF80
61 :1003C000838382818823ECF7E0ECF8E083818FEF70
62 :1003D000838382818823ECF7E0ECF8E083818FEF60
63 :1003E000838382818823ECF7E0ECF8E08381089531
64 :1003F0001F93CF93DF93C0E4D6E010E11E830E94E9
65 :10040000B5011D838FE599E00197F1F700C0000069
66 :100410001E830E94E4000E9418010E94FE000E94B8
67 :100420009A010E9431010E944C010E9466010E94C3
68 :1004300080011D83DF91CF911F9108950E94CF030A
69 :100440000E9449040E94E4020E94E8020E94F8010E
70 :1004500084E0E0EAF0E082830E941B03FFCF1F925A
71 :100460000F920FB60F9211248F939F93EF93FF93E8
72 :10047000E0E6F6E0808581FF11C081E0E0E4F6E08F
73 :10048000848792E0E0E2F6E09487E0EAF0E092818F
74 :1004900092609283E0E0F6E085830CC0E0EAF0E051
75 :1004A00082818D7F828382818E7F828381E0E0E002
76 :1004B000F6E08683FF91EF919F918F910F900FBE91
77 :1004C0000F901F9018951F920F920FB60F92112444
78 :1004D0008F93EF93FF93E0EAF0E082818E7F828337
79 :1004E000E0E4F6E081E084878487000000000000FB
80 :1004F00000001092002010920120E0EAF0E08281DA
81 :1005000081608283E0E4F6E081E0848780E1858396
82 :10051000000084E0E0E6F6E08583000000000000D3
83 :1005200000000000000000000000000000000000CB
84 :100530000000000080E1E0E4F6E086838AE68A9528
85 :10054000F1F700C081E08487FF91EF918F910F90C8
86 :100550000FBE0F901F9018951F920F920FB60F921B
87 :1005600011242F933F934F935F936F937F938F93B8
88 :100570009F93AF93BF93EF93FF938091002090914F
89 :10058000012080329E445CF40E94B90380910020D7
90 :10059000909101200196809300209093012081E0AA
91 :1005A000E0E4F6E08487FF91EF91BF91AF919F91D6
92 :1005B0008F917F916F915F914F913F912F910F900C
93 :1005C0000FBE0F901F9018958CED8093C008089572
94 :1005D000CF93DF93E0E6F6E0118A92E0928320E188
95 :1005E000228B84E081838683A0E2B6E012968C930E
96 :1005F000129752962C935297C0E0D6E021E02983BF
97 :100600002E8321852360218792879189987F918B02
98 :100610009185937F986019969C9319971B968C935C
99 :100620001B9752968C915297887F816052968C933B
100 :10063000DF91CF91089578940895000000000000A4
101 :1006400000000000000000000000000000000000AA
102 :10065000000000000000000000000000000000009A
103 :10066000000084E0E0E6F6E0858300000000000082
104 :10067000000000000000000000000000000000007A
105 :10068000000000000000000000000000000000006A
106 :1006900000008683868188E48483000000000000D7
107 :1006A000000000000000000000000000000000004A
108 :1006B000000000000000000000000000000000003A
109 :1006C000000084E0858300000000000000000000BE
110 :1006D000000000000000000000000000000000001A
111 :1006E0000000000000000000000000000000868301
112 :1006F000868180E684830000000000000000000086
113 :1007000000000000000000000000000000000000E9
114 :10071000000000000000000000000000000084E075
115 :1007200085830000000000000000000000000000C1
116 :1007300000000000000000000000000000000000B9
117 :1007400000000000000008950F931F93CF93DF93E4
118 :100750008C01C0E0D0E0F80181918F010E941D035F
119 :100760002196C330D105B9F7DF91CF911F910F9139
120 :100770000895CF93DF9300D01F92CDB7DEB763E02B
121 :1007800070E0CE0101960E94CA00CE0101960E943F
122 :10079000A4032396CDBFDEBFDF91CF910895E0E0A3
123 :1007A000F6E088E1878B868B858B848B838B828BAD
124 :1007B000818B9EEF928398E3908B91E09683918357
125 :1007C000E0E2F6E0838B828B818B808B2FE02283AB
126 :1007D000E0E4F6E0868B838B828B818B808B9FE4B9
127 :1007E0009283158A178A148A90EB918390E99583F6
128 :1007F00090E29683A0E6B6E094E011969C93119760
129 :1008000016969C93169757968C93579750968C9361
130 :10081000509793E812969C93129790E151969C936F
131 :10082000519756961C92569755961C9255975496EA
132 :100830001C92549753961C92539738E711963C9309
133 :10084000119716963C93A0E8B6E053968C93539775
134 :1008500052968C93529751968C93519750968C93B5
135 :10086000509712962C93A0EEB7E051969C93519717
136 :1008700093E012969C93129750968C9380E4828713
137 :1008800081858C7F816081878689887F8260868B65
138 :10089000089510924100E0E5F0E080818660808359
139 :1008A000818182FFFDCFE0E5F0E0818181FFFDCF16
140 :1008B00081E080936000E0E5F0E096819D7F968383
141 :1008C00098ED94BF8093400080818E7F808308954F
142 :0408D000F894FFCFCA
143 :00000001FF
This diff has been collapsed as it changes many lines, (1825 lines changed) Show them Hide them
@@ -0,0 +1,1825
1
2 ADCSPI_v01.elf: file format elf32-avr
3
4 Sections:
5 Idx Name Size VMA LMA File off Algn
6 0 .text 000008d4 00000000 00000000 00000074 2**1
7 CONTENTS, ALLOC, LOAD, READONLY, CODE
8 1 .bss 00000002 00802000 00802000 00000948 2**0
9 ALLOC
10 2 .comment 00000030 00000000 00000000 00000948 2**0
11 CONTENTS, READONLY
12 3 .debug_aranges 00000198 00000000 00000000 00000978 2**0
13 CONTENTS, READONLY, DEBUGGING
14 4 .debug_info 00001a04 00000000 00000000 00000b10 2**0
15 CONTENTS, READONLY, DEBUGGING
16 5 .debug_abbrev 00000726 00000000 00000000 00002514 2**0
17 CONTENTS, READONLY, DEBUGGING
18 6 .debug_line 00000c70 00000000 00000000 00002c3a 2**0
19 CONTENTS, READONLY, DEBUGGING
20 7 .debug_frame 0000034c 00000000 00000000 000038ac 2**2
21 CONTENTS, READONLY, DEBUGGING
22 8 .debug_str 000008ad 00000000 00000000 00003bf8 2**0
23 CONTENTS, READONLY, DEBUGGING
24 9 .debug_loc 00000564 00000000 00000000 000044a5 2**0
25 CONTENTS, READONLY, DEBUGGING
26 10 .debug_ranges 00000138 00000000 00000000 00004a09 2**0
27 CONTENTS, READONLY, DEBUGGING
28
29 Disassembly of section .text:
30
31 00000000 <__vectors>:
32 0: 0c 94 b6 00 jmp 0x16c ; 0x16c <__ctors_end>
33 4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
34 8: 0c 94 ac 02 jmp 0x558 ; 0x558 <__vector_2>
35 c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
36 10: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
37 14: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
38 18: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
39 1c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
40 20: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
41 24: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
42 28: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
43 2c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
44 30: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
45 34: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
46 38: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
47 3c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
48 40: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
49 44: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
50 48: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
51 4c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
52 50: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
53 54: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
54 58: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
55 5c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
56 60: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
57 64: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
58 68: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
59 6c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
60 70: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
61 74: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
62 78: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
63 7c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
64 80: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
65 84: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
66 88: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
67 8c: 0c 94 63 02 jmp 0x4c6 ; 0x4c6 <__vector_35>
68 90: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
69 94: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
70 98: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
71 9c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
72 a0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
73 a4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
74 a8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
75 ac: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
76 b0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
77 b4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
78 b8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
79 bc: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
80 c0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
81 c4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
82 c8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
83 cc: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
84 d0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
85 d4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
86 d8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
87 dc: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
88 e0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
89 e4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
90 e8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
91 ec: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
92 f0: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
93 f4: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
94 f8: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
95 fc: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
96 100: 0c 94 2f 02 jmp 0x45e ; 0x45e <__vector_64>
97 104: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
98 108: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
99 10c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
100 110: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
101 114: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
102 118: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
103 11c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
104 120: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
105 124: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
106 128: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
107 12c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
108 130: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
109 134: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
110 138: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
111 13c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
112 140: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
113 144: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
114 148: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
115 14c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
116 150: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
117 154: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
118 158: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
119 15c: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
120 160: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
121 164: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
122 168: 0c 94 c8 00 jmp 0x190 ; 0x190 <__bad_interrupt>
123
124 0000016c <__ctors_end>:
125 16c: 11 24 eor r1, r1
126 16e: 1f be out 0x3f, r1 ; 63
127 170: cf ef ldi r28, 0xFF ; 255
128 172: cd bf out 0x3d, r28 ; 61
129 174: df e2 ldi r29, 0x2F ; 47
130 176: de bf out 0x3e, r29 ; 62
131
132 00000178 <__do_clear_bss>:
133 178: 20 e2 ldi r18, 0x20 ; 32
134 17a: a0 e0 ldi r26, 0x00 ; 0
135 17c: b0 e2 ldi r27, 0x20 ; 32
136 17e: 01 c0 rjmp .+2 ; 0x182 <.do_clear_bss_start>
137
138 00000180 <.do_clear_bss_loop>:
139 180: 1d 92 st X+, r1
140
141 00000182 <.do_clear_bss_start>:
142 182: a2 30 cpi r26, 0x02 ; 2
143 184: b2 07 cpc r27, r18
144 186: e1 f7 brne .-8 ; 0x180 <.do_clear_bss_loop>
145 188: 0e 94 1e 02 call 0x43c ; 0x43c <main>
146 18c: 0c 94 68 04 jmp 0x8d0 ; 0x8d0 <_exit>
147
148 00000190 <__bad_interrupt>:
149 190: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
150
151 00000194 <adcport_read_data>:
152 * \param El dato a transmitir
153 * \return El dato leido del ADC
154 */
155 inline uint8_t adcport_tranceiv(uint8_t data){
156 //
157 SPIC.DATA = data;
158 194: 24 e4 ldi r18, 0x44 ; 68
159 196: e0 ec ldi r30, 0xC0 ; 192
160 198: f8 e0 ldi r31, 0x08 ; 8
161 19a: 23 83 std Z+3, r18 ; 0x03
162
163 //Wait until transmission complete
164 while( !(SPIC.STATUS & SPI_IF_bm));
165 19c: 22 81 ldd r18, Z+2 ; 0x02
166 19e: 22 23 and r18, r18
167 1a0: ec f7 brge .-6 ; 0x19c <adcport_read_data+0x8>
168
169 // Return received data
170
171 return SPIC.DATA;
172 1a2: e0 ec ldi r30, 0xC0 ; 192
173 1a4: f8 e0 ldi r31, 0x08 ; 8
174 1a6: 23 81 ldd r18, Z+3 ; 0x03
175 adcport_tranceiv((ADC_RD | ADC_RWbar_bm)&(~ADC_WENbar_bm));
176
177 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
178
179 // Save received data
180 for(int i=0; i<j ; i++)
181 1a8: 16 16 cp r1, r22
182 1aa: 17 06 cpc r1, r23
183 1ac: 64 f4 brge .+24 ; 0x1c6 <adcport_read_data+0x32>
184 1ae: dc 01 movw r26, r24
185 1b0: 86 0f add r24, r22
186 1b2: 97 1f adc r25, r23
187 * \param El dato a transmitir
188 * \return El dato leido del ADC
189 */
190 inline uint8_t adcport_tranceiv(uint8_t data){
191 //
192 SPIC.DATA = data;
193 1b4: 13 82 std Z+3, r1 ; 0x03
194
195 //Wait until transmission complete
196 while( !(SPIC.STATUS & SPI_IF_bm));
197 1b6: 22 81 ldd r18, Z+2 ; 0x02
198 1b8: 22 23 and r18, r18
199 1ba: ec f7 brge .-6 ; 0x1b6 <adcport_read_data+0x22>
200
201 // Return received data
202
203 return SPIC.DATA;
204 1bc: 23 81 ldd r18, Z+3 ; 0x03
205
206 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
207
208 // Save received data
209 for(int i=0; i<j ; i++)
210 dato[i] = adcport_tranceiv(0); //Escribo el bit m�s significativo en el byte de orden 0 y el menos significativo en el orden (ADC_DATASZ-1)
211 1be: 2d 93 st X+, r18
212 adcport_tranceiv((ADC_RD | ADC_RWbar_bm)&(~ADC_WENbar_bm));
213
214 //x = (i2 >> 16) & (i1 >> 8) & (i0 >>0)
215
216 // Save received data
217 for(int i=0; i<j ; i++)
218 1c0: a8 17 cp r26, r24
219 1c2: b9 07 cpc r27, r25
220 1c4: b9 f7 brne .-18 ; 0x1b4 <adcport_read_data+0x20>
221 1c6: 08 95 ret
222
223 000001c8 <adcport_write_adcmode>:
224 * \param El dato a transmitir
225 * \return El dato leido del ADC
226 */
227 inline uint8_t adcport_tranceiv(uint8_t data){
228 //
229 SPIC.DATA = data;
230 1c8: 81 e0 ldi r24, 0x01 ; 1
231 1ca: e0 ec ldi r30, 0xC0 ; 192
232 1cc: f8 e0 ldi r31, 0x08 ; 8
233 1ce: 83 83 std Z+3, r24 ; 0x03
234
235 //Wait until transmission complete
236 while( !(SPIC.STATUS & SPI_IF_bm));
237 1d0: 82 81 ldd r24, Z+2 ; 0x02
238 1d2: 88 23 and r24, r24
239 1d4: ec f7 brge .-6 ; 0x1d0 <adcport_write_adcmode+0x8>
240
241 // Return received data
242
243 return SPIC.DATA;
244 1d6: e0 ec ldi r30, 0xC0 ; 192
245 1d8: f8 e0 ldi r31, 0x08 ; 8
246 1da: 83 81 ldd r24, Z+3 ; 0x03
247 * \param El dato a transmitir
248 * \return El dato leido del ADC
249 */
250 inline uint8_t adcport_tranceiv(uint8_t data){
251 //
252 SPIC.DATA = data;
253 1dc: 80 e8 ldi r24, 0x80 ; 128
254 1de: 83 83 std Z+3, r24 ; 0x03
255
256 //Wait until transmission complete
257 while( !(SPIC.STATUS & SPI_IF_bm));
258 1e0: 82 81 ldd r24, Z+2 ; 0x02
259 1e2: 88 23 and r24, r24
260 1e4: ec f7 brge .-6 ; 0x1e0 <adcport_write_adcmode+0x18>
261
262 // Return received data
263
264 return SPIC.DATA;
265 1e6: e0 ec ldi r30, 0xC0 ; 192
266 1e8: f8 e0 ldi r31, 0x08 ; 8
267 1ea: 83 81 ldd r24, Z+3 ; 0x03
268 * \param El dato a transmitir
269 * \return El dato leido del ADC
270 */
271 inline uint8_t adcport_tranceiv(uint8_t data){
272 //
273 SPIC.DATA = data;
274 1ec: 13 82 std Z+3, r1 ; 0x03
275
276 //Wait until transmission complete
277 while( !(SPIC.STATUS & SPI_IF_bm));
278 1ee: 82 81 ldd r24, Z+2 ; 0x02
279 1f0: 88 23 and r24, r24
280 1f2: ec f7 brge .-6 ; 0x1ee <adcport_write_adcmode+0x26>
281
282 // Return received data
283
284 return SPIC.DATA;
285 1f4: e0 ec ldi r30, 0xC0 ; 192
286 1f6: f8 e0 ldi r31, 0x08 ; 8
287 1f8: 83 81 ldd r24, Z+3 ; 0x03
288 1fa: 08 95 ret
289
290 000001fc <adcport_write_filtcon0>:
291 * \param El dato a transmitir
292 * \return El dato leido del ADC
293 */
294 inline uint8_t adcport_tranceiv(uint8_t data){
295 //
296 SPIC.DATA = data;
297 1fc: 88 e2 ldi r24, 0x28 ; 40
298 1fe: e0 ec ldi r30, 0xC0 ; 192
299 200: f8 e0 ldi r31, 0x08 ; 8
300 202: 83 83 std Z+3, r24 ; 0x03
301
302 //Wait until transmission complete
303 while( !(SPIC.STATUS & SPI_IF_bm));
304 204: 82 81 ldd r24, Z+2 ; 0x02
305 206: 88 23 and r24, r24
306 208: ec f7 brge .-6 ; 0x204 <adcport_write_filtcon0+0x8>
307
308 // Return received data
309
310 return SPIC.DATA;
311 20a: e0 ec ldi r30, 0xC0 ; 192
312 20c: f8 e0 ldi r31, 0x08 ; 8
313 20e: 83 81 ldd r24, Z+3 ; 0x03
314 * \param El dato a transmitir
315 * \return El dato leido del ADC
316 */
317 inline uint8_t adcport_tranceiv(uint8_t data){
318 //
319 SPIC.DATA = data;
320 210: 13 82 std Z+3, r1 ; 0x03
321
322 //Wait until transmission complete
323 while( !(SPIC.STATUS & SPI_IF_bm));
324 212: 82 81 ldd r24, Z+2 ; 0x02
325 214: 88 23 and r24, r24
326 216: ec f7 brge .-6 ; 0x212 <adcport_write_filtcon0+0x16>
327
328 // Return received data
329
330 return SPIC.DATA;
331 218: e0 ec ldi r30, 0xC0 ; 192
332 21a: f8 e0 ldi r31, 0x08 ; 8
333 21c: 83 81 ldd r24, Z+3 ; 0x03
334 * \param El dato a transmitir
335 * \return El dato leido del ADC
336 */
337 inline uint8_t adcport_tranceiv(uint8_t data){
338 //
339 SPIC.DATA = data;
340 21e: 83 e0 ldi r24, 0x03 ; 3
341 220: 83 83 std Z+3, r24 ; 0x03
342
343 //Wait until transmission complete
344 while( !(SPIC.STATUS & SPI_IF_bm));
345 222: 82 81 ldd r24, Z+2 ; 0x02
346 224: 88 23 and r24, r24
347 226: ec f7 brge .-6 ; 0x222 <adcport_write_filtcon0+0x26>
348
349 // Return received data
350
351 return SPIC.DATA;
352 228: e0 ec ldi r30, 0xC0 ; 192
353 22a: f8 e0 ldi r31, 0x08 ; 8
354 22c: 83 81 ldd r24, Z+3 ; 0x03
355 22e: 08 95 ret
356
357 00000230 <adcport_write_interfmode>:
358 * \param El dato a transmitir
359 * \return El dato leido del ADC
360 */
361 inline uint8_t adcport_tranceiv(uint8_t data){
362 //
363 SPIC.DATA = data;
364 230: 82 e0 ldi r24, 0x02 ; 2
365 232: e0 ec ldi r30, 0xC0 ; 192
366 234: f8 e0 ldi r31, 0x08 ; 8
367 236: 83 83 std Z+3, r24 ; 0x03
368
369 //Wait until transmission complete
370 while( !(SPIC.STATUS & SPI_IF_bm));
371 238: 82 81 ldd r24, Z+2 ; 0x02
372 23a: 88 23 and r24, r24
373 23c: ec f7 brge .-6 ; 0x238 <adcport_write_interfmode+0x8>
374
375 // Return received data
376
377 return SPIC.DATA;
378 23e: e0 ec ldi r30, 0xC0 ; 192
379 240: f8 e0 ldi r31, 0x08 ; 8
380 242: 83 81 ldd r24, Z+3 ; 0x03
381 * \param El dato a transmitir
382 * \return El dato leido del ADC
383 */
384 inline uint8_t adcport_tranceiv(uint8_t data){
385 //
386 SPIC.DATA = data;
387 244: 13 82 std Z+3, r1 ; 0x03
388
389 //Wait until transmission complete
390 while( !(SPIC.STATUS & SPI_IF_bm));
391 246: 82 81 ldd r24, Z+2 ; 0x02
392 248: 88 23 and r24, r24
393 24a: ec f7 brge .-6 ; 0x246 <adcport_write_interfmode+0x16>
394
395 // Return received data
396
397 return SPIC.DATA;
398 24c: e0 ec ldi r30, 0xC0 ; 192
399 24e: f8 e0 ldi r31, 0x08 ; 8
400 250: 83 81 ldd r24, Z+3 ; 0x03
401 * \param El dato a transmitir
402 * \return El dato leido del ADC
403 */
404 inline uint8_t adcport_tranceiv(uint8_t data){
405 //
406 SPIC.DATA = data;
407 252: 13 82 std Z+3, r1 ; 0x03
408
409 //Wait until transmission complete
410 while( !(SPIC.STATUS & SPI_IF_bm));
411 254: 82 81 ldd r24, Z+2 ; 0x02
412 256: 88 23 and r24, r24
413 258: ec f7 brge .-6 ; 0x254 <adcport_write_interfmode+0x24>
414
415 // Return received data
416
417 return SPIC.DATA;
418 25a: e0 ec ldi r30, 0xC0 ; 192
419 25c: f8 e0 ldi r31, 0x08 ; 8
420 25e: 83 81 ldd r24, Z+3 ; 0x03
421 260: 08 95 ret
422
423 00000262 <adcport_write_chmapreg0>:
424 * \param El dato a transmitir
425 * \return El dato leido del ADC
426 */
427 inline uint8_t adcport_tranceiv(uint8_t data){
428 //
429 SPIC.DATA = data;
430 262: 80 e1 ldi r24, 0x10 ; 16
431 264: e0 ec ldi r30, 0xC0 ; 192
432 266: f8 e0 ldi r31, 0x08 ; 8
433 268: 83 83 std Z+3, r24 ; 0x03
434
435 //Wait until transmission complete
436 while( !(SPIC.STATUS & SPI_IF_bm));
437 26a: 82 81 ldd r24, Z+2 ; 0x02
438 26c: 88 23 and r24, r24
439 26e: ec f7 brge .-6 ; 0x26a <adcport_write_chmapreg0+0x8>
440
441 // Return received data
442
443 return SPIC.DATA;
444 270: e0 ec ldi r30, 0xC0 ; 192
445 272: f8 e0 ldi r31, 0x08 ; 8
446 274: 83 81 ldd r24, Z+3 ; 0x03
447 * \param El dato a transmitir
448 * \return El dato leido del ADC
449 */
450 inline uint8_t adcport_tranceiv(uint8_t data){
451 //
452 SPIC.DATA = data;
453 276: 80 e8 ldi r24, 0x80 ; 128
454 278: 83 83 std Z+3, r24 ; 0x03
455
456 //Wait until transmission complete
457 while( !(SPIC.STATUS & SPI_IF_bm));
458 27a: 82 81 ldd r24, Z+2 ; 0x02
459 27c: 88 23 and r24, r24
460 27e: ec f7 brge .-6 ; 0x27a <adcport_write_chmapreg0+0x18>
461
462 // Return received data
463
464 return SPIC.DATA;
465 280: e0 ec ldi r30, 0xC0 ; 192
466 282: f8 e0 ldi r31, 0x08 ; 8
467 284: 83 81 ldd r24, Z+3 ; 0x03
468 * \param El dato a transmitir
469 * \return El dato leido del ADC
470 */
471 inline uint8_t adcport_tranceiv(uint8_t data){
472 //
473 SPIC.DATA = data;
474 286: 80 e2 ldi r24, 0x20 ; 32
475 288: 83 83 std Z+3, r24 ; 0x03
476
477 //Wait until transmission complete
478 while( !(SPIC.STATUS & SPI_IF_bm));
479 28a: 82 81 ldd r24, Z+2 ; 0x02
480 28c: 88 23 and r24, r24
481 28e: ec f7 brge .-6 ; 0x28a <adcport_write_chmapreg0+0x28>
482
483 // Return received data
484
485 return SPIC.DATA;
486 290: e0 ec ldi r30, 0xC0 ; 192
487 292: f8 e0 ldi r31, 0x08 ; 8
488 294: 83 81 ldd r24, Z+3 ; 0x03
489 296: 08 95 ret
490
491 00000298 <adcport_write_chmapreg1>:
492 * \param El dato a transmitir
493 * \return El dato leido del ADC
494 */
495 inline uint8_t adcport_tranceiv(uint8_t data){
496 //
497 SPIC.DATA = data;
498 298: 81 e1 ldi r24, 0x11 ; 17
499 29a: e0 ec ldi r30, 0xC0 ; 192
500 29c: f8 e0 ldi r31, 0x08 ; 8
501 29e: 83 83 std Z+3, r24 ; 0x03
502
503 //Wait until transmission complete
504 while( !(SPIC.STATUS & SPI_IF_bm));
505 2a0: 82 81 ldd r24, Z+2 ; 0x02
506 2a2: 88 23 and r24, r24
507 2a4: ec f7 brge .-6 ; 0x2a0 <adcport_write_chmapreg1+0x8>
508
509 // Return received data
510
511 return SPIC.DATA;
512 2a6: e0 ec ldi r30, 0xC0 ; 192
513 2a8: f8 e0 ldi r31, 0x08 ; 8
514 2aa: 83 81 ldd r24, Z+3 ; 0x03
515 * \param El dato a transmitir
516 * \return El dato leido del ADC
517 */
518 inline uint8_t adcport_tranceiv(uint8_t data){
519 //
520 SPIC.DATA = data;
521 2ac: 13 82 std Z+3, r1 ; 0x03
522
523 //Wait until transmission complete
524 while( !(SPIC.STATUS & SPI_IF_bm));
525 2ae: 82 81 ldd r24, Z+2 ; 0x02
526 2b0: 88 23 and r24, r24
527 2b2: ec f7 brge .-6 ; 0x2ae <adcport_write_chmapreg1+0x16>
528
529 // Return received data
530
531 return SPIC.DATA;
532 2b4: e0 ec ldi r30, 0xC0 ; 192
533 2b6: f8 e0 ldi r31, 0x08 ; 8
534 2b8: 83 81 ldd r24, Z+3 ; 0x03
535 * \param El dato a transmitir
536 * \return El dato leido del ADC
537 */
538 inline uint8_t adcport_tranceiv(uint8_t data){
539 //
540 SPIC.DATA = data;
541 2ba: 81 e0 ldi r24, 0x01 ; 1
542 2bc: 83 83 std Z+3, r24 ; 0x03
543
544 //Wait until transmission complete
545 while( !(SPIC.STATUS & SPI_IF_bm));
546 2be: 82 81 ldd r24, Z+2 ; 0x02
547 2c0: 88 23 and r24, r24
548 2c2: ec f7 brge .-6 ; 0x2be <adcport_write_chmapreg1+0x26>
549
550 // Return received data
551
552 return SPIC.DATA;
553 2c4: e0 ec ldi r30, 0xC0 ; 192
554 2c6: f8 e0 ldi r31, 0x08 ; 8
555 2c8: 83 81 ldd r24, Z+3 ; 0x03
556 2ca: 08 95 ret
557
558 000002cc <adcport_write_chmapreg2>:
559 * \param El dato a transmitir
560 * \return El dato leido del ADC
561 */
562 inline uint8_t adcport_tranceiv(uint8_t data){
563 //
564 SPIC.DATA = data;
565 2cc: 82 e1 ldi r24, 0x12 ; 18
566 2ce: e0 ec ldi r30, 0xC0 ; 192
567 2d0: f8 e0 ldi r31, 0x08 ; 8
568 2d2: 83 83 std Z+3, r24 ; 0x03
569
570 //Wait until transmission complete
571 while( !(SPIC.STATUS & SPI_IF_bm));
572 2d4: 82 81 ldd r24, Z+2 ; 0x02
573 2d6: 88 23 and r24, r24
574 2d8: ec f7 brge .-6 ; 0x2d4 <adcport_write_chmapreg2+0x8>
575
576 // Return received data
577
578 return SPIC.DATA;
579 2da: e0 ec ldi r30, 0xC0 ; 192
580 2dc: f8 e0 ldi r31, 0x08 ; 8
581 2de: 83 81 ldd r24, Z+3 ; 0x03
582 * \param El dato a transmitir
583 * \return El dato leido del ADC
584 */
585 inline uint8_t adcport_tranceiv(uint8_t data){
586 //
587 SPIC.DATA = data;
588 2e0: 13 82 std Z+3, r1 ; 0x03
589
590 //Wait until transmission complete
591 while( !(SPIC.STATUS & SPI_IF_bm));
592 2e2: 82 81 ldd r24, Z+2 ; 0x02
593 2e4: 88 23 and r24, r24
594 2e6: ec f7 brge .-6 ; 0x2e2 <adcport_write_chmapreg2+0x16>
595
596 // Return received data
597
598 return SPIC.DATA;
599 2e8: e0 ec ldi r30, 0xC0 ; 192
600 2ea: f8 e0 ldi r31, 0x08 ; 8
601 2ec: 83 81 ldd r24, Z+3 ; 0x03
602 * \param El dato a transmitir
603 * \return El dato leido del ADC
604 */
605 inline uint8_t adcport_tranceiv(uint8_t data){
606 //
607 SPIC.DATA = data;
608 2ee: 81 e0 ldi r24, 0x01 ; 1
609 2f0: 83 83 std Z+3, r24 ; 0x03
610
611 //Wait until transmission complete
612 while( !(SPIC.STATUS & SPI_IF_bm));
613 2f2: 82 81 ldd r24, Z+2 ; 0x02
614 2f4: 88 23 and r24, r24
615 2f6: ec f7 brge .-6 ; 0x2f2 <adcport_write_chmapreg2+0x26>
616
617 // Return received data
618
619 return SPIC.DATA;
620 2f8: e0 ec ldi r30, 0xC0 ; 192
621 2fa: f8 e0 ldi r31, 0x08 ; 8
622 2fc: 83 81 ldd r24, Z+3 ; 0x03
623 2fe: 08 95 ret
624
625 00000300 <adcport_write_chmapreg3>:
626 * \param El dato a transmitir
627 * \return El dato leido del ADC
628 */
629 inline uint8_t adcport_tranceiv(uint8_t data){
630 //
631 SPIC.DATA = data;
632 300: 83 e1 ldi r24, 0x13 ; 19
633 302: e0 ec ldi r30, 0xC0 ; 192
634 304: f8 e0 ldi r31, 0x08 ; 8
635 306: 83 83 std Z+3, r24 ; 0x03
636
637 //Wait until transmission complete
638 while( !(SPIC.STATUS & SPI_IF_bm));
639 308: 82 81 ldd r24, Z+2 ; 0x02
640 30a: 88 23 and r24, r24
641 30c: ec f7 brge .-6 ; 0x308 <adcport_write_chmapreg3+0x8>
642
643 // Return received data
644
645 return SPIC.DATA;
646 30e: e0 ec ldi r30, 0xC0 ; 192
647 310: f8 e0 ldi r31, 0x08 ; 8
648 312: 83 81 ldd r24, Z+3 ; 0x03
649 * \param El dato a transmitir
650 * \return El dato leido del ADC
651 */
652 inline uint8_t adcport_tranceiv(uint8_t data){
653 //
654 SPIC.DATA = data;
655 314: 13 82 std Z+3, r1 ; 0x03
656
657 //Wait until transmission complete
658 while( !(SPIC.STATUS & SPI_IF_bm));
659 316: 82 81 ldd r24, Z+2 ; 0x02
660 318: 88 23 and r24, r24
661 31a: ec f7 brge .-6 ; 0x316 <adcport_write_chmapreg3+0x16>
662
663 // Return received data
664
665 return SPIC.DATA;
666 31c: e0 ec ldi r30, 0xC0 ; 192
667 31e: f8 e0 ldi r31, 0x08 ; 8
668 320: 83 81 ldd r24, Z+3 ; 0x03
669 * \param El dato a transmitir
670 * \return El dato leido del ADC
671 */
672 inline uint8_t adcport_tranceiv(uint8_t data){
673 //
674 SPIC.DATA = data;
675 322: 81 e0 ldi r24, 0x01 ; 1
676 324: 83 83 std Z+3, r24 ; 0x03
677
678 //Wait until transmission complete
679 while( !(SPIC.STATUS & SPI_IF_bm));
680 326: 82 81 ldd r24, Z+2 ; 0x02
681 328: 88 23 and r24, r24
682 32a: ec f7 brge .-6 ; 0x326 <adcport_write_chmapreg3+0x26>
683
684 // Return received data
685
686 return SPIC.DATA;
687 32c: e0 ec ldi r30, 0xC0 ; 192
688 32e: f8 e0 ldi r31, 0x08 ; 8
689 330: 83 81 ldd r24, Z+3 ; 0x03
690 332: 08 95 ret
691
692 00000334 <adcport_write_setupcon0>:
693 * \param El dato a transmitir
694 * \return El dato leido del ADC
695 */
696 inline uint8_t adcport_tranceiv(uint8_t data){
697 //
698 SPIC.DATA = data;
699 334: 80 e2 ldi r24, 0x20 ; 32
700 336: e0 ec ldi r30, 0xC0 ; 192
701 338: f8 e0 ldi r31, 0x08 ; 8
702 33a: 83 83 std Z+3, r24 ; 0x03
703
704 //Wait until transmission complete
705 while( !(SPIC.STATUS & SPI_IF_bm));
706 33c: 82 81 ldd r24, Z+2 ; 0x02
707 33e: 88 23 and r24, r24
708 340: ec f7 brge .-6 ; 0x33c <adcport_write_setupcon0+0x8>
709
710 // Return received data
711
712 return SPIC.DATA;
713 342: e0 ec ldi r30, 0xC0 ; 192
714 344: f8 e0 ldi r31, 0x08 ; 8
715 346: 83 81 ldd r24, Z+3 ; 0x03
716 * \param El dato a transmitir
717 * \return El dato leido del ADC
718 */
719 inline uint8_t adcport_tranceiv(uint8_t data){
720 //
721 SPIC.DATA = data;
722 348: 80 e1 ldi r24, 0x10 ; 16
723 34a: 83 83 std Z+3, r24 ; 0x03
724
725 //Wait until transmission complete
726 while( !(SPIC.STATUS & SPI_IF_bm));
727 34c: 82 81 ldd r24, Z+2 ; 0x02
728 34e: 88 23 and r24, r24
729 350: ec f7 brge .-6 ; 0x34c <adcport_write_setupcon0+0x18>
730
731 // Return received data
732
733 return SPIC.DATA;
734 352: e0 ec ldi r30, 0xC0 ; 192
735 354: f8 e0 ldi r31, 0x08 ; 8
736 356: 83 81 ldd r24, Z+3 ; 0x03
737 * \param El dato a transmitir
738 * \return El dato leido del ADC
739 */
740 inline uint8_t adcport_tranceiv(uint8_t data){
741 //
742 SPIC.DATA = data;
743 358: 80 e2 ldi r24, 0x20 ; 32
744 35a: 83 83 std Z+3, r24 ; 0x03
745
746 //Wait until transmission complete
747 while( !(SPIC.STATUS & SPI_IF_bm));
748 35c: 82 81 ldd r24, Z+2 ; 0x02
749 35e: 88 23 and r24, r24
750 360: ec f7 brge .-6 ; 0x35c <adcport_write_setupcon0+0x28>
751
752 // Return received data
753
754 return SPIC.DATA;
755 362: e0 ec ldi r30, 0xC0 ; 192
756 364: f8 e0 ldi r31, 0x08 ; 8
757 366: 83 81 ldd r24, Z+3 ; 0x03
758 368: 08 95 ret
759
760 0000036a <adcport_write_reset>:
761 * \param El dato a transmitir
762 * \return El dato leido del ADC
763 */
764 inline uint8_t adcport_tranceiv(uint8_t data){
765 //
766 SPIC.DATA = data;
767 36a: 8f ef ldi r24, 0xFF ; 255
768 36c: e0 ec ldi r30, 0xC0 ; 192
769 36e: f8 e0 ldi r31, 0x08 ; 8
770 370: 83 83 std Z+3, r24 ; 0x03
771
772 //Wait until transmission complete
773 while( !(SPIC.STATUS & SPI_IF_bm));
774 372: 82 81 ldd r24, Z+2 ; 0x02
775 374: 88 23 and r24, r24
776 376: ec f7 brge .-6 ; 0x372 <adcport_write_reset+0x8>
777
778 // Return received data
779
780 return SPIC.DATA;
781 378: e0 ec ldi r30, 0xC0 ; 192
782 37a: f8 e0 ldi r31, 0x08 ; 8
783 37c: 83 81 ldd r24, Z+3 ; 0x03
784 * \param El dato a transmitir
785 * \return El dato leido del ADC
786 */
787 inline uint8_t adcport_tranceiv(uint8_t data){
788 //
789 SPIC.DATA = data;
790 37e: 8f ef ldi r24, 0xFF ; 255
791 380: 83 83 std Z+3, r24 ; 0x03
792
793 //Wait until transmission complete
794 while( !(SPIC.STATUS & SPI_IF_bm));
795 382: 82 81 ldd r24, Z+2 ; 0x02
796 384: 88 23 and r24, r24
797 386: ec f7 brge .-6 ; 0x382 <adcport_write_reset+0x18>
798
799 // Return received data
800
801 return SPIC.DATA;
802 388: e0 ec ldi r30, 0xC0 ; 192
803 38a: f8 e0 ldi r31, 0x08 ; 8
804 38c: 83 81 ldd r24, Z+3 ; 0x03
805 * \param El dato a transmitir
806 * \return El dato leido del ADC
807 */
808 inline uint8_t adcport_tranceiv(uint8_t data){
809 //
810 SPIC.DATA = data;
811 38e: 8f ef ldi r24, 0xFF ; 255
812 390: 83 83 std Z+3, r24 ; 0x03
813
814 //Wait until transmission complete
815 while( !(SPIC.STATUS & SPI_IF_bm));
816 392: 82 81 ldd r24, Z+2 ; 0x02
817 394: 88 23 and r24, r24
818 396: ec f7 brge .-6 ; 0x392 <adcport_write_reset+0x28>
819
820 // Return received data
821
822 return SPIC.DATA;
823 398: e0 ec ldi r30, 0xC0 ; 192
824 39a: f8 e0 ldi r31, 0x08 ; 8
825 39c: 83 81 ldd r24, Z+3 ; 0x03
826 * \param El dato a transmitir
827 * \return El dato leido del ADC
828 */
829 inline uint8_t adcport_tranceiv(uint8_t data){
830 //
831 SPIC.DATA = data;
832 39e: 8f ef ldi r24, 0xFF ; 255
833 3a0: 83 83 std Z+3, r24 ; 0x03
834
835 //Wait until transmission complete
836 while( !(SPIC.STATUS & SPI_IF_bm));
837 3a2: 82 81 ldd r24, Z+2 ; 0x02
838 3a4: 88 23 and r24, r24
839 3a6: ec f7 brge .-6 ; 0x3a2 <adcport_write_reset+0x38>
840
841 // Return received data
842
843 return SPIC.DATA;
844 3a8: e0 ec ldi r30, 0xC0 ; 192
845 3aa: f8 e0 ldi r31, 0x08 ; 8
846 3ac: 83 81 ldd r24, Z+3 ; 0x03
847 * \param El dato a transmitir
848 * \return El dato leido del ADC
849 */
850 inline uint8_t adcport_tranceiv(uint8_t data){
851 //
852 SPIC.DATA = data;
853 3ae: 8f ef ldi r24, 0xFF ; 255
854 3b0: 83 83 std Z+3, r24 ; 0x03
855
856 //Wait until transmission complete
857 while( !(SPIC.STATUS & SPI_IF_bm));
858 3b2: 82 81 ldd r24, Z+2 ; 0x02
859 3b4: 88 23 and r24, r24
860 3b6: ec f7 brge .-6 ; 0x3b2 <adcport_write_reset+0x48>
861
862 // Return received data
863
864 return SPIC.DATA;
865 3b8: e0 ec ldi r30, 0xC0 ; 192
866 3ba: f8 e0 ldi r31, 0x08 ; 8
867 3bc: 83 81 ldd r24, Z+3 ; 0x03
868 * \param El dato a transmitir
869 * \return El dato leido del ADC
870 */
871 inline uint8_t adcport_tranceiv(uint8_t data){
872 //
873 SPIC.DATA = data;
874 3be: 8f ef ldi r24, 0xFF ; 255
875 3c0: 83 83 std Z+3, r24 ; 0x03
876
877 //Wait until transmission complete
878 while( !(SPIC.STATUS & SPI_IF_bm));
879 3c2: 82 81 ldd r24, Z+2 ; 0x02
880 3c4: 88 23 and r24, r24
881 3c6: ec f7 brge .-6 ; 0x3c2 <adcport_write_reset+0x58>
882
883 // Return received data
884
885 return SPIC.DATA;
886 3c8: e0 ec ldi r30, 0xC0 ; 192
887 3ca: f8 e0 ldi r31, 0x08 ; 8
888 3cc: 83 81 ldd r24, Z+3 ; 0x03
889 * \param El dato a transmitir
890 * \return El dato leido del ADC
891 */
892 inline uint8_t adcport_tranceiv(uint8_t data){
893 //
894 SPIC.DATA = data;
895 3ce: 8f ef ldi r24, 0xFF ; 255
896 3d0: 83 83 std Z+3, r24 ; 0x03
897
898 //Wait until transmission complete
899 while( !(SPIC.STATUS & SPI_IF_bm));
900 3d2: 82 81 ldd r24, Z+2 ; 0x02
901 3d4: 88 23 and r24, r24
902 3d6: ec f7 brge .-6 ; 0x3d2 <adcport_write_reset+0x68>
903
904 // Return received data
905
906 return SPIC.DATA;
907 3d8: e0 ec ldi r30, 0xC0 ; 192
908 3da: f8 e0 ldi r31, 0x08 ; 8
909 3dc: 83 81 ldd r24, Z+3 ; 0x03
910 * \param El dato a transmitir
911 * \return El dato leido del ADC
912 */
913 inline uint8_t adcport_tranceiv(uint8_t data){
914 //
915 SPIC.DATA = data;
916 3de: 8f ef ldi r24, 0xFF ; 255
917 3e0: 83 83 std Z+3, r24 ; 0x03
918
919 //Wait until transmission complete
920 while( !(SPIC.STATUS & SPI_IF_bm));
921 3e2: 82 81 ldd r24, Z+2 ; 0x02
922 3e4: 88 23 and r24, r24
923 3e6: ec f7 brge .-6 ; 0x3e2 <adcport_write_reset+0x78>
924
925 // Return received data
926
927 return SPIC.DATA;
928 3e8: e0 ec ldi r30, 0xC0 ; 192
929 3ea: f8 e0 ldi r31, 0x08 ; 8
930 3ec: 83 81 ldd r24, Z+3 ; 0x03
931 3ee: 08 95 ret
932
933 000003f0 <config_adc>:
934 dato[i] = adcport_tranceiv(0); //Escribo el bit m�s significativo en el byte de orden 0 y el menos significativo en el orden (ADC_DATASZ-1)
935 //Si se desease almacenar el dato de byte menos significativo a m�s signficativo: dato[j-i-1] = adcport_tranceiv(0);
936 }
937
938 void config_adc(void)
939 {
940 3f0: 1f 93 push r17
941 3f2: cf 93 push r28
942 3f4: df 93 push r29
943 PORTSPI.OUTCLR = SPI_SS_bm;
944 3f6: c0 e4 ldi r28, 0x40 ; 64
945 3f8: d6 e0 ldi r29, 0x06 ; 6
946 3fa: 10 e1 ldi r17, 0x10 ; 16
947 3fc: 1e 83 std Y+6, r17 ; 0x06
948 adcport_write_reset();
949 3fe: 0e 94 b5 01 call 0x36a ; 0x36a <adcport_write_reset>
950 PORTSPI.OUTSET = SPI_SS_bm;
951 402: 1d 83 std Y+5, r17 ; 0x05
952 #else
953 //round up by default
954 __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
955 #endif
956
957 __builtin_avr_delay_cycles(__ticks_dc);
958 404: 8f e5 ldi r24, 0x5F ; 95
959 406: 99 e0 ldi r25, 0x09 ; 9
960 408: 01 97 sbiw r24, 0x01 ; 1
961 40a: f1 f7 brne .-4 ; 0x408 <config_adc+0x18>
962 40c: 00 c0 rjmp .+0 ; 0x40e <config_adc+0x1e>
963 40e: 00 00 nop
964
965 _delay_us(300);
966
967 PORTSPI.OUTCLR = SPI_SS_bm;
968 410: 1e 83 std Y+6, r17 ; 0x06
969 adcport_write_adcmode();
970 412: 0e 94 e4 00 call 0x1c8 ; 0x1c8 <adcport_write_adcmode>
971 //PORTSPI.OUTSET = SPI_SS_bm;
972
973 //PORTSPI.OUTCLR = SPI_SS_bm;
974 adcport_write_interfmode();
975 416: 0e 94 18 01 call 0x230 ; 0x230 <adcport_write_interfmode>
976 //PORTSPI.OUTSET = SPI_SS_bm;
977
978 //PORTSPI.OUTCLR = SPI_SS_bm;
979 adcport_write_filtcon0();
980 41a: 0e 94 fe 00 call 0x1fc ; 0x1fc <adcport_write_filtcon0>
981 //PORTSPI.OUTSET = SPI_SS_bm;
982
983 //PORTSPI.OUTCLR = SPI_SS_bm;
984 adcport_write_setupcon0();
985 41e: 0e 94 9a 01 call 0x334 ; 0x334 <adcport_write_setupcon0>
986 //PORTSPI.OUTSET = SPI_SS_bm;
987
988 //PORTSPI.OUTCLR = SPI_SS_bm;
989 adcport_write_chmapreg0();
990 422: 0e 94 31 01 call 0x262 ; 0x262 <adcport_write_chmapreg0>
991 //PORTSPI.OUTSET = SPI_SS_bm;
992
993 //PORTSPI.OUTCLR = SPI_SS_bm;
994 adcport_write_chmapreg1();
995 426: 0e 94 4c 01 call 0x298 ; 0x298 <adcport_write_chmapreg1>
996 //PORTSPI.OUTSET = SPI_SS_bm;
997
998 //PORTSPI.OUTCLR = SPI_SS_bm;
999 adcport_write_chmapreg2();
1000 42a: 0e 94 66 01 call 0x2cc ; 0x2cc <adcport_write_chmapreg2>
1001 //PORTSPI.OUTSET = SPI_SS_bm;
1002
1003 //PORTSPI.OUTCLR = SPI_SS_bm;
1004 adcport_write_chmapreg3();
1005 42e: 0e 94 80 01 call 0x300 ; 0x300 <adcport_write_chmapreg3>
1006 PORTSPI.OUTSET = SPI_SS_bm;
1007 432: 1d 83 std Y+5, r17 ; 0x05
1008
1009 }
1010 434: df 91 pop r29
1011 436: cf 91 pop r28
1012 438: 1f 91 pop r17
1013 43a: 08 95 ret
1014
1015 0000043c <main>:
1016
1017 int aux = 0;
1018 int main(void)
1019 {
1020 //uint8_t datos_adc[3];
1021 config_puertos();
1022 43c: 0e 94 cf 03 call 0x79e ; 0x79e <config_puertos>
1023 config_sysclock();
1024 440: 0e 94 49 04 call 0x892 ; 0x892 <config_sysclock>
1025 config_spiparm();
1026 444: 0e 94 e4 02 call 0x5c8 ; 0x5c8 <config_spiparm>
1027 config_fpgaport();
1028 448: 0e 94 e8 02 call 0x5d0 ; 0x5d0 <config_fpgaport>
1029 config_adc();
1030 44c: 0e 94 f8 01 call 0x3f0 ; 0x3f0 <config_adc>
1031 //datos_adc[0] = 0x00;
1032 //datos_adc[1] = 0x00;
1033 //datos_adc[2] = 0x00;
1034 //PORTD.OUTSET = PIN5_bm;
1035
1036 PMIC.CTRL = hab_prioridad_alta;
1037 450: 84 e0 ldi r24, 0x04 ; 4
1038 452: e0 ea ldi r30, 0xA0 ; 160
1039 454: f0 e0 ldi r31, 0x00 ; 0
1040 456: 82 83 std Z+2, r24 ; 0x02
1041 habilitar_interrupciones_globales();
1042 458: 0e 94 1b 03 call 0x636 ; 0x636 <habilitar_interrupciones_globales>
1043 45c: ff cf rjmp .-2 ; 0x45c <main+0x20>
1044
1045 0000045e <__vector_64>:
1046 return 0;
1047 }
1048
1049
1050 ISR(INT_LOCK_FPGA)
1051 {
1052 45e: 1f 92 push r1
1053 460: 0f 92 push r0
1054 462: 0f b6 in r0, 0x3f ; 63
1055 464: 0f 92 push r0
1056 466: 11 24 eor r1, r1
1057 468: 8f 93 push r24
1058 46a: 9f 93 push r25
1059 46c: ef 93 push r30
1060 46e: ff 93 push r31
1061 if((PORT_FPGA.IN & LOCK_FPGA) == LOCK_FPGA)
1062 470: e0 e6 ldi r30, 0x60 ; 96
1063 472: f6 e0 ldi r31, 0x06 ; 6
1064 474: 80 85 ldd r24, Z+8 ; 0x08
1065 476: 81 ff sbrs r24, 1
1066 478: 11 c0 rjmp .+34 ; 0x49c <__vector_64+0x3e>
1067 {
1068 PORTSPI.SPI_INTFLAGS =0b00000001;
1069 47a: 81 e0 ldi r24, 0x01 ; 1
1070 47c: e0 e4 ldi r30, 0x40 ; 64
1071 47e: f6 e0 ldi r31, 0x06 ; 6
1072 480: 84 87 std Z+12, r24 ; 0x0c
1073 PORT_PPS.PPS_FPGA_INTFLAGS =0b00000010;
1074 482: 92 e0 ldi r25, 0x02 ; 2
1075 484: e0 e2 ldi r30, 0x20 ; 32
1076 486: f6 e0 ldi r31, 0x06 ; 6
1077 488: 94 87 std Z+12, r25 ; 0x0c
1078 PMIC.CTRL |= hab_prioridad_media;
1079 48a: e0 ea ldi r30, 0xA0 ; 160
1080 48c: f0 e0 ldi r31, 0x00 ; 0
1081 48e: 92 81 ldd r25, Z+2 ; 0x02
1082 490: 92 60 ori r25, 0x02 ; 2
1083 492: 92 83 std Z+2, r25 ; 0x02
1084 PORT_LOCKOUT.OUTSET = LOCK_OUT;
1085 494: e0 e0 ldi r30, 0x00 ; 0
1086 496: f6 e0 ldi r31, 0x06 ; 6
1087 498: 85 83 std Z+5, r24 ; 0x05
1088 49a: 0c c0 rjmp .+24 ; 0x4b4 <__vector_64+0x56>
1089 //PORTD.OUTSET = PIN4_bm;
1090 }
1091 else
1092 {
1093 PMIC.CTRL &= ~hab_prioridad_media;
1094 49c: e0 ea ldi r30, 0xA0 ; 160
1095 49e: f0 e0 ldi r31, 0x00 ; 0
1096 4a0: 82 81 ldd r24, Z+2 ; 0x02
1097 4a2: 8d 7f andi r24, 0xFD ; 253
1098 4a4: 82 83 std Z+2, r24 ; 0x02
1099 PMIC.CTRL &= ~hab_prioridad_baja;
1100 4a6: 82 81 ldd r24, Z+2 ; 0x02
1101 4a8: 8e 7f andi r24, 0xFE ; 254
1102 4aa: 82 83 std Z+2, r24 ; 0x02
1103 PORT_LOCKOUT.OUTCLR = LOCK_OUT;
1104 4ac: 81 e0 ldi r24, 0x01 ; 1
1105 4ae: e0 e0 ldi r30, 0x00 ; 0
1106 4b0: f6 e0 ldi r31, 0x06 ; 6
1107 4b2: 86 83 std Z+6, r24 ; 0x06
1108 //PORTSPI.OUTSET = SPI_SS_bm;
1109 //PORTD.OUTCLR = PIN4_bm;
1110 }
1111 }
1112 4b4: ff 91 pop r31
1113 4b6: ef 91 pop r30
1114 4b8: 9f 91 pop r25
1115 4ba: 8f 91 pop r24
1116 4bc: 0f 90 pop r0
1117 4be: 0f be out 0x3f, r0 ; 63
1118 4c0: 0f 90 pop r0
1119 4c2: 1f 90 pop r1
1120 4c4: 18 95 reti
1121
1122 000004c6 <__vector_35>:
1123 //Habilito interrupciones de prioridad baja
1124 //Selecciono el chip del ADC para iniciar comunicaci�n.
1125 //Al iniciar esta comunicaci�n se indicar� al ADC que use el RDYbar
1126 //Esta ser� nuestra interrupci�n para lectura del ADC y env�o de dato a la FPGA
1127 ISR(INT_PPS)
1128 {
1129 4c6: 1f 92 push r1
1130 4c8: 0f 92 push r0
1131 4ca: 0f b6 in r0, 0x3f ; 63
1132 4cc: 0f 92 push r0
1133 4ce: 11 24 eor r1, r1
1134 4d0: 8f 93 push r24
1135 4d2: ef 93 push r30
1136 4d4: ff 93 push r31
1137 PMIC.CTRL &= ~hab_prioridad_baja;
1138 4d6: e0 ea ldi r30, 0xA0 ; 160
1139 4d8: f0 e0 ldi r31, 0x00 ; 0
1140 4da: 82 81 ldd r24, Z+2 ; 0x02
1141 4dc: 8e 7f andi r24, 0xFE ; 254
1142 4de: 82 83 std Z+2, r24 ; 0x02
1143 PORTSPI.SPI_INTFLAGS =0b00000001;
1144 4e0: e0 e4 ldi r30, 0x40 ; 64
1145 4e2: f6 e0 ldi r31, 0x06 ; 6
1146 4e4: 81 e0 ldi r24, 0x01 ; 1
1147 4e6: 84 87 std Z+12, r24 ; 0x0c
1148 PORTSPI.SPI_INTFLAGS =0b00000001;
1149 4e8: 84 87 std Z+12, r24 ; 0x0c
1150 ...
1151 asm("nop");
1152 asm("nop");
1153 asm("nop");
1154 asm("nop");
1155 aux = 0;
1156 4f2: 10 92 00 20 sts 0x2000, r1
1157 4f6: 10 92 01 20 sts 0x2001, r1
1158 //if(aux==0)
1159 PMIC.CTRL |= hab_prioridad_baja;
1160 4fa: e0 ea ldi r30, 0xA0 ; 160
1161 4fc: f0 e0 ldi r31, 0x00 ; 0
1162 4fe: 82 81 ldd r24, Z+2 ; 0x02
1163 500: 81 60 ori r24, 0x01 ; 1
1164 502: 82 83 std Z+2, r24 ; 0x02
1165 PORTSPI.SPI_INTFLAGS =0b00000001;
1166 504: e0 e4 ldi r30, 0x40 ; 64
1167 506: f6 e0 ldi r31, 0x06 ; 6
1168 508: 81 e0 ldi r24, 0x01 ; 1
1169 50a: 84 87 std Z+12, r24 ; 0x0c
1170 PORTSPI.OUTSET = SPI_SS_bm;
1171 50c: 80 e1 ldi r24, 0x10 ; 16
1172 50e: 85 83 std Z+5, r24 ; 0x05
1173 asm("nop");
1174 510: 00 00 nop
1175 PORT_FPGA.OUTSET = CLK_FPGA;
1176 512: 84 e0 ldi r24, 0x04 ; 4
1177 514: e0 e6 ldi r30, 0x60 ; 96
1178 516: f6 e0 ldi r31, 0x06 ; 6
1179 518: 85 83 std Z+5, r24 ; 0x05
1180 ...
1181 asm("nop");
1182 asm("nop");
1183 asm("nop");
1184 asm("nop");
1185 asm("nop");
1186 asm("nop");
1187 532: 00 00 nop
1188 PORTSPI.OUTCLR = SPI_SS_bm;
1189 534: 80 e1 ldi r24, 0x10 ; 16
1190 536: e0 e4 ldi r30, 0x40 ; 64
1191 538: f6 e0 ldi r31, 0x06 ; 6
1192 53a: 86 83 std Z+6, r24 ; 0x06
1193 53c: 8a e6 ldi r24, 0x6A ; 106
1194 53e: 8a 95 dec r24
1195 540: f1 f7 brne .-4 ; 0x53e <__vector_35+0x78>
1196 542: 00 c0 rjmp .+0 ; 0x544 <__vector_35+0x7e>
1197
1198 _delay_us(10);
1199 PORTSPI.SPI_INTFLAGS =0b00000001;
1200 544: 81 e0 ldi r24, 0x01 ; 1
1201 546: 84 87 std Z+12, r24 ; 0x0c
1202 //envio_datos_fpga();
1203 //PORTSPI.OUTSET = SPI_SS_bm;
1204
1205 }
1206 548: ff 91 pop r31
1207 54a: ef 91 pop r30
1208 54c: 8f 91 pop r24
1209 54e: 0f 90 pop r0
1210 550: 0f be out 0x3f, r0 ; 63
1211 552: 0f 90 pop r0
1212 554: 1f 90 pop r1
1213 556: 18 95 reti
1214
1215 00000558 <__vector_2>:
1216
1217 ISR(INT_RDY)
1218 {
1219 558: 1f 92 push r1
1220 55a: 0f 92 push r0
1221 55c: 0f b6 in r0, 0x3f ; 63
1222 55e: 0f 92 push r0
1223 560: 11 24 eor r1, r1
1224 562: 2f 93 push r18
1225 564: 3f 93 push r19
1226 566: 4f 93 push r20
1227 568: 5f 93 push r21
1228 56a: 6f 93 push r22
1229 56c: 7f 93 push r23
1230 56e: 8f 93 push r24
1231 570: 9f 93 push r25
1232 572: af 93 push r26
1233 574: bf 93 push r27
1234 576: ef 93 push r30
1235 578: ff 93 push r31
1236 //PMIC.CTRL &= ~hab_prioridad_media;
1237 //PMIC.CTRL &= ~hab_prioridad_alta;
1238 if(aux < 20000){
1239 57a: 80 91 00 20 lds r24, 0x2000
1240 57e: 90 91 01 20 lds r25, 0x2001
1241 582: 80 32 cpi r24, 0x20 ; 32
1242 584: 9e 44 sbci r25, 0x4E ; 78
1243 586: 5c f4 brge .+22 ; 0x59e <__vector_2+0x46>
1244 envio_datos_fpga();
1245 588: 0e 94 b9 03 call 0x772 ; 0x772 <envio_datos_fpga>
1246 aux = aux+1;
1247 58c: 80 91 00 20 lds r24, 0x2000
1248 590: 90 91 01 20 lds r25, 0x2001
1249 594: 01 96 adiw r24, 0x01 ; 1
1250 596: 80 93 00 20 sts 0x2000, r24
1251 59a: 90 93 01 20 sts 0x2001, r25
1252 }
1253 //PORTSPI.OUTCLR = SPI_SS_bm;
1254 //adcport_read_filtcon0();
1255 //PMIC.CTRL |= hab_prioridad_media;
1256 //PMIC.CTRL |= hab_prioridad_alta;
1257 PORTSPI.SPI_INTFLAGS =0b00000001;
1258 59e: 81 e0 ldi r24, 0x01 ; 1
1259 5a0: e0 e4 ldi r30, 0x40 ; 64
1260 5a2: f6 e0 ldi r31, 0x06 ; 6
1261 5a4: 84 87 std Z+12, r24 ; 0x0c
1262 }
1263 5a6: ff 91 pop r31
1264 5a8: ef 91 pop r30
1265 5aa: bf 91 pop r27
1266 5ac: af 91 pop r26
1267 5ae: 9f 91 pop r25
1268 5b0: 8f 91 pop r24
1269 5b2: 7f 91 pop r23
1270 5b4: 6f 91 pop r22
1271 5b6: 5f 91 pop r21
1272 5b8: 4f 91 pop r20
1273 5ba: 3f 91 pop r19
1274 5bc: 2f 91 pop r18
1275 5be: 0f 90 pop r0
1276 5c0: 0f be out 0x3f, r0 ; 63
1277 5c2: 0f 90 pop r0
1278 5c4: 1f 90 pop r1
1279 5c6: 18 95 reti
1280
1281 000005c8 <config_spiparm>:
1282 inline void config_spiparm(void){
1283 // Preescaler: clkper/2 = f_cpu/2.
1284 // Master
1285 // Mode 3: CPOL=1,CPHA=1
1286 // MSB --- LSB
1287 SPIC.CTRL = (SPI_ENABLE_bm | SPI_MASTER_bm | SPI_MODE1_bm | SPI_MODE0_bm | SPI_CLK2X_bm);//SPI_PRESCALER1_bm | SPI_CLK2X_bm);
1288 5c8: 8c ed ldi r24, 0xDC ; 220
1289 5ca: 80 93 c0 08 sts 0x08C0, r24
1290 5ce: 08 95 ret
1291
1292 000005d0 <config_fpgaport>:
1293 #include <util/delay.h>
1294
1295 #include "fpga_port.h"
1296
1297 inline void config_fpgaport()
1298 {
1299 5d0: cf 93 push r28
1300 5d2: df 93 push r29
1301 //Configuracion pines del puerto D: PD6-PA1
1302 //Pines de entrada CLK_FPGA, LOCK_FPGA
1303 //Pines de salida CH_BIT0_FPGA, CH_BIT1_FPGA,CH_BIT2_FPGA, CH_BIT3_FPGA
1304
1305 PORT_FPGA.LOCK_FPGA_CTRL = PORT_OPC_TOTEM_gc;
1306 5d4: e0 e6 ldi r30, 0x60 ; 96
1307 5d6: f6 e0 ldi r31, 0x06 ; 6
1308 5d8: 11 8a std Z+17, r1 ; 0x11
1309 PORT_FPGA.DIRCLR = LOCK_FPGA;
1310 5da: 92 e0 ldi r25, 0x02 ; 2
1311 5dc: 92 83 std Z+2, r25 ; 0x02
1312
1313 PORT_FPGA.CLK_FPGA_CTRL = PORT_OPC_PULLDOWN_gc;
1314 5de: 20 e1 ldi r18, 0x10 ; 16
1315 5e0: 22 8b std Z+18, r18 ; 0x12
1316 PORT_FPGA.DIRSET = CLK_FPGA;
1317 5e2: 84 e0 ldi r24, 0x04 ; 4
1318 5e4: 81 83 std Z+1, r24 ; 0x01
1319 PORT_FPGA.OUTCLR = CLK_FPGA;
1320 5e6: 86 83 std Z+6, r24 ; 0x06
1321 //PORT_FPGA.OUTCLR = CH_BIT3_FPGA | CH_BIT2_FPGA | CH_BIT1_FPGA | CH_BIT0_FPGA;
1322
1323 //Configuracion pines del puerto B: PPS
1324 //Pines de entrada PPS_FPGA
1325 //Pines de entrada en pulldown
1326 PORT_PPS.DIRCLR = PPS_FPGA;
1327 5e8: a0 e2 ldi r26, 0x20 ; 32
1328 5ea: b6 e0 ldi r27, 0x06 ; 6
1329 5ec: 12 96 adiw r26, 0x02 ; 2
1330 5ee: 8c 93 st X, r24
1331 5f0: 12 97 sbiw r26, 0x02 ; 2
1332 PORT_PPS.PPS_FPGA_CTRL = PORT_OPC_PULLDOWN_gc;
1333 5f2: 52 96 adiw r26, 0x12 ; 18
1334 5f4: 2c 93 st X, r18
1335 5f6: 52 97 sbiw r26, 0x12 ; 18
1336
1337 //Configuracion pines del puerto A: LOCKOUT
1338 //Pines de salida LOCK_OUT
1339 //Pines de salida en baja
1340 PORT_LOCKOUT.DIRSET = LOCK_OUT;
1341 5f8: c0 e0 ldi r28, 0x00 ; 0
1342 5fa: d6 e0 ldi r29, 0x06 ; 6
1343 5fc: 21 e0 ldi r18, 0x01 ; 1
1344 5fe: 29 83 std Y+1, r18 ; 0x01
1345 PORT_LOCKOUT.OUTCLR = LOCK_OUT;
1346 600: 2e 83 std Y+6, r18 ; 0x06
1347
1348
1349
1350 //Configuracion de interrupciones de LOCK_FPGA
1351
1352 PORT_FPGA.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT0LVL_gm ) | PORT_INT0LVL_HI_gc;
1353 602: 21 85 ldd r18, Z+9 ; 0x09
1354 604: 23 60 ori r18, 0x03 ; 3
1355 606: 21 87 std Z+9, r18 ; 0x09
1356 PORT_FPGA.INT0MASK = LOCK_FPGA;
1357 608: 92 87 std Z+10, r25 ; 0x0a
1358 PORT_FPGA.LOCK_FPGA_CTRL = ( PORT_FPGA.LOCK_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_BOTHEDGES_gc;
1359 60a: 91 89 ldd r25, Z+17 ; 0x11
1360 60c: 98 7f andi r25, 0xF8 ; 248
1361 60e: 91 8b std Z+17, r25 ; 0x11
1362 //PORT_FPGA.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT1LVL_gm ) | PORT_INT1LVL_MED_gc;
1363 //PORT_FPGA.INT1MASK = CLK_FPGA;
1364 //PORT_FPGA.CLK_FPGA_CTRL = ( PORT_FPGA.CLK_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_FALLING_gc;
1365
1366 //Configuracion de interrupciones de PPS
1367 PORT_PPS.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT1LVL_gm ) | PORT_INT1LVL_MED_gc;
1368 610: 91 85 ldd r25, Z+9 ; 0x09
1369 612: 93 7f andi r25, 0xF3 ; 243
1370 614: 98 60 ori r25, 0x08 ; 8
1371 616: 19 96 adiw r26, 0x09 ; 9
1372 618: 9c 93 st X, r25
1373 61a: 19 97 sbiw r26, 0x09 ; 9
1374 PORT_PPS.INT1MASK = PPS_FPGA;
1375 61c: 1b 96 adiw r26, 0x0b ; 11
1376 61e: 8c 93 st X, r24
1377 620: 1b 97 sbiw r26, 0x0b ; 11
1378 PORT_PPS.PPS_FPGA_CTRL = ( PORT_PPS.PPS_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_RISING_gc;
1379 622: 52 96 adiw r26, 0x12 ; 18
1380 624: 8c 91 ld r24, X
1381 626: 52 97 sbiw r26, 0x12 ; 18
1382 628: 88 7f andi r24, 0xF8 ; 248
1383 62a: 81 60 ori r24, 0x01 ; 1
1384 62c: 52 96 adiw r26, 0x12 ; 18
1385 62e: 8c 93 st X, r24
1386 }
1387 630: df 91 pop r29
1388 632: cf 91 pop r28
1389 634: 08 95 ret
1390
1391 00000636 <habilitar_interrupciones_globales>:
1392 PMIC.CTRL |= level_mask;
1393 }
1394
1395 void habilitar_interrupciones_globales( void )
1396 {
1397 sei();
1398 636: 78 94 sei
1399 638: 08 95 ret
1400
1401 0000063a <envio_nibble>:
1402 ...
1403 asm("nop");
1404 asm("nop");
1405 asm("nop");
1406 asm("nop");
1407 asm("nop");
1408 PORT_FPGA.OUTSET = CLK_FPGA;
1409 662: 84 e0 ldi r24, 0x04 ; 4
1410 664: e0 e6 ldi r30, 0x60 ; 96
1411 666: f6 e0 ldi r31, 0x06 ; 6
1412 668: 85 83 std Z+5, r24 ; 0x05
1413 ...
1414 asm("nop");
1415 asm("nop");
1416 asm("nop");
1417 asm("nop");
1418 asm("nop");
1419 PORT_FPGA.OUTCLR = CLK_FPGA;
1420 692: 86 83 std Z+6, r24 ; 0x06
1421 //_delay_ms(100);
1422 temp_regin = PORT_FPGA.OUTCLR;
1423 694: 86 81 ldd r24, Z+6 ; 0x06
1424 temp_dato = fpga_dato & nibble_alto_bm;
1425 //PORT_FPGA.OUT = (temp_regin & fpga_salidas_bm) | (temp_dato >> fpga_salidas_nibblealto_bp);
1426 PORT_FPGA.OUT = (0b01001000);
1427 696: 88 e4 ldi r24, 0x48 ; 72
1428 698: 84 83 std Z+4, r24 ; 0x04
1429 ...
1430 asm("nop");
1431 asm("nop");
1432 asm("nop");
1433 asm("nop");
1434 asm("nop");
1435 PORT_FPGA.OUTSET = CLK_FPGA;
1436 6c2: 84 e0 ldi r24, 0x04 ; 4
1437 6c4: 85 83 std Z+5, r24 ; 0x05
1438 ...
1439 asm("nop");
1440 asm("nop");
1441 asm("nop");
1442 //_delay_ms(200);
1443 //Nibble inferior 3 a 0
1444 PORT_FPGA.OUTCLR = CLK_FPGA;
1445 6ee: 86 83 std Z+6, r24 ; 0x06
1446 temp_regin = PORT_FPGA.OUTCLR;
1447 6f0: 86 81 ldd r24, Z+6 ; 0x06
1448 temp_dato = fpga_dato & nibble_bajo_bm;
1449 //_delay_ms(100);
1450 //PORT_FPGA.OUT = (temp_regin & fpga_salidas_bm) | (temp_dato << fpga_salidas_nibblebajo_bp);
1451 PORT_FPGA.OUT = (0b01100000);
1452 6f2: 80 e6 ldi r24, 0x60 ; 96
1453 6f4: 84 83 std Z+4, r24 ; 0x04
1454 ...
1455 asm("nop");
1456 asm("nop");
1457 asm("nop");
1458 asm("nop");
1459 asm("nop");
1460 PORT_FPGA.OUTSET = CLK_FPGA;
1461 71e: 84 e0 ldi r24, 0x04 ; 4
1462 720: 85 83 std Z+5, r24 ; 0x05
1463 ...
1464 asm("nop");
1465 asm("nop");
1466 asm("nop");
1467 asm("nop");
1468 asm("nop");
1469 asm("nop");
1470 746: 08 95 ret
1471
1472 00000748 <envio_dato_adc>:
1473 //envio_dato_adc(aux_dato);
1474 envio_dato_adc(fpga_dato);
1475 }
1476
1477 void envio_dato_adc(uint8_t* dato_adc)
1478 {
1479 748: 0f 93 push r16
1480 74a: 1f 93 push r17
1481 74c: cf 93 push r28
1482 74e: df 93 push r29
1483 750: 8c 01 movw r16, r24
1484 //dato_adc[1] = 0b11111110;
1485 //dato_adc[0] = 0b11111110;
1486 //dato_adc[2] = 0b11111110;
1487 //dato_adc[1] = 0b11111111;
1488 //dato_adc[0] = 0b11111110;
1489 for(int i=0; i<ADC_DATASZ ; i++)
1490 752: c0 e0 ldi r28, 0x00 ; 0
1491 754: d0 e0 ldi r29, 0x00 ; 0
1492 envio_nibble(dato_adc[i]);
1493 756: f8 01 movw r30, r16
1494 758: 81 91 ld r24, Z+
1495 75a: 8f 01 movw r16, r30
1496 75c: 0e 94 1d 03 call 0x63a ; 0x63a <envio_nibble>
1497 //dato_adc[1] = 0b11111110;
1498 //dato_adc[0] = 0b11111110;
1499 //dato_adc[2] = 0b11111110;
1500 //dato_adc[1] = 0b11111111;
1501 //dato_adc[0] = 0b11111110;
1502 for(int i=0; i<ADC_DATASZ ; i++)
1503 760: 21 96 adiw r28, 0x01 ; 1
1504 762: c3 30 cpi r28, 0x03 ; 3
1505 764: d1 05 cpc r29, r1
1506 766: b9 f7 brne .-18 ; 0x756 <envio_dato_adc+0xe>
1507 envio_nibble(dato_adc[i]);
1508
1509 //envio_nibble(dato_adc[0]);
1510 }
1511 768: df 91 pop r29
1512 76a: cf 91 pop r28
1513 76c: 1f 91 pop r17
1514 76e: 0f 91 pop r16
1515 770: 08 95 ret
1516
1517 00000772 <envio_datos_fpga>:
1518 asm("nop");
1519 //_delay_ms(200);
1520 }
1521
1522 void envio_datos_fpga(void)
1523 {
1524 772: cf 93 push r28
1525 774: df 93 push r29
1526 776: 00 d0 rcall .+0 ; 0x778 <envio_datos_fpga+0x6>
1527 778: 1f 92 push r1
1528 77a: cd b7 in r28, 0x3d ; 61
1529 77c: de b7 in r29, 0x3e ; 62
1530 uint8_t fpga_dato[ADC_DATASZ] ;
1531 //uint8_t aux_dato[ADC_DATASZ] ;
1532
1533 adcport_read_data(fpga_dato,ADC_DATASZ);
1534 77e: 63 e0 ldi r22, 0x03 ; 3
1535 780: 70 e0 ldi r23, 0x00 ; 0
1536 782: ce 01 movw r24, r28
1537 784: 01 96 adiw r24, 0x01 ; 1
1538 786: 0e 94 ca 00 call 0x194 ; 0x194 <adcport_read_data>
1539 //aux_dato[1] = fpga_dato[1];
1540 //aux_dato[2] = fpga_dato[2];
1541 //adcport_read_data(fpga_dato,ADC_DATASZ);
1542
1543 //envio_dato_adc(aux_dato);
1544 envio_dato_adc(fpga_dato);
1545 78a: ce 01 movw r24, r28
1546 78c: 01 96 adiw r24, 0x01 ; 1
1547 78e: 0e 94 a4 03 call 0x748 ; 0x748 <envio_dato_adc>
1548 }
1549 792: 23 96 adiw r28, 0x03 ; 3
1550 794: cd bf out 0x3d, r28 ; 61
1551 796: de bf out 0x3e, r29 ; 62
1552 798: df 91 pop r29
1553 79a: cf 91 pop r28
1554 79c: 08 95 ret
1555
1556 0000079e <config_puertos>:
1557 #include "commSPI_ADC.h"
1558
1559 inline void config_puertos(void){
1560 //Configuracion pines del puerto A: PA7-PA0
1561 //Pines de entrada y totem_pullup
1562 PORTA.PIN7CTRL = PORT_OPC_PULLUP_gc;
1563 79e: e0 e0 ldi r30, 0x00 ; 0
1564 7a0: f6 e0 ldi r31, 0x06 ; 6
1565 7a2: 88 e1 ldi r24, 0x18 ; 24
1566 7a4: 87 8b std Z+23, r24 ; 0x17
1567 PORTA.PIN6CTRL = PORT_OPC_PULLUP_gc;
1568 7a6: 86 8b std Z+22, r24 ; 0x16
1569 PORTA.PIN5CTRL = PORT_OPC_PULLUP_gc;
1570 7a8: 85 8b std Z+21, r24 ; 0x15
1571 PORTA.PIN4CTRL = PORT_OPC_PULLUP_gc;
1572 7aa: 84 8b std Z+20, r24 ; 0x14
1573 PORTA.PIN3CTRL = PORT_OPC_PULLUP_gc;
1574 7ac: 83 8b std Z+19, r24 ; 0x13
1575 PORTA.PIN2CTRL = PORT_OPC_PULLUP_gc;
1576 7ae: 82 8b std Z+18, r24 ; 0x12
1577 PORTA.PIN1CTRL = PORT_OPC_PULLUP_gc;
1578 7b0: 81 8b std Z+17, r24 ; 0x11
1579 PORTA.DIRCLR = PIN7_bm | PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm | PIN2_bm | PIN1_bm;
1580 7b2: 9e ef ldi r25, 0xFE ; 254
1581 7b4: 92 83 std Z+2, r25 ; 0x02
1582 //Pin de salida A0
1583 //Wired AND. Esto pues podr� irse a alta por defecto y si existe una tensi�n
1584 //La l�nea tendr� el valor de tensi�n externa pero si es entrada con impedancia alta leer� el valor en alta
1585 //Valor por defecto salida: PA0 = low
1586
1587 PORTA.PIN0CTRL = PORT_OPC_WIREDANDPULL_gc;
1588 7b6: 98 e3 ldi r25, 0x38 ; 56
1589 7b8: 90 8b std Z+16, r25 ; 0x10
1590 PORTA.OUTCLR = PIN0_bm;
1591 7ba: 91 e0 ldi r25, 0x01 ; 1
1592 7bc: 96 83 std Z+6, r25 ; 0x06
1593 PORTA.DIRSET = PIN0_bm;
1594 7be: 91 83 std Z+1, r25 ; 0x01
1595
1596 //Configuracion pines del puerto B: PB3-PB0
1597 //Pines de entrada y totem_pullup
1598 PORTB.PIN3CTRL = PORT_OPC_PULLUP_gc;
1599 7c0: e0 e2 ldi r30, 0x20 ; 32
1600 7c2: f6 e0 ldi r31, 0x06 ; 6
1601 7c4: 83 8b std Z+19, r24 ; 0x13
1602 PORTB.PIN2CTRL = PORT_OPC_PULLUP_gc;
1603 7c6: 82 8b std Z+18, r24 ; 0x12
1604 PORTB.PIN1CTRL = PORT_OPC_PULLUP_gc;
1605 7c8: 81 8b std Z+17, r24 ; 0x11
1606 PORTB.PIN0CTRL = PORT_OPC_PULLUP_gc;
1607 7ca: 80 8b std Z+16, r24 ; 0x10
1608 PORTB.DIRCLR = PIN3_bm | PIN2_bm | PIN1_bm | PIN0_bm;
1609 7cc: 2f e0 ldi r18, 0x0F ; 15
1610 7ce: 22 83 std Z+2, r18 ; 0x02
1611
1612 //Configuracion pines del puerto C: PC7-PC0 Con PC7-PC4:SPI
1613 //Pines de entrada y totem_pullup: PC3, PC2, PC1, PC0, SPI_MISO PC6
1614 //Pines de salida y totem_wiredand-pull: SPI_MOSI, SCK, SS. Valores por defecto de 1's en SCK y SS. Por defecto 0 en MOSI.
1615 PORTSPI.PINSPIMISOCTRL = PORT_OPC_PULLUP_gc;
1616 7d0: e0 e4 ldi r30, 0x40 ; 64
1617 7d2: f6 e0 ldi r31, 0x06 ; 6
1618 7d4: 86 8b std Z+22, r24 ; 0x16
1619 PORTC.PIN3CTRL = PORT_OPC_PULLUP_gc;
1620 7d6: 83 8b std Z+19, r24 ; 0x13
1621 PORTC.PIN2CTRL = PORT_OPC_PULLUP_gc;
1622 7d8: 82 8b std Z+18, r24 ; 0x12
1623 PORTC.PIN1CTRL = PORT_OPC_PULLUP_gc;
1624 7da: 81 8b std Z+17, r24 ; 0x11
1625 PORTC.PIN0CTRL = PORT_OPC_PULLUP_gc;
1626 7dc: 80 8b std Z+16, r24 ; 0x10
1627 PORTC.DIRCLR = SPI_MISO_bm | PIN3_bm | PIN2_bm | PIN1_bm | PIN0_bm; //En este paso ya se sabe que el puerto SPI es el C
1628 7de: 9f e4 ldi r25, 0x4F ; 79
1629 7e0: 92 83 std Z+2, r25 ; 0x02
1630
1631 //Pines de salida wiredand-pull
1632 //Valor por defecto salida: PC4,PC7 = low
1633 //Valor por defecto salida: PC5 = set
1634
1635 PORTSPI.PINSPIMOSICTRL = PORT_OPC_TOTEM_gc;
1636 7e2: 15 8a std Z+21, r1 ; 0x15
1637 PORTSPI.PINSPISCKCTRL = PORT_OPC_TOTEM_gc;
1638 7e4: 17 8a std Z+23, r1 ; 0x17
1639 PORTSPI.PINSPISSCTRL = PORT_OPC_TOTEM_gc;
1640 7e6: 14 8a std Z+20, r1 ; 0x14
1641 PORTSPI.DIRSET = SPI_MOSI_bm | SPI_SS_bm |SPI_SCK_bm;
1642 7e8: 90 eb ldi r25, 0xB0 ; 176
1643 7ea: 91 83 std Z+1, r25 ; 0x01
1644 PORTSPI.OUTSET = SPI_SS_bm |SPI_SCK_bm;
1645 7ec: 90 e9 ldi r25, 0x90 ; 144
1646 7ee: 95 83 std Z+5, r25 ; 0x05
1647 PORTSPI.OUTCLR = SPI_MOSI_bm;
1648 7f0: 90 e2 ldi r25, 0x20 ; 32
1649 7f2: 96 83 std Z+6, r25 ; 0x06
1650 //Configuracion pines del puerto D: PD7-PD0
1651 //Pines de entrada y totem_pullup: PIN7 y PIN0
1652 //NOTA
1653 //PARA EL FW FINAL REVISAR SI PD2 SER� ENTRADA O NO
1654 //NOTA FIN
1655 PORTD.DIRSET = PIN2_bm;
1656 7f4: a0 e6 ldi r26, 0x60 ; 96
1657 7f6: b6 e0 ldi r27, 0x06 ; 6
1658 7f8: 94 e0 ldi r25, 0x04 ; 4
1659 7fa: 11 96 adiw r26, 0x01 ; 1
1660 7fc: 9c 93 st X, r25
1661 7fe: 11 97 sbiw r26, 0x01 ; 1
1662 PORTD.OUTCLR = PIN2_bm;
1663 800: 16 96 adiw r26, 0x06 ; 6
1664 802: 9c 93 st X, r25
1665 804: 16 97 sbiw r26, 0x06 ; 6
1666
1667
1668 PORTD.PIN7CTRL = PORT_OPC_PULLUP_gc;
1669 806: 57 96 adiw r26, 0x17 ; 23
1670 808: 8c 93 st X, r24
1671 80a: 57 97 sbiw r26, 0x17 ; 23
1672 PORTD.PIN0CTRL = PORT_OPC_PULLUP_gc;
1673 80c: 50 96 adiw r26, 0x10 ; 16
1674 80e: 8c 93 st X, r24
1675 810: 50 97 sbiw r26, 0x10 ; 16
1676 PORTD.DIRCLR = PIN7_bm | PIN1_bm| PIN0_bm;
1677 812: 93 e8 ldi r25, 0x83 ; 131
1678 814: 12 96 adiw r26, 0x02 ; 2
1679 816: 9c 93 st X, r25
1680 818: 12 97 sbiw r26, 0x02 ; 2
1681 //Pines de entrada y totem_pulldown: PIN2 y PIN1. Ambas ser�n entradas provenientes de la fpga
1682 //PORTD.PIN2CTRL = PORT_OPC_PULLDOWN_gc;
1683
1684 PORTD.PIN1CTRL = PORT_OPC_PULLDOWN_gc;
1685 81a: 90 e1 ldi r25, 0x10 ; 16
1686 81c: 51 96 adiw r26, 0x11 ; 17
1687 81e: 9c 93 st X, r25
1688 820: 51 97 sbiw r26, 0x11 ; 17
1689 //Pines de salida tipo wired-and-pull
1690 //Valor por defecto PD6, PD5, PD4, PD3 = low
1691
1692 PORTD.PIN6CTRL = PORT_OPC_TOTEM_gc;
1693 822: 56 96 adiw r26, 0x16 ; 22
1694 824: 1c 92 st X, r1
1695 826: 56 97 sbiw r26, 0x16 ; 22
1696 PORTD.PIN5CTRL = PORT_OPC_TOTEM_gc;
1697 828: 55 96 adiw r26, 0x15 ; 21
1698 82a: 1c 92 st X, r1
1699 82c: 55 97 sbiw r26, 0x15 ; 21
1700 PORTD.PIN4CTRL = PORT_OPC_TOTEM_gc;
1701 82e: 54 96 adiw r26, 0x14 ; 20
1702 830: 1c 92 st X, r1
1703 832: 54 97 sbiw r26, 0x14 ; 20
1704 PORTD.PIN3CTRL = PORT_OPC_TOTEM_gc;
1705 834: 53 96 adiw r26, 0x13 ; 19
1706 836: 1c 92 st X, r1
1707 838: 53 97 sbiw r26, 0x13 ; 19
1708 PORTD.DIRSET = PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm;
1709 83a: 38 e7 ldi r19, 0x78 ; 120
1710 83c: 11 96 adiw r26, 0x01 ; 1
1711 83e: 3c 93 st X, r19
1712 840: 11 97 sbiw r26, 0x01 ; 1
1713 PORTD.OUTCLR = PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm;
1714 842: 16 96 adiw r26, 0x06 ; 6
1715 844: 3c 93 st X, r19
1716
1717 //Configuracion pines del puerto E: PE3-PE0
1718 //Pines de entrada y totem_pullup: PIN3 - PIN0
1719
1720 PORTE.PIN3CTRL = PORT_OPC_PULLUP_gc;
1721 846: a0 e8 ldi r26, 0x80 ; 128
1722 848: b6 e0 ldi r27, 0x06 ; 6
1723 84a: 53 96 adiw r26, 0x13 ; 19
1724 84c: 8c 93 st X, r24
1725 84e: 53 97 sbiw r26, 0x13 ; 19
1726 PORTE.PIN2CTRL = PORT_OPC_PULLUP_gc;
1727 850: 52 96 adiw r26, 0x12 ; 18
1728 852: 8c 93 st X, r24
1729 854: 52 97 sbiw r26, 0x12 ; 18
1730 PORTE.PIN1CTRL = PORT_OPC_PULLUP_gc;
1731 856: 51 96 adiw r26, 0x11 ; 17
1732 858: 8c 93 st X, r24
1733 85a: 51 97 sbiw r26, 0x11 ; 17
1734 PORTE.PIN0CTRL = PORT_OPC_PULLUP_gc;
1735 85c: 50 96 adiw r26, 0x10 ; 16
1736 85e: 8c 93 st X, r24
1737 860: 50 97 sbiw r26, 0x10 ; 16
1738 PORTE.DIRCLR = PIN3_bm | PIN2_bm | PIN1_bm| PIN0_bm;
1739 862: 12 96 adiw r26, 0x02 ; 2
1740 864: 2c 93 st X, r18
1741
1742 //Configuracion pines del puerto R: PR1-PR0
1743 //Pines de entrada y totem_pulldown: PIN0
1744 PORTR.PIN1CTRL = PORT_OPC_PULLDOWN_gc;
1745 866: a0 ee ldi r26, 0xE0 ; 224
1746 868: b7 e0 ldi r27, 0x07 ; 7
1747 86a: 51 96 adiw r26, 0x11 ; 17
1748 86c: 9c 93 st X, r25
1749 86e: 51 97 sbiw r26, 0x11 ; 17
1750 PORTR.DIRCLR = PIN1_bm| PIN0_bm;
1751 870: 93 e0 ldi r25, 0x03 ; 3
1752 872: 12 96 adiw r26, 0x02 ; 2
1753 874: 9c 93 st X, r25
1754 876: 12 97 sbiw r26, 0x02 ; 2
1755 //Pines de entrada y totem_pulldup:PIN1
1756 PORTR.PIN0CTRL = PORT_OPC_PULLUP_gc;
1757 878: 50 96 adiw r26, 0x10 ; 16
1758 87a: 8c 93 st X, r24
1759
1760 //Configuraci�n como interrupci�n del pin SPI_MISO_RDY
1761
1762 PORTSPI.INT0MASK = SPI_MISO_bm;
1763 87c: 80 e4 ldi r24, 0x40 ; 64
1764 87e: 82 87 std Z+10, r24 ; 0x0a
1765 PORTSPI.INTCTRL = ( PORTSPI.INTCTRL & ~PORT_INT0LVL_gm ) | PORT_INT0LVL_LO_gc;
1766 880: 81 85 ldd r24, Z+9 ; 0x09
1767 882: 8c 7f andi r24, 0xFC ; 252
1768 884: 81 60 ori r24, 0x01 ; 1
1769 886: 81 87 std Z+9, r24 ; 0x09
1770 PORTSPI.PINSPIMISOCTRL = ( PORTSPI.PINSPIMISOCTRL & ~PORT_ISC_gm ) | PORT_ISC_FALLING_gc;
1771 888: 86 89 ldd r24, Z+22 ; 0x16
1772 88a: 88 7f andi r24, 0xF8 ; 248
1773 88c: 82 60 ori r24, 0x02 ; 2
1774 88e: 86 8b std Z+22, r24 ; 0x16
1775 890: 08 95 ret
1776
1777 00000892 <config_sysclock>:
1778 #define F_CPU 32000000UL
1779 #include <avr/io.h>
1780
1781 void config_sysclock(void){
1782
1783 CLK_PSCTRL = ((0<<CLK_PSADIV_gp) & CLK_PSADIV_gm)|((0<<CLK_PSBCDIV_gp) & CLK_PSBCDIV_gm); //Prescaler A, B y C = 1
1784 892: 10 92 41 00 sts 0x0041, r1
1785 OSC.CTRL |= OSC_RC32MEN_bm | OSC_RC32KEN_bm; /* Enable the internal 32MHz & 32KHz oscillators */
1786 896: e0 e5 ldi r30, 0x50 ; 80
1787 898: f0 e0 ldi r31, 0x00 ; 0
1788 89a: 80 81 ld r24, Z
1789 89c: 86 60 ori r24, 0x06 ; 6
1790 89e: 80 83 st Z, r24
1791 while(!(OSC.STATUS & OSC_RC32KRDY_bm)); /* Wait for 32Khz oscillator to stabilize */
1792 8a0: 81 81 ldd r24, Z+1 ; 0x01
1793 8a2: 82 ff sbrs r24, 2
1794 8a4: fd cf rjmp .-6 ; 0x8a0 <config_sysclock+0xe>
1795 while(!(OSC.STATUS & OSC_RC32MRDY_bm)); /* Wait for 32MHz oscillator to stabilize */
1796 8a6: e0 e5 ldi r30, 0x50 ; 80
1797 8a8: f0 e0 ldi r31, 0x00 ; 0
1798 8aa: 81 81 ldd r24, Z+1 ; 0x01
1799 8ac: 81 ff sbrs r24, 1
1800 8ae: fd cf rjmp .-6 ; 0x8aa <config_sysclock+0x18>
1801 DFLLRC32M.CTRL = DFLL_ENABLE_bm ; /* Enable DFLL - defaults to calibrate against internal 32Khz clock */
1802 8b0: 81 e0 ldi r24, 0x01 ; 1
1803 8b2: 80 93 60 00 sts 0x0060, r24
1804 OSC.DFLLCTRL &= 0xFD; //Habilito calibraci�n interna mediante reloj de 32K
1805 8b6: e0 e5 ldi r30, 0x50 ; 80
1806 8b8: f0 e0 ldi r31, 0x00 ; 0
1807 8ba: 96 81 ldd r25, Z+6 ; 0x06
1808 8bc: 9d 7f andi r25, 0xFD ; 253
1809 8be: 96 83 std Z+6, r25 ; 0x06
1810 CCP = CCP_IOREG_gc; /* Disable register security for clock update */
1811 8c0: 98 ed ldi r25, 0xD8 ; 216
1812 8c2: 94 bf out 0x34, r25 ; 52
1813 CLK.CTRL = CLK_SCLKSEL_RC32M_gc; /* Switch to 32MHz clock */
1814 8c4: 80 93 40 00 sts 0x0040, r24
1815 OSC.CTRL &= ~OSC_RC2MEN_bm;
1816 8c8: 80 81 ld r24, Z
1817 8ca: 8e 7f andi r24, 0xFE ; 254
1818 8cc: 80 83 st Z, r24
1819 8ce: 08 95 ret
1820
1821 000008d0 <_exit>:
1822 8d0: f8 94 cli
1823
1824 000008d2 <__stop_program>:
1825 8d2: ff cf rjmp .-2 ; 0x8d2 <__stop_program>
This diff has been collapsed as it changes many lines, (639 lines changed) Show them Hide them
@@ -0,0 +1,639
1 Archive member included because of file (symbol)
2
3 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o (exit)
5 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
6 main.o (__do_clear_bss)
7
8 Discarded input sections
9
10 .data 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
11 .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
12 .text 0x00000000 0x0 ADC_7176_2.o
13 .data 0x00000000 0x0 ADC_7176_2.o
14 .bss 0x00000000 0x0 ADC_7176_2.o
15 .text.test_adc
16 0x00000000 0x4a ADC_7176_2.o
17 .text.test_adc_2
18 0x00000000 0x42 ADC_7176_2.o
19 .text.test_adc_3
20 0x00000000 0x4a ADC_7176_2.o
21 .text.adcport_tranceiv
22 0x00000000 0x14 ADC_7176_2.o
23 .text.adcport_read_data_contread
24 0x00000000 0x24 ADC_7176_2.o
25 .text.adcport_read_data_synconv
26 0x00000000 0x54 ADC_7176_2.o
27 .text.adcport_write_adcmode_2
28 0x00000000 0x44 ADC_7176_2.o
29 .text.adcport_read_filtcon0
30 0x00000000 0x3a ADC_7176_2.o
31 .text 0x00000000 0x0 main.o
32 .data 0x00000000 0x0 main.o
33 .bss 0x00000000 0x0 main.o
34 .text 0x00000000 0x0 commSPI_ADC.o
35 .data 0x00000000 0x0 commSPI_ADC.o
36 .bss 0x00000000 0x0 commSPI_ADC.o
37 .text 0x00000000 0x0 fpga_port.o
38 .data 0x00000000 0x0 fpga_port.o
39 .bss 0x00000000 0x0 fpga_port.o
40 .text.habilitar_interrupciones
41 0x00000000 0xc fpga_port.o
42 .text.deshabilitar_interrupciones_globales
43 0x00000000 0x4 fpga_port.o
44 .text 0x00000000 0x0 Ports.o
45 .data 0x00000000 0x0 Ports.o
46 .bss 0x00000000 0x0 Ports.o
47 .text 0x00000000 0x0 sys_clock.o
48 .data 0x00000000 0x0 sys_clock.o
49 .bss 0x00000000 0x0 sys_clock.o
50 .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
51 .data 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
52 .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
53 .text.libgcc.mul
54 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
55 .text.libgcc.div
56 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
57 .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
58 .text.libgcc.prologue
59 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
60 .text.libgcc.builtins
61 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
62 .text.libgcc.fmul
63 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
64 .text.libgcc.fixed
65 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
66 .text 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
67 .data 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
68 .bss 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
69 .text.libgcc.mul
70 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
71 .text.libgcc.div
72 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
73 .text.libgcc 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
74 .text.libgcc.prologue
75 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
76 .text.libgcc.builtins
77 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
78 .text.libgcc.fmul
79 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
80 .text.libgcc.fixed
81 0x00000000 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
82
83 Memory Configuration
84
85 Name Origin Length Attributes
86 text 0x00000000 0x00100000 xr
87 data 0x00802000 0x0000ffa0 rw !x
88 eeprom 0x00810000 0x00010000 rw !x
89 fuse 0x00820000 0x00000400 rw !x
90 lock 0x00830000 0x00000400 rw !x
91 signature 0x00840000 0x00000400 rw !x
92 user_signatures 0x00850000 0x00000400 rw !x
93 *default* 0x00000000 0xffffffff
94
95 Linker script and memory map
96
97 LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
98 LOAD ADC_7176_2.o
99 LOAD main.o
100 LOAD commSPI_ADC.o
101 LOAD fpga_port.o
102 LOAD Ports.o
103 LOAD sys_clock.o
104 START GROUP
105 LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2\libm.a
106 END GROUP
107 START GROUP
108 LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a
109 LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2\libm.a
110 LOAD c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2\libc.a
111 END GROUP
112
113 .hash
114 *(.hash)
115
116 .dynsym
117 *(.dynsym)
118
119 .dynstr
120 *(.dynstr)
121
122 .gnu.version
123 *(.gnu.version)
124
125 .gnu.version_d
126 *(.gnu.version_d)
127
128 .gnu.version_r
129 *(.gnu.version_r)
130
131 .rel.init
132 *(.rel.init)
133
134 .rela.init
135 *(.rela.init)
136
137 .rel.text
138 *(.rel.text)
139 *(.rel.text.*)
140 *(.rel.gnu.linkonce.t*)
141
142 .rela.text
143 *(.rela.text)
144 *(.rela.text.*)
145 *(.rela.gnu.linkonce.t*)
146
147 .rel.fini
148 *(.rel.fini)
149
150 .rela.fini
151 *(.rela.fini)
152
153 .rel.rodata
154 *(.rel.rodata)
155 *(.rel.rodata.*)
156 *(.rel.gnu.linkonce.r*)
157
158 .rela.rodata
159 *(.rela.rodata)
160 *(.rela.rodata.*)
161 *(.rela.gnu.linkonce.r*)
162
163 .rel.data
164 *(.rel.data)
165 *(.rel.data.*)
166 *(.rel.gnu.linkonce.d*)
167
168 .rela.data
169 *(.rela.data)
170 *(.rela.data.*)
171 *(.rela.gnu.linkonce.d*)
172
173 .rel.ctors
174 *(.rel.ctors)
175
176 .rela.ctors
177 *(.rela.ctors)
178
179 .rel.dtors
180 *(.rel.dtors)
181
182 .rela.dtors
183 *(.rela.dtors)
184
185 .rel.got
186 *(.rel.got)
187
188 .rela.got
189 *(.rela.got)
190
191 .rel.bss
192 *(.rel.bss)
193
194 .rela.bss
195 *(.rela.bss)
196
197 .rel.plt
198 *(.rel.plt)
199
200 .rela.plt
201 *(.rela.plt)
202
203 .text 0x00000000 0x8d4
204 *(.vectors)
205 .vectors 0x00000000 0x16c c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
206 0x00000000 __vector_default
207 0x00000000 __vectors
208 *(.vectors)
209 *(.progmem.gcc*)
210 0x0000016c . = ALIGN (0x2)
211 0x0000016c __trampolines_start = .
212 *(.trampolines)
213 .trampolines 0x0000016c 0x0 linker stubs
214 *(.trampolines*)
215 0x0000016c __trampolines_end = .
216 *(.progmem*)
217 0x0000016c . = ALIGN (0x2)
218 *(.jumptables)
219 *(.jumptables*)
220 *(.lowtext)
221 *(.lowtext*)
222 0x0000016c __ctors_start = .
223 *(.ctors)
224 0x0000016c __ctors_end = .
225 0x0000016c __dtors_start = .
226 *(.dtors)
227 0x0000016c __dtors_end = .
228 SORT(*)(.ctors)
229 SORT(*)(.dtors)
230 *(.init0)
231 .init0 0x0000016c 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
232 0x0000016c __init
233 *(.init0)
234 *(.init1)
235 *(.init1)
236 *(.init2)
237 .init2 0x0000016c 0xc c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
238 *(.init2)
239 *(.init3)
240 *(.init3)
241 *(.init4)
242 .init4 0x00000178 0x10 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_clear_bss.o)
243 0x00000178 __do_clear_bss
244 *(.init4)
245 *(.init5)
246 *(.init5)
247 *(.init6)
248 *(.init6)
249 *(.init7)
250 *(.init7)
251 *(.init8)
252 *(.init8)
253 *(.init9)
254 .init9 0x00000188 0x8 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
255 *(.init9)
256 *(.text)
257 .text 0x00000190 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avrxmega2/crtx32d4.o
258 0x00000190 __vector_38
259 0x00000190 __vector_22
260 0x00000190 __vector_63
261 0x00000190 __vector_28
262 0x00000190 __vector_67
263 0x00000190 __vector_1
264 0x00000190 __vector_32
265 0x00000190 __vector_75
266 0x00000190 __vector_71
267 0x00000190 __vector_34
268 0x00000190 __vector_62
269 0x00000190 __vector_77
270 0x00000190 __vector_24
271 0x00000190 __vector_12
272 0x00000190 __vector_55
273 0x00000190 __vector_69
274 0x00000190 __vector_81
275 0x00000190 __vector_90
276 0x00000190 __vector_46
277 0x00000190 __bad_interrupt
278 0x00000190 __vector_72
279 0x00000190 __vector_6
280 0x00000190 __vector_31
281 0x00000190 __vector_78
282 0x00000190 __vector_74
283 0x00000190 __vector_39
284 0x00000190 __vector_3
285 0x00000190 __vector_23
286 0x00000190 __vector_68
287 0x00000190 __vector_30
288 0x00000190 __vector_73
289 0x00000190 __vector_45
290 0x00000190 __vector_25
291 0x00000190 __vector_61
292 0x00000190 __vector_11
293 0x00000190 __vector_54
294 0x00000190 __vector_13
295 0x00000190 __vector_17
296 0x00000190 __vector_19
297 0x00000190 __vector_56
298 0x00000190 __vector_7
299 0x00000190 __vector_49
300 0x00000190 __vector_41
301 0x00000190 __vector_86
302 0x00000190 __vector_88
303 0x00000190 __vector_43
304 0x00000190 __vector_27
305 0x00000190 __vector_5
306 0x00000190 __vector_33
307 0x00000190 __vector_76
308 0x00000190 __vector_47
309 0x00000190 __vector_52
310 0x00000190 __vector_37
311 0x00000190 __vector_89
312 0x00000190 __vector_4
313 0x00000190 __vector_44
314 0x00000190 __vector_82
315 0x00000190 __vector_51
316 0x00000190 __vector_9
317 0x00000190 __vector_21
318 0x00000190 __vector_15
319 0x00000190 __vector_66
320 0x00000190 __vector_36
321 0x00000190 __vector_79
322 0x00000190 __vector_58
323 0x00000190 __vector_70
324 0x00000190 __vector_83
325 0x00000190 __vector_29
326 0x00000190 __vector_60
327 0x00000190 __vector_40
328 0x00000190 __vector_85
329 0x00000190 __vector_8
330 0x00000190 __vector_26
331 0x00000190 __vector_48
332 0x00000190 __vector_80
333 0x00000190 __vector_14
334 0x00000190 __vector_84
335 0x00000190 __vector_57
336 0x00000190 __vector_53
337 0x00000190 __vector_10
338 0x00000190 __vector_50
339 0x00000190 __vector_16
340 0x00000190 __vector_59
341 0x00000190 __vector_18
342 0x00000190 __vector_20
343 0x00000190 __vector_42
344 0x00000190 __vector_87
345 0x00000190 __vector_65
346 0x00000194 . = ALIGN (0x2)
347 *(.text.*)
348 .text.adcport_read_data
349 0x00000194 0x34 ADC_7176_2.o
350 0x00000194 adcport_read_data
351 .text.adcport_write_adcmode
352 0x000001c8 0x34 ADC_7176_2.o
353 0x000001c8 adcport_write_adcmode
354 .text.adcport_write_filtcon0
355 0x000001fc 0x34 ADC_7176_2.o
356 0x000001fc adcport_write_filtcon0
357 .text.adcport_write_interfmode
358 0x00000230 0x32 ADC_7176_2.o
359 0x00000230 adcport_write_interfmode
360 .text.adcport_write_chmapreg0
361 0x00000262 0x36 ADC_7176_2.o
362 0x00000262 adcport_write_chmapreg0
363 .text.adcport_write_chmapreg1
364 0x00000298 0x34 ADC_7176_2.o
365 0x00000298 adcport_write_chmapreg1
366 .text.adcport_write_chmapreg2
367 0x000002cc 0x34 ADC_7176_2.o
368 0x000002cc adcport_write_chmapreg2
369 .text.adcport_write_chmapreg3
370 0x00000300 0x34 ADC_7176_2.o
371 0x00000300 adcport_write_chmapreg3
372 .text.adcport_write_setupcon0
373 0x00000334 0x36 ADC_7176_2.o
374 0x00000334 adcport_write_setupcon0
375 .text.adcport_write_reset
376 0x0000036a 0x86 ADC_7176_2.o
377 0x0000036a adcport_write_reset
378 .text.config_adc
379 0x000003f0 0x4c ADC_7176_2.o
380 0x000003f0 config_adc
381 .text.main 0x0000043c 0x22 main.o
382 0x0000043c main
383 .text.__vector_64
384 0x0000045e 0x68 main.o
385 0x0000045e __vector_64
386 .text.__vector_35
387 0x000004c6 0x92 main.o
388 0x000004c6 __vector_35
389 .text.__vector_2
390 0x00000558 0x70 main.o
391 0x00000558 __vector_2
392 .text.config_spiparm
393 0x000005c8 0x8 commSPI_ADC.o
394 0x000005c8 config_spiparm
395 .text.config_fpgaport
396 0x000005d0 0x66 fpga_port.o
397 0x000005d0 config_fpgaport
398 .text.habilitar_interrupciones_globales
399 0x00000636 0x4 fpga_port.o
400 0x00000636 habilitar_interrupciones_globales
401 .text.envio_nibble
402 0x0000063a 0x10e fpga_port.o
403 0x0000063a envio_nibble
404 .text.envio_dato_adc
405 0x00000748 0x2a fpga_port.o
406 0x00000748 envio_dato_adc
407 .text.envio_datos_fpga
408 0x00000772 0x2c fpga_port.o
409 0x00000772 envio_datos_fpga
410 .text.config_puertos
411 0x0000079e 0xf4 Ports.o
412 0x0000079e config_puertos
413 .text.config_sysclock
414 0x00000892 0x3e sys_clock.o
415 0x00000892 config_sysclock
416 0x000008d0 . = ALIGN (0x2)
417 *(.fini9)
418 .fini9 0x000008d0 0x0 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
419 0x000008d0 _exit
420 0x000008d0 exit
421 *(.fini9)
422 *(.fini8)
423 *(.fini8)
424 *(.fini7)
425 *(.fini7)
426 *(.fini6)
427 *(.fini6)
428 *(.fini5)
429 *(.fini5)
430 *(.fini4)
431 *(.fini4)
432 *(.fini3)
433 *(.fini3)
434 *(.fini2)
435 *(.fini2)
436 *(.fini1)
437 *(.fini1)
438 *(.fini0)
439 .fini0 0x000008d0 0x4 c:/program files (x86)/atmel/atmel toolchain/avr8 gcc/native/3.4.1061/avr8-gnu-toolchain/bin/../lib/gcc/avr/4.8.1/avrxmega2\libgcc.a(_exit.o)
440 *(.fini0)
441 0x000008d4 _etext = .
442
443 .data 0x00802000 0x0 load address 0x000008d4
444 0x00802000 PROVIDE (__data_start, .)
445 *(.data)
446 *(.data*)
447 *(.rodata)
448 *(.rodata*)
449 *(.gnu.linkonce.d*)
450 0x00802000 . = ALIGN (0x2)
451 0x00802000 _edata = .
452 0x00802000 PROVIDE (__data_end, .)
453
454 .bss 0x00802000 0x2
455 0x00802000 PROVIDE (__bss_start, .)
456 *(.bss)
457 *(.bss*)
458 .bss.aux 0x00802000 0x2 main.o
459 0x00802000 aux
460 *(COMMON)
461 0x00802002 PROVIDE (__bss_end, .)
462 0x000008d4 __data_load_start = LOADADDR (.data)
463 0x000008d4 __data_load_end = (__data_load_start + SIZEOF (.data))
464
465 .noinit 0x00802002 0x0
466 0x00802002 PROVIDE (__noinit_start, .)
467 *(.noinit*)
468 0x00802002 PROVIDE (__noinit_end, .)
469 0x00802002 _end = .
470 0x00802002 PROVIDE (__heap_start, .)
471
472 .eeprom 0x00810000 0x0
473 *(.eeprom*)
474 0x00810000 __eeprom_end = .
475
476 .fuse
477 *(.fuse)
478 *(.lfuse)
479 *(.hfuse)
480 *(.efuse)
481
482 .lock
483 *(.lock*)
484
485 .signature
486 *(.signature*)
487
488 .user_signatures
489 *(.user_signatures*)
490
491 .stab
492 *(.stab)
493
494 .stabstr
495 *(.stabstr)
496
497 .stab.excl
498 *(.stab.excl)
499
500 .stab.exclstr
501 *(.stab.exclstr)
502
503 .stab.index
504 *(.stab.index)
505
506 .stab.indexstr
507 *(.stab.indexstr)
508
509 .comment 0x00000000 0x30
510 *(.comment)
511 .comment 0x00000000 0x30 ADC_7176_2.o
512 0x31 (size before relaxing)
513 .comment 0x00000000 0x31 main.o
514 .comment 0x00000000 0x31 commSPI_ADC.o
515 .comment 0x00000000 0x31 fpga_port.o
516 .comment 0x00000000 0x31 Ports.o
517 .comment 0x00000000 0x31 sys_clock.o
518
519 .note.gnu.build-id
520 *(.note.gnu.build-id)
521
522 .debug
523 *(.debug)
524
525 .line
526 *(.line)
527
528 .debug_srcinfo
529 *(.debug_srcinfo)
530
531 .debug_sfnames
532 *(.debug_sfnames)
533
534 .debug_aranges 0x00000000 0x198
535 *(.debug_aranges)
536 .debug_aranges
537 0x00000000 0xb0 ADC_7176_2.o
538 .debug_aranges
539 0x000000b0 0x38 main.o
540 .debug_aranges
541 0x000000e8 0x20 commSPI_ADC.o
542 .debug_aranges
543 0x00000108 0x50 fpga_port.o
544 .debug_aranges
545 0x00000158 0x20 Ports.o
546 .debug_aranges
547 0x00000178 0x20 sys_clock.o
548
549 .debug_pubnames
550 *(.debug_pubnames)
551
552 .debug_info 0x00000000 0x1a04
553 *(.debug_info .gnu.linkonce.wi.*)
554 .debug_info 0x00000000 0xbc5 ADC_7176_2.o
555 .debug_info 0x00000bc5 0x3d8 main.o
556 .debug_info 0x00000f9d 0xf0 commSPI_ADC.o
557 .debug_info 0x0000108d 0x487 fpga_port.o
558 .debug_info 0x00001514 0x2ab Ports.o
559 .debug_info 0x000017bf 0x245 sys_clock.o
560
561 .debug_abbrev 0x00000000 0x726
562 *(.debug_abbrev)
563 .debug_abbrev 0x00000000 0x21e ADC_7176_2.o
564 .debug_abbrev 0x0000021e 0x17a main.o
565 .debug_abbrev 0x00000398 0x83 commSPI_ADC.o
566 .debug_abbrev 0x0000041b 0x1a8 fpga_port.o
567 .debug_abbrev 0x000005c3 0xaa Ports.o
568 .debug_abbrev 0x0000066d 0xb9 sys_clock.o
569
570 .debug_line 0x00000000 0xc70
571 *(.debug_line .debug_line.* .debug_line_end)
572 .debug_line 0x00000000 0x43a ADC_7176_2.o
573 .debug_line 0x0000043a 0x24b main.o
574 .debug_line 0x00000685 0x127 commSPI_ADC.o
575 .debug_line 0x000007ac 0x239 fpga_port.o
576 .debug_line 0x000009e5 0x153 Ports.o
577 .debug_line 0x00000b38 0x138 sys_clock.o
578
579 .debug_frame 0x00000000 0x34c
580 *(.debug_frame)
581 .debug_frame 0x00000000 0x154 ADC_7176_2.o
582 .debug_frame 0x00000154 0xd8 main.o
583 .debug_frame 0x0000022c 0x24 commSPI_ADC.o
584 .debug_frame 0x00000250 0xb4 fpga_port.o
585 .debug_frame 0x00000304 0x24 Ports.o
586 .debug_frame 0x00000328 0x24 sys_clock.o
587
588 .debug_str 0x00000000 0x8ad
589 *(.debug_str)
590 .debug_str 0x00000000 0x417 ADC_7176_2.o
591 0x45a (size before relaxing)
592 .debug_str 0x00000417 0x9d main.o
593 0x367 (size before relaxing)
594 .debug_str 0x000004b4 0x13 commSPI_ADC.o
595 0x1c0 (size before relaxing)
596 .debug_str 0x000004c7 0x284 fpga_port.o
597 0x54e (size before relaxing)
598 .debug_str 0x0000074b 0xd Ports.o
599 0x3f1 (size before relaxing)
600 .debug_str 0x00000758 0x155 sys_clock.o
601 0x2e5 (size before relaxing)
602
603 .debug_loc 0x00000000 0x564
604 *(.debug_loc)
605 .debug_loc 0x00000000 0x26b ADC_7176_2.o
606 .debug_loc 0x0000026b 0x184 main.o
607 .debug_loc 0x000003ef 0x175 fpga_port.o
608
609 .debug_macinfo
610 *(.debug_macinfo)
611
612 .debug_weaknames
613 *(.debug_weaknames)
614
615 .debug_funcnames
616 *(.debug_funcnames)
617
618 .debug_typenames
619 *(.debug_typenames)
620
621 .debug_varnames
622 *(.debug_varnames)
623
624 .debug_pubtypes
625 *(.debug_pubtypes)
626
627 .debug_ranges 0x00000000 0x138
628 *(.debug_ranges)
629 .debug_ranges 0x00000000 0xa0 ADC_7176_2.o
630 .debug_ranges 0x000000a0 0x28 main.o
631 .debug_ranges 0x000000c8 0x10 commSPI_ADC.o
632 .debug_ranges 0x000000d8 0x40 fpga_port.o
633 .debug_ranges 0x00000118 0x10 Ports.o
634 .debug_ranges 0x00000128 0x10 sys_clock.o
635
636 .debug_macro
637 *(.debug_macro)
638 OUTPUT(ADCSPI_v01.elf elf32-avr)
639 LOAD linker stubs
@@ -0,0 +1,144
1 S01200004144435350495F7630312E7372656328
2 S11300000C94B6000C94C8000C94AC020C94C80078
3 S11300100C94C8000C94C8000C94C8000C94C8003C
4 S11300200C94C8000C94C8000C94C8000C94C8002C
5 S11300300C94C8000C94C8000C94C8000C94C8001C
6 S11300400C94C8000C94C8000C94C8000C94C8000C
7 S11300500C94C8000C94C8000C94C8000C94C800FC
8 S11300600C94C8000C94C8000C94C8000C94C800EC
9 S11300700C94C8000C94C8000C94C8000C94C800DC
10 S11300800C94C8000C94C8000C94C8000C9463022F
11 S11300900C94C8000C94C8000C94C8000C94C800BC
12 S11300A00C94C8000C94C8000C94C8000C94C800AC
13 S11300B00C94C8000C94C8000C94C8000C94C8009C
14 S11300C00C94C8000C94C8000C94C8000C94C8008C
15 S11300D00C94C8000C94C8000C94C8000C94C8007C
16 S11300E00C94C8000C94C8000C94C8000C94C8006C
17 S11300F00C94C8000C94C8000C94C8000C94C8005C
18 S11301000C942F020C94C8000C94C8000C94C800E2
19 S11301100C94C8000C94C8000C94C8000C94C8003B
20 S11301200C94C8000C94C8000C94C8000C94C8002B
21 S11301300C94C8000C94C8000C94C8000C94C8001B
22 S11301400C94C8000C94C8000C94C8000C94C8000B
23 S11301500C94C8000C94C8000C94C8000C94C800FB
24 S11301600C94C8000C94C8000C94C80011241FBE41
25 S1130170CFEFCDBFDFE2DEBF20E2A0E0B0E201C0FE
26 S11301801D92A230B207E1F70E941E020C9468048B
27 S11301900C94000024E4E0ECF8E023832281222381
28 S11301A0ECF7E0ECF8E023811616170664F4DC01A2
29 S11301B0860F971F138222812223ECF723812D932C
30 S11301C0A817B907B9F7089581E0E0ECF8E0838354
31 S11301D082818823ECF7E0ECF8E0838180E8838374
32 S11301E082818823ECF7E0ECF8E08381138282813A
33 S11301F08823ECF7E0ECF8E08381089588E2E0ECF2
34 S1130200F8E0838382818823ECF7E0ECF8E08381D3
35 S1130210138282818823ECF7E0ECF8E0838183E0A9
36 S1130220838382818823ECF7E0ECF8E083810895EE
37 S113023082E0E0ECF8E0838382818823ECF7E0EC51
38 S1130240F8E08381138282818823ECF7E0ECF8E004
39 S11302508381138282818823ECF7E0ECF8E08381C8
40 S1130260089580E1E0ECF8E0838382818823ECF751
41 S1130270E0ECF8E0838180E8838382818823ECF7D3
42 S1130280E0ECF8E0838180E2838382818823ECF7C9
43 S1130290E0ECF8E08381089581E1E0ECF8E0838309
44 S11302A082818823ECF7E0ECF8E083811382828179
45 S11302B08823ECF7E0ECF8E0838181E0838382819A
46 S11302C08823ECF7E0ECF8E08381089582E1E0EC28
47 S11302D0F8E0838382818823ECF7E0ECF8E0838103
48 S11302E0138282818823ECF7E0ECF8E0838181E0DB
49 S11302F0838382818823ECF7E0ECF8E0838108951E
50 S113030083E1E0ECF8E0838382818823ECF7E0EC7E
51 S1130310F8E08381138282818823ECF7E0ECF8E033
52 S1130320838181E0838382818823ECF7E0ECF8E029
53 S11303308381089580E2E0ECF8E08383828188235E
54 S1130340ECF7E0ECF8E0838180E183838281882309
55 S1130350ECF7E0ECF8E0838180E2838382818823F8
56 S1130360ECF7E0ECF8E0838108958FEFE0ECF8E03F
57 S1130370838382818823ECF7E0ECF8E083818FEFBC
58 S1130380838382818823ECF7E0ECF8E083818FEFAC
59 S1130390838382818823ECF7E0ECF8E083818FEF9C
60 S11303A0838382818823ECF7E0ECF8E083818FEF8C
61 S11303B0838382818823ECF7E0ECF8E083818FEF7C
62 S11303C0838382818823ECF7E0ECF8E083818FEF6C
63 S11303D0838382818823ECF7E0ECF8E083818FEF5C
64 S11303E0838382818823ECF7E0ECF8E0838108952D
65 S11303F01F93CF93DF93C0E4D6E010E11E830E94E5
66 S1130400B5011D838FE599E00197F1F700C0000065
67 S11304101E830E94E4000E9418010E94FE000E94B4
68 S11304209A010E9431010E944C010E9466010E94BF
69 S113043080011D83DF91CF911F9108950E94CF0306
70 S11304400E9449040E94E4020E94E8020E94F8010A
71 S113045084E0E0EAF0E082830E941B03FFCF1F9256
72 S11304600F920FB60F9211248F939F93EF93FF93E4
73 S1130470E0E6F6E0808581FF11C081E0E0E4F6E08B
74 S1130480848792E0E0E2F6E09487E0EAF0E092818B
75 S113049092609283E0E0F6E085830CC0E0EAF0E04D
76 S11304A082818D7F828382818E7F828381E0E0E0FE
77 S11304B0F6E08683FF91EF919F918F910F900FBE8D
78 S11304C00F901F9018951F920F920FB60F92112440
79 S11304D08F93EF93FF93E0EAF0E082818E7F828333
80 S11304E0E0E4F6E081E084878487000000000000F7
81 S11304F000001092002010920120E0EAF0E08281D6
82 S113050081608283E0E4F6E081E0848780E1858392
83 S1130510000084E0E0E6F6E08583000000000000CF
84 S113052000000000000000000000000000000000C7
85 S11305300000000080E1E0E4F6E086838AE68A9524
86 S1130540F1F700C081E08487FF91EF918F910F90C4
87 S11305500FBE0F901F9018951F920F920FB60F9217
88 S113056011242F933F934F935F936F937F938F93B4
89 S11305709F93AF93BF93EF93FF938091002090914B
90 S1130580012080329E445CF40E94B90380910020D3
91 S1130590909101200196809300209093012081E0A6
92 S11305A0E0E4F6E08487FF91EF91BF91AF919F91D2
93 S11305B08F917F916F915F914F913F912F910F9008
94 S11305C00FBE0F901F9018958CED8093C00808956E
95 S11305D0CF93DF93E0E6F6E0118A92E0928320E184
96 S11305E0228B84E081838683A0E2B6E012968C930A
97 S11305F0129752962C935297C0E0D6E021E02983BB
98 S11306002E8321852360218792879189987F918BFE
99 S11306109185937F986019969C9319971B968C9358
100 S11306201B9752968C915297887F816052968C9337
101 S1130630DF91CF91089578940895000000000000A0
102 S113064000000000000000000000000000000000A6
103 S11306500000000000000000000000000000000096
104 S1130660000084E0E0E6F6E085830000000000007E
105 S11306700000000000000000000000000000000076
106 S11306800000000000000000000000000000000066
107 S113069000008683868188E48483000000000000D3
108 S11306A00000000000000000000000000000000046
109 S11306B00000000000000000000000000000000036
110 S11306C0000084E0858300000000000000000000BA
111 S11306D00000000000000000000000000000000016
112 S11306E000000000000000000000000000008683FD
113 S11306F0868180E684830000000000000000000082
114 S113070000000000000000000000000000000000E5
115 S1130710000000000000000000000000000084E071
116 S113072085830000000000000000000000000000BD
117 S113073000000000000000000000000000000000B5
118 S113074000000000000008950F931F93CF93DF93E0
119 S11307508C01C0E0D0E0F80181918F010E941D035B
120 S11307602196C330D105B9F7DF91CF911F910F9135
121 S11307700895CF93DF9300D01F92CDB7DEB763E027
122 S113078070E0CE0101960E94CA00CE0101960E943B
123 S1130790A4032396CDBFDEBFDF91CF910895E0E09F
124 S11307A0F6E088E1878B868B858B848B838B828BA9
125 S11307B0818B9EEF928398E3908B91E09683918353
126 S11307C0E0E2F6E0838B828B818B808B2FE02283A7
127 S11307D0E0E4F6E0868B838B828B818B808B9FE4B5
128 S11307E09283158A178A148A90EB918390E99583F2
129 S11307F090E29683A0E6B6E094E011969C9311975C
130 S113080016969C93169757968C93579750968C935D
131 S1130810509793E812969C93129790E151969C936B
132 S1130820519756961C92569755961C9255975496E6
133 S11308301C92549753961C92539738E711963C9305
134 S1130840119716963C93A0E8B6E053968C93539771
135 S113085052968C93529751968C93519750968C93B1
136 S1130860509712962C93A0EEB7E051969C93519713
137 S113087093E012969C93129750968C9380E482870F
138 S113088081858C7F816081878689887F8260868B61
139 S1130890089510924100E0E5F0E080818660808355
140 S11308A0818182FFFDCFE0E5F0E0818181FFFDCF12
141 S11308B081E080936000E0E5F0E096819D7F96837F
142 S11308C098ED94BF8093400080818E7F808308954B
143 S10708D0F894FFCFC6
144 S9030000FC
@@ -0,0 +1,53
1 ADC_7176_2.d ADC_7176_2.o: .././ADC_7176_2.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h \
14 .././ADC_7176_2.h .././Ports.h .././commSPI_ADC.h \
15 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h \
16 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
17 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h
18
19 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
20
21 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
22
23 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
24
25 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
26
27 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
28
29 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
30
31 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
32
33 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
34
35 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
36
37 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
38
39 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
40
41 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
42
43 .././ADC_7176_2.h:
44
45 .././Ports.h:
46
47 .././commSPI_ADC.h:
48
49 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h:
50
51 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
52
53 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h:
@@ -0,0 +1,164
1 ################################################################################
2 # Automatically-generated file. Do not edit!
3 ################################################################################
4
5 SHELL := cmd.exe
6 RM := rm -rf
7
8 USER_OBJS :=
9
10 LIBS :=
11 PROJ :=
12
13 O_SRCS :=
14 C_SRCS :=
15 S_SRCS :=
16 S_UPPER_SRCS :=
17 OBJ_SRCS :=
18 ASM_SRCS :=
19 PREPROCESSING_SRCS :=
20 OBJS :=
21 OBJS_AS_ARGS :=
22 C_DEPS :=
23 C_DEPS_AS_ARGS :=
24 EXECUTABLES :=
25 OUTPUT_FILE_PATH :=
26 OUTPUT_FILE_PATH_AS_ARGS :=
27 AVR_APP_PATH :=$$$AVR_APP_PATH$$$
28 QUOTE := "
29 ADDITIONAL_DEPENDENCIES:=
30 OUTPUT_FILE_DEP:=
31 LIB_DEP:=
32 LINKER_SCRIPT_DEP:=
33
34 # Every subdirectory with source files must be described here
35 SUBDIRS :=
36
37
38 # Add inputs and outputs from these tool invocations to the build variables
39 C_SRCS += \
40 ../ADC_7176_2.c \
41 ../main.c \
42 ../commSPI_ADC.c \
43 ../fpga_port.c \
44 ../Ports.c \
45 ../sys_clock.c
46
47
48 PREPROCESSING_SRCS +=
49
50
51 ASM_SRCS +=
52
53
54 OBJS += \
55 ADC_7176_2.o \
56 main.o \
57 commSPI_ADC.o \
58 fpga_port.o \
59 Ports.o \
60 sys_clock.o
61
62 OBJS_AS_ARGS += \
63 ADC_7176_2.o \
64 main.o \
65 commSPI_ADC.o \
66 fpga_port.o \
67 Ports.o \
68 sys_clock.o
69
70 C_DEPS += \
71 ADC_7176_2.d \
72 main.d \
73 commSPI_ADC.d \
74 fpga_port.d \
75 Ports.d \
76 sys_clock.d
77
78 C_DEPS_AS_ARGS += \
79 ADC_7176_2.d \
80 main.d \
81 commSPI_ADC.d \
82 fpga_port.d \
83 Ports.d \
84 sys_clock.d
85
86 OUTPUT_FILE_PATH +=ADCSPI_v01.elf
87
88 OUTPUT_FILE_PATH_AS_ARGS +=ADCSPI_v01.elf
89
90 ADDITIONAL_DEPENDENCIES:=
91
92 OUTPUT_FILE_DEP:= ./makedep.mk
93
94 LIB_DEP+=
95
96 LINKER_SCRIPT_DEP+=
97
98
99 # AVR32/GNU C Compiler
100
101
102
103
104
105
106
107
108
109
110
111
112
113 ./%.o: .././%.c
114 @echo Building file: $<
115 @echo Invoking: AVR/GNU C Compiler : 4.8.1
116 $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega32d4 -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
117 @echo Finished building: $<
118
119
120
121
122 # AVR32/GNU Preprocessing Assembler
123
124
125
126 # AVR32/GNU Assembler
127
128
129
130
131 ifneq ($(MAKECMDGOALS),clean)
132 ifneq ($(strip $(C_DEPS)),)
133 -include $(C_DEPS)
134 endif
135 endif
136
137 # Add inputs and outputs from these tool invocations to the build variables
138
139 # All Target
140 all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
141
142 $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP)
143 @echo Building target: $@
144 @echo Invoking: AVR/GNU Linker : 4.8.1
145 $(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="ADCSPI_v01.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atxmega32d4
146 @echo Finished building target: $@
147 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "ADCSPI_v01.elf" "ADCSPI_v01.hex"
148 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "ADCSPI_v01.elf" "ADCSPI_v01.eep" || exit 0
149 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "ADCSPI_v01.elf" > "ADCSPI_v01.lss"
150 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "ADCSPI_v01.elf" "ADCSPI_v01.srec"
151 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1061\avr8-gnu-toolchain\bin\avr-size.exe" "ADCSPI_v01.elf"
152
153
154
155
156
157
158
159 # Other Targets
160 clean:
161 -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
162 -$(RM) $(C_DEPS_AS_ARGS)
163 rm -rf "ADCSPI_v01.elf" "ADCSPI_v01.a" "ADCSPI_v01.hex" "ADCSPI_v01.lss" "ADCSPI_v01.eep" "ADCSPI_v01.map" "ADCSPI_v01.srec" "ADCSPI_v01.usersignatures"
164 No newline at end of file
@@ -0,0 +1,42
1 Ports.d Ports.o: .././Ports.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h \
14 .././Ports.h .././commSPI_ADC.h
15
16 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
17
18 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
19
20 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
21
22 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
23
24 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
25
26 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
27
28 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
29
30 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
31
32 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
33
34 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
35
36 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
37
38 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
39
40 .././Ports.h:
41
42 .././commSPI_ADC.h:
@@ -0,0 +1,42
1 commSPI_ADC.d commSPI_ADC.o: .././commSPI_ADC.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h \
14 .././commSPI_ADC.h .././Ports.h
15
16 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
17
18 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
19
20 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
21
22 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
23
24 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
25
26 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
27
28 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
29
30 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
31
32 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
33
34 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
35
36 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
37
38 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
39
40 .././commSPI_ADC.h:
41
42 .././Ports.h:
@@ -0,0 +1,59
1 fpga_port.d fpga_port.o: .././fpga_port.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h \
14 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h \
15 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
16 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h \
17 .././fpga_port.h \
18 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
19 .././ADC_7176_2.h .././Ports.h .././commSPI_ADC.h
20
21 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
22
23 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
24
25 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
26
27 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
28
29 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
30
31 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
32
33 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
34
35 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
36
37 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
38
39 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
40
41 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
42
43 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
44
45 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h:
46
47 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
48
49 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h:
50
51 .././fpga_port.h:
52
53 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
54
55 .././ADC_7176_2.h:
56
57 .././Ports.h:
58
59 .././commSPI_ADC.h:
@@ -0,0 +1,61
1 main.d main.o: .././main.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h \
14 .././Ports.h .././sys_clock.h .././ADC_7176_2.h .././commSPI_ADC.h \
15 .././fpga_port.h \
16 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
17 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h \
18 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
19 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h
20
21 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
22
23 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
24
25 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
26
27 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
28
29 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
30
31 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
32
33 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
34
35 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
36
37 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
38
39 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
40
41 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
42
43 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
44
45 .././Ports.h:
46
47 .././sys_clock.h:
48
49 .././ADC_7176_2.h:
50
51 .././commSPI_ADC.h:
52
53 .././fpga_port.h:
54
55 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
56
57 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay.h:
58
59 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
60
61 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\math.h:
@@ -0,0 +1,16
1 ################################################################################
2 # Automatically-generated file. Do not edit or delete the file
3 ################################################################################
4
5 ADC_7176_2.c
6
7 main.c
8
9 commSPI_ADC.c
10
11 fpga_port.c
12
13 Ports.c
14
15 sys_clock.c
16
@@ -0,0 +1,37
1 sys_clock.d sys_clock.o: .././sys_clock.c \
2 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h \
3 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
4 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h \
5 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
6 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h \
7 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
8 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h \
9 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h \
10 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h \
11 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h \
12 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h \
13 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h
14
15 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\io.h:
16
17 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
18
19 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\inttypes.h:
20
21 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
22
23 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdint.h:
24
25 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
26
27 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\portpins.h:
28
29 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\common.h:
30
31 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\version.h:
32
33 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\xmega.h:
34
35 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\fuse.h:
36
37 c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\avr\lock.h:
@@ -0,0 +1,126
1 /*
2 * Ports.c
3 *
4 * Created: 26/04/16 11:39:52
5 * Author: Francisco
6 */
7 /*!
8 * \fn config_puertos
9 * \brief Configuraci�n de todos los pines de I/O a usarse
10 * para la prueba. Para el firmware final se deben dejar de configurar en este segmento
11 * los pines PR0 y PR1 que corresponden a las entradas de tierra y reloj externo.
12 * Los criterios de asignaci�n de control:
13 * Pullup: Para evitar ruido se env�a a una tensi�n conocida. De preferencia si
14 * Se sabe que la entrada ser� casi siempre alta.
15 * Pulldown: Para evitar ruido se env�a a una tensi�n conocida. De preferencia si
16 * Se sabe que la entrada ser� casi siempre baja.
17 * WiredAndpull: Para evitar cortos de una salida al exterior del board.
18 * Totem: Si se tiene certeza que el otro extremo es una salida o entrada con un valor predecible(Mismo board).
19 * \
20 */
21
22 #define F_CPU 32000000UL
23 #include <avr/io.h>
24
25 #include "Ports.h"
26 #include "commSPI_ADC.h"
27
28 inline void config_puertos(void){
29 //Configuracion pines del puerto A: PA7-PA0
30 //Pines de entrada y totem_pullup
31 PORTA.PIN7CTRL = PORT_OPC_PULLUP_gc;
32 PORTA.PIN6CTRL = PORT_OPC_PULLUP_gc;
33 PORTA.PIN5CTRL = PORT_OPC_PULLUP_gc;
34 PORTA.PIN4CTRL = PORT_OPC_PULLUP_gc;
35 PORTA.PIN3CTRL = PORT_OPC_PULLUP_gc;
36 PORTA.PIN2CTRL = PORT_OPC_PULLUP_gc;
37 PORTA.PIN1CTRL = PORT_OPC_PULLUP_gc;
38 PORTA.DIRCLR = PIN7_bm | PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm | PIN2_bm | PIN1_bm;
39
40 //Pin de salida A0
41 //Wired AND. Esto pues podr� irse a alta por defecto y si existe una tensi�n
42 //La l�nea tendr� el valor de tensi�n externa pero si es entrada con impedancia alta leer� el valor en alta
43 //Valor por defecto salida: PA0 = low
44
45 PORTA.PIN0CTRL = PORT_OPC_WIREDANDPULL_gc;
46 PORTA.OUTCLR = PIN0_bm;
47 PORTA.DIRSET = PIN0_bm;
48
49 //Configuracion pines del puerto B: PB3-PB0
50 //Pines de entrada y totem_pullup
51 PORTB.PIN3CTRL = PORT_OPC_PULLUP_gc;
52 PORTB.PIN2CTRL = PORT_OPC_PULLUP_gc;
53 PORTB.PIN1CTRL = PORT_OPC_PULLUP_gc;
54 PORTB.PIN0CTRL = PORT_OPC_PULLUP_gc;
55 PORTB.DIRCLR = PIN3_bm | PIN2_bm | PIN1_bm | PIN0_bm;
56
57 //Configuracion pines del puerto C: PC7-PC0 Con PC7-PC4:SPI
58 //Pines de entrada y totem_pullup: PC3, PC2, PC1, PC0, SPI_MISO PC6
59 //Pines de salida y totem_wiredand-pull: SPI_MOSI, SCK, SS. Valores por defecto de 1's en SCK y SS. Por defecto 0 en MOSI.
60 PORTSPI.PINSPIMISOCTRL = PORT_OPC_PULLUP_gc;
61 PORTC.PIN3CTRL = PORT_OPC_PULLUP_gc;
62 PORTC.PIN2CTRL = PORT_OPC_PULLUP_gc;
63 PORTC.PIN1CTRL = PORT_OPC_PULLUP_gc;
64 PORTC.PIN0CTRL = PORT_OPC_PULLUP_gc;
65 PORTC.DIRCLR = SPI_MISO_bm | PIN3_bm | PIN2_bm | PIN1_bm | PIN0_bm; //En este paso ya se sabe que el puerto SPI es el C
66
67 //Pines de salida wiredand-pull
68 //Valor por defecto salida: PC4,PC7 = low
69 //Valor por defecto salida: PC5 = set
70
71 PORTSPI.PINSPIMOSICTRL = PORT_OPC_TOTEM_gc;
72 PORTSPI.PINSPISCKCTRL = PORT_OPC_TOTEM_gc;
73 PORTSPI.PINSPISSCTRL = PORT_OPC_TOTEM_gc;
74 PORTSPI.DIRSET = SPI_MOSI_bm | SPI_SS_bm |SPI_SCK_bm;
75 PORTSPI.OUTSET = SPI_SS_bm |SPI_SCK_bm;
76 PORTSPI.OUTCLR = SPI_MOSI_bm;
77
78 //Configuracion pines del puerto D: PD7-PD0
79 //Pines de entrada y totem_pullup: PIN7 y PIN0
80 //NOTA
81 //PARA EL FW FINAL REVISAR SI PD2 SER� ENTRADA O NO
82 //NOTA FIN
83 PORTD.DIRSET = PIN2_bm;
84 PORTD.OUTCLR = PIN2_bm;
85
86
87 PORTD.PIN7CTRL = PORT_OPC_PULLUP_gc;
88 PORTD.PIN0CTRL = PORT_OPC_PULLUP_gc;
89 PORTD.DIRCLR = PIN7_bm | PIN1_bm| PIN0_bm;
90 //Pines de entrada y totem_pulldown: PIN2 y PIN1. Ambas ser�n entradas provenientes de la fpga
91 //PORTD.PIN2CTRL = PORT_OPC_PULLDOWN_gc;
92
93 PORTD.PIN1CTRL = PORT_OPC_PULLDOWN_gc;
94 //Pines de salida tipo wired-and-pull
95 //Valor por defecto PD6, PD5, PD4, PD3 = low
96
97 PORTD.PIN6CTRL = PORT_OPC_TOTEM_gc;
98 PORTD.PIN5CTRL = PORT_OPC_TOTEM_gc;
99 PORTD.PIN4CTRL = PORT_OPC_TOTEM_gc;
100 PORTD.PIN3CTRL = PORT_OPC_TOTEM_gc;
101 PORTD.DIRSET = PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm;
102 PORTD.OUTCLR = PIN6_bm | PIN5_bm | PIN4_bm | PIN3_bm;
103
104 //Configuracion pines del puerto E: PE3-PE0
105 //Pines de entrada y totem_pullup: PIN3 - PIN0
106
107 PORTE.PIN3CTRL = PORT_OPC_PULLUP_gc;
108 PORTE.PIN2CTRL = PORT_OPC_PULLUP_gc;
109 PORTE.PIN1CTRL = PORT_OPC_PULLUP_gc;
110 PORTE.PIN0CTRL = PORT_OPC_PULLUP_gc;
111 PORTE.DIRCLR = PIN3_bm | PIN2_bm | PIN1_bm| PIN0_bm;
112
113 //Configuracion pines del puerto R: PR1-PR0
114 //Pines de entrada y totem_pulldown: PIN0
115 PORTR.PIN1CTRL = PORT_OPC_PULLDOWN_gc;
116 PORTR.DIRCLR = PIN1_bm| PIN0_bm;
117 //Pines de entrada y totem_pulldup:PIN1
118 PORTR.PIN0CTRL = PORT_OPC_PULLUP_gc;
119
120 //Configuraci�n como interrupci�n del pin SPI_MISO_RDY
121
122 PORTSPI.INT0MASK = SPI_MISO_bm;
123 PORTSPI.INTCTRL = ( PORTSPI.INTCTRL & ~PORT_INT0LVL_gm ) | PORT_INT0LVL_LO_gc;
124 PORTSPI.PINSPIMISOCTRL = ( PORTSPI.PINSPIMISOCTRL & ~PORT_ISC_gm ) | PORT_ISC_FALLING_gc;
125
126 } No newline at end of file
@@ -0,0 +1,22
1 /*
2 * Ports.h
3 *
4 * Created: 26/04/16 11:40:34
5 * Author: Francisco
6 */
7
8
9
10 #ifndef PORTS_H_
11 #define PORTS_H_
12
13 #define F_CPU 32000000UL
14 #include <avr/io.h>
15
16 #define INT_RDY PORTC_INT0_vect
17
18 void config_puertos(void);
19
20
21
22 #endif /* PORTS_H_ */ No newline at end of file
@@ -0,0 +1,29
1 /*
2 * commSPI_ADC.c
3 *
4 * Created: 26/04/16 11:44:43
5 * Author: Francisco
6 */
7
8 #define F_CPU 32000000UL
9 #include <avr/io.h>
10 #include "commSPI_ADC.h"
11
12 /*!
13 * \fn config_spiparm
14 * \brief Configuraci�n de los par�metros de reloj SPI
15 *
16 * fspi = fper/2 = fcpu/2 = 16MHz
17 *
18 * En nuestra aplicaci�n final el reloj ser� externo, de 16MHz. Por lo que se tendr� que realizar una
19 * nueva evaluaci�n
20 * \
21 */
22 inline void config_spiparm(void){
23 // Preescaler: clkper/2 = f_cpu/2.
24 // Master
25 // Mode 3: CPOL=1,CPHA=1
26 // MSB --- LSB
27 SPIC.CTRL = (SPI_ENABLE_bm | SPI_MASTER_bm | SPI_MODE1_bm | SPI_MODE0_bm | SPI_CLK2X_bm);//SPI_PRESCALER1_bm | SPI_CLK2X_bm);
28 }
29
@@ -0,0 +1,32
1 /*
2 * commSPI_ADC.h
3 *
4 * Created: 26/04/16 11:46:06
5 * Author: Francisco
6 */
7
8
9 #ifndef COMMSPI_ADC_H_
10 #define COMMSPI_ADC_H_
11
12 #define F_CPU 32000000UL
13 #include <avr/io.h>
14
15 #include "Ports.h"
16
17 #define PORTSPI PORTC //Puerto en el que se defini� el puerto SPI
18
19 #define PINSPISSCTRL PIN4CTRL //Pin de control de salida SS
20 #define PINSPIMOSICTRL PIN5CTRL //Pin de control de salida MOSI
21 #define PINSPIMISOCTRL PIN6CTRL //Pin de control de entrada MISO
22 #define PINSPISCKCTRL PIN7CTRL //Pin de control de salida SCK
23
24 #define SPI_SS_bm PIN4_bm // Pin de entrada - Totem
25 #define SPI_MOSI_bm PIN5_bm // Pin de salida - Totem
26 #define SPI_MISO_bm PIN6_bm // Pin de entrada - Totem
27 #define SPI_SCK_bm PIN7_bm // Pin de salida - Totem
28 #define SPI_INTFLAGS INTFLAGS
29 void config_spiparm(void);
30
31
32 #endif /* COMMSPI_ADC_H_ */ No newline at end of file
@@ -0,0 +1,259
1 /*
2 * fpga_port.c
3 *
4 * Created: 26/04/16 11:42:02
5 * Author: Francisco
6 */
7
8 #define F_CPU 32000000UL
9 #include <avr/io.h>
10
11 #include <util/delay.h>
12
13 #include "fpga_port.h"
14
15 inline void config_fpgaport()
16 {
17 //Configuracion pines del puerto D: PD6-PA1
18 //Pines de entrada CLK_FPGA, LOCK_FPGA
19 //Pines de salida CH_BIT0_FPGA, CH_BIT1_FPGA,CH_BIT2_FPGA, CH_BIT3_FPGA
20
21 PORT_FPGA.LOCK_FPGA_CTRL = PORT_OPC_TOTEM_gc;
22 PORT_FPGA.DIRCLR = LOCK_FPGA;
23
24 PORT_FPGA.CLK_FPGA_CTRL = PORT_OPC_PULLDOWN_gc;
25 PORT_FPGA.DIRSET = CLK_FPGA;
26 PORT_FPGA.OUTCLR = CLK_FPGA;
27
28 //Pin de salida CH_BIT0_FPGA, CH_BIT1_FPGA,CH_BIT2_FPGA, CH_BIT3_FPGA
29 //PORT_FPGA.DIRSET = CH_BIT3_FPGA | CH_BIT2_FPGA | CH_BIT1_FPGA | CH_BIT0_FPGA;
30 //PORT_FPGA.CH_BIT0_FPGA_CTRL = PORT_OPC_TOTEM_gc; //PORT_OPC_WIREDANDPULL_gc;
31 //PORT_FPGA.OUTCLR = CH_BIT3_FPGA | CH_BIT2_FPGA | CH_BIT1_FPGA | CH_BIT0_FPGA;
32
33 //Configuracion pines del puerto B: PPS
34 //Pines de entrada PPS_FPGA
35 //Pines de entrada en pulldown
36 PORT_PPS.DIRCLR = PPS_FPGA;
37 PORT_PPS.PPS_FPGA_CTRL = PORT_OPC_PULLDOWN_gc;
38
39 //Configuracion pines del puerto A: LOCKOUT
40 //Pines de salida LOCK_OUT
41 //Pines de salida en baja
42 PORT_LOCKOUT.DIRSET = LOCK_OUT;
43 PORT_LOCKOUT.OUTCLR = LOCK_OUT;
44
45
46
47 //Configuracion de interrupciones de LOCK_FPGA
48
49 PORT_FPGA.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT0LVL_gm ) | PORT_INT0LVL_HI_gc;
50 PORT_FPGA.INT0MASK = LOCK_FPGA;
51 PORT_FPGA.LOCK_FPGA_CTRL = ( PORT_FPGA.LOCK_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_BOTHEDGES_gc;
52
53 //Configuracion de interrupciones de CLK
54 //PORT_FPGA.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT1LVL_gm ) | PORT_INT1LVL_MED_gc;
55 //PORT_FPGA.INT1MASK = CLK_FPGA;
56 //PORT_FPGA.CLK_FPGA_CTRL = ( PORT_FPGA.CLK_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_FALLING_gc;
57
58 //Configuracion de interrupciones de PPS
59 PORT_PPS.INTCTRL = ( PORT_FPGA.INTCTRL & ~PORT_INT1LVL_gm ) | PORT_INT1LVL_MED_gc;
60 PORT_PPS.INT1MASK = PPS_FPGA;
61 PORT_PPS.PPS_FPGA_CTRL = ( PORT_PPS.PPS_FPGA_CTRL & ~PORT_ISC_gm ) | PORT_ISC_RISING_gc;
62 }
63
64 void habilitar_interrupciones( uint8_t level_mask )
65 {
66 PMIC.CTRL |= level_mask;
67 }
68
69 void habilitar_interrupciones_globales( void )
70 {
71 sei();
72 }
73
74 void deshabilitar_interrupciones_globales( void )
75 {
76 cli();
77 }
78
79 void envio_nibble(uint8_t fpga_dato)
80 {
81 uint8_t temp_regin;
82 uint8_t temp_dato;
83 //fpga_dato = 0b100000000000100001110000;
84 //Nibble superior 7 a 4
85 asm("nop");
86 asm("nop");
87 asm("nop");
88 asm("nop");
89 asm("nop");
90 asm("nop");
91 asm("nop");
92 asm("nop");
93 asm("nop");
94 asm("nop");
95 asm("nop");
96 asm("nop");
97 asm("nop");
98 asm("nop");
99 asm("nop");
100 asm("nop");
101 asm("nop");
102 asm("nop");
103 asm("nop");
104 asm("nop");
105 PORT_FPGA.OUTSET = CLK_FPGA;
106 asm("nop");
107 asm("nop");
108 asm("nop");
109 asm("nop");
110 asm("nop");
111 asm("nop");
112 asm("nop");
113 asm("nop");
114 asm("nop");
115 asm("nop");
116 asm("nop");
117 asm("nop");
118 asm("nop");
119 asm("nop");
120 asm("nop");
121 asm("nop");
122 asm("nop");
123 asm("nop");
124 asm("nop");
125 asm("nop");
126 PORT_FPGA.OUTCLR = CLK_FPGA;
127 //_delay_ms(100);
128 temp_regin = PORT_FPGA.OUTCLR;
129 temp_dato = fpga_dato & nibble_alto_bm;
130 //PORT_FPGA.OUT = (temp_regin & fpga_salidas_bm) | (temp_dato >> fpga_salidas_nibblealto_bp);
131 PORT_FPGA.OUT = (0b01001000);
132 asm("nop");
133 asm("nop");
134 asm("nop");
135 asm("nop");
136 asm("nop");
137 asm("nop");
138 asm("nop");
139 asm("nop");
140 asm("nop");
141 asm("nop");
142 asm("nop");
143 asm("nop");
144 asm("nop");
145 asm("nop");
146 asm("nop");
147 asm("nop");
148 asm("nop");
149 asm("nop");
150 asm("nop");
151 asm("nop");
152 PORT_FPGA.OUTSET = CLK_FPGA;
153 asm("nop");
154 asm("nop");
155 asm("nop");
156 asm("nop");
157 asm("nop");
158 asm("nop");
159 asm("nop");
160 asm("nop");
161 asm("nop");
162 asm("nop");
163 asm("nop");
164 asm("nop");
165 asm("nop");
166 asm("nop");
167 asm("nop");
168 asm("nop");
169 asm("nop");
170 asm("nop");
171 asm("nop");
172 asm("nop");
173 //_delay_ms(200);
174 //Nibble inferior 3 a 0
175 PORT_FPGA.OUTCLR = CLK_FPGA;
176 temp_regin = PORT_FPGA.OUTCLR;
177 temp_dato = fpga_dato & nibble_bajo_bm;
178 //_delay_ms(100);
179 //PORT_FPGA.OUT = (temp_regin & fpga_salidas_bm) | (temp_dato << fpga_salidas_nibblebajo_bp);
180 PORT_FPGA.OUT = (0b01100000);
181 asm("nop");
182 asm("nop");
183 asm("nop");
184 asm("nop");
185 asm("nop");
186 asm("nop");
187 asm("nop");
188 asm("nop");
189 asm("nop");
190 asm("nop");
191 asm("nop");
192 asm("nop");
193 asm("nop");
194 asm("nop");
195 asm("nop");
196 asm("nop");
197 asm("nop");
198 asm("nop");
199 asm("nop");
200 asm("nop");
201 PORT_FPGA.OUTSET = CLK_FPGA;
202 asm("nop");
203 asm("nop");
204 asm("nop");
205 asm("nop");
206 asm("nop");
207 asm("nop");
208 asm("nop");
209 asm("nop");
210 asm("nop");
211 asm("nop");
212 asm("nop");
213 asm("nop");
214 asm("nop");
215 asm("nop");
216 asm("nop");
217 asm("nop");
218 asm("nop");
219 asm("nop");
220 //_delay_ms(200);
221 }
222
223 void envio_datos_fpga(void)
224 {
225 uint8_t fpga_dato[ADC_DATASZ] ;
226 //uint8_t aux_dato[ADC_DATASZ] ;
227
228 adcport_read_data(fpga_dato,ADC_DATASZ);
229 //adcport_read_data_synconv(fpga_dato,ADC_DATASZ);
230 //adcport_read_data_contread(fpga_dato,ADC_DATASZ);
231 //aux_dato[0] = fpga_dato[0];
232 //aux_dato[1] = fpga_dato[1];
233 //aux_dato[2] = fpga_dato[2];
234 //adcport_read_data(fpga_dato,ADC_DATASZ);
235
236 //envio_dato_adc(aux_dato);
237 envio_dato_adc(fpga_dato);
238 }
239
240 void envio_dato_adc(uint8_t* dato_adc)
241 {
242 //fpga_dato = 0b100000000000100001110000;
243 //dato_adc[2] = 0b11111101;
244 //dato_adc[1] = 0b11111110;
245 //dato_adc[0] = 0b11111110;
246 //dato_adc[2] = 0b11111110;
247 //dato_adc[1] = 0b11111111;
248 //dato_adc[0] = 0b11111110;
249 for(int i=0; i<ADC_DATASZ ; i++)
250 envio_nibble(dato_adc[i]);
251
252 //envio_nibble(dato_adc[0]);
253 }
254 /*
255 __attribute__((noinline)) void delay_nop(void)
256 {
257 asm("nop");
258 }
259 */
@@ -0,0 +1,70
1 /*
2 * fpga_port.h
3 *
4 * Created: 26/04/16 11:42:38
5 * Author: Francisco
6 */
7
8
9 #ifndef FPGA_PORT_H_
10 #define FPGA_PORT_H_
11
12 #define F_CPU 32000000UL
13 #include <avr/io.h>
14 #include <avr/interrupt.h>
15 #include "ADC_7176_2.h"
16
17 //Port B
18 #define PORT_PPS PORTB
19 #define PPS_FPGA PIN2_bm
20 #define PPS_FPGA_CTRL PIN2CTRL
21 #define PPS_FPGA_INTFLAGS INTFLAGS
22 #define INT_PPS PORTB_INT1_vect
23
24 //Port A
25 #define PORT_LOCKOUT PORTA
26 #define LOCK_OUT PIN0_bm
27
28
29 //Port D
30 #define PORT_FPGA PORTD
31 #define LOCK_FPGA PIN1_bm
32 #define CLK_FPGA PIN2_bm
33 #define CH_BIT0_FPGA PIN3_bm
34 #define CH_BIT1_FPGA PIN4_bm
35 #define CH_BIT2_FPGA PIN5_bm
36 #define CH_BIT3_FPGA PIN6_bm
37 #define INT_LOCK_FPGA PORTD_INT0_vect
38
39 #define LOCK_FPGA_CTRL PIN1CTRL
40 #define CLK_FPGA_CTRL PIN2CTRL
41 #define CH_BIT0_FPGA_CTRL PIN3CTRL
42 #define CH_BIT1_FPGA_CTRL PIN4CTRL
43 #define CH_BIT2_FPGA_CTRL PIN5CTRL
44 #define CH_BIT3_FPGA_CTRL PIN6CTRL
45
46 void config_fpgaport();
47 void habilitar_interrupciones( uint8_t level_mask );
48 void habilitar_interrupciones_globales( );
49 void deshabilitar_interrupciones_globales( );
50
51 //Habilitar
52 #define hab_prioridad_alta PMIC_HILVLEN_bm
53 #define hab_prioridad_media PMIC_MEDLVLEN_bm
54 #define hab_prioridad_baja PMIC_LOLVLEN_bm
55
56 //M�scara de nibbles
57 #define nibble_alto_bm 0xF0
58 #define nibble_bajo_bm 0x0F
59 #define fpga_salidas_nibblealto_bp 1
60 #define fpga_salidas_nibblebajo_bp 3
61 #define fpga_salidas_bm 0x87
62
63 //funciones de env�o de datos
64 void envio_nibble(uint8_t fpga_dato);
65
66 //funcion interrupcion por flanco de subida de RDY
67 void envio_datos_fpga(void);
68 void envio_dato_adc(uint8_t* dato_adc);
69
70 #endif /* FPGA_PORT_H_ */ No newline at end of file
@@ -0,0 +1,149
1 /*
2 * ADCSPI_v01.c
3 *
4 * Created: 26/04/16 11:26:57
5 * Author: Francisco
6 */
7
8 #define F_CPU 32000000UL
9 #include <avr/io.h>
10 #include "Ports.h"
11 //#include "commSPI_ADC.h"
12 #include "sys_clock.h"
13 #include "ADC_7176_2.h"
14 #include "fpga_port.h"
15 #include <util/delay.h>
16
17 int aux = 0;
18 int main(void)
19 {
20 //uint8_t datos_adc[3];
21 config_puertos();
22 config_sysclock();
23 config_spiparm();
24 config_fpgaport();
25 config_adc();
26 //datos_adc[0] = 0x00;
27 //datos_adc[1] = 0x00;
28 //datos_adc[2] = 0x00;
29 //PORTD.OUTSET = PIN5_bm;
30
31 PMIC.CTRL = hab_prioridad_alta;
32 habilitar_interrupciones_globales();
33
34 /* Replace with your application code */
35 //adcport_write_adcmode_2();
36 while (1)
37 {
38 //PORTSPI.OUTCLR = SPI_SS_bm;
39 //if (adcport_read_filtcon0() == ADC_VALFIL0){
40 // PORTD.OUTSET = PIN6_bm | PIN5_bm;
41 // adcport_write_adcmode_2();
42 //while(1){
43 // PORTSPI.OUTCLR = SPI_SS_bm;
44 //}
45 //}
46 //else{
47 // PORTD.OUTCLR = PIN6_bm | PIN5_bm;
48 //}
49 //PORTD.OUTSET = PIN2_bm;
50 //_delay_ms(1000);
51 //PORTD.OUTCLR = PIN2_bm;
52 //_delay_ms(1000);
53 //if (test_adc() == ADC_ID){
54 // PORTD.OUTSET = PIN6_bm | PIN5_bm;
55 // _delay_ms(1000);
56 //}
57
58 //else{
59 // PORTD.OUTCLR = PIN6_bm | PIN5_bm;
60 //}
61 //_delay_ms(10);
62 //test_adc_2(datos_adc);
63 //if (((datos_adc[0]<<16)+(datos_adc[1]<<8)+(datos_adc[2]<<0))!= 0x00){
64 //PORTD.OUTSET = PIN4_bm;
65 //}
66 }
67 return 0;
68 }
69
70
71 ISR(INT_LOCK_FPGA)
72 {
73 if((PORT_FPGA.IN & LOCK_FPGA) == LOCK_FPGA)
74 {
75 PORTSPI.SPI_INTFLAGS =0b00000001;
76 PORT_PPS.PPS_FPGA_INTFLAGS =0b00000010;
77 PMIC.CTRL |= hab_prioridad_media;
78 PORT_LOCKOUT.OUTSET = LOCK_OUT;
79 //PORTD.OUTSET = PIN4_bm;
80 }
81 else
82 {
83 PMIC.CTRL &= ~hab_prioridad_media;
84 PMIC.CTRL &= ~hab_prioridad_baja;
85 PORT_LOCKOUT.OUTCLR = LOCK_OUT;
86 //PORTSPI.OUTSET = SPI_SS_bm;
87 //PORTD.OUTCLR = PIN4_bm;
88 }
89 }
90
91 //Interrupcion por flanco de subida de PPS
92 //Habilito interrupciones de prioridad baja
93 //Selecciono el chip del ADC para iniciar comunicaci�n.
94 //Al iniciar esta comunicaci�n se indicar� al ADC que use el RDYbar
95 //Esta ser� nuestra interrupci�n para lectura del ADC y env�o de dato a la FPGA
96 ISR(INT_PPS)
97 {
98 PMIC.CTRL &= ~hab_prioridad_baja;
99 PORTSPI.SPI_INTFLAGS =0b00000001;
100 PORTSPI.SPI_INTFLAGS =0b00000001;
101 asm("nop");
102 asm("nop");
103 asm("nop");
104 asm("nop");
105 aux = 0;
106 //if(aux==0)
107 PMIC.CTRL |= hab_prioridad_baja;
108 PORTSPI.SPI_INTFLAGS =0b00000001;
109 PORTSPI.OUTSET = SPI_SS_bm;
110 asm("nop");
111 PORT_FPGA.OUTSET = CLK_FPGA;
112 //PORT_FPGA.OUT = (0b01111000);
113 asm("nop");
114
115 asm("nop");
116 asm("nop");
117 asm("nop");
118 asm("nop");
119 asm("nop");
120 asm("nop");
121 asm("nop");
122 asm("nop");
123 asm("nop");
124 asm("nop");
125 asm("nop");
126 asm("nop");
127 PORTSPI.OUTCLR = SPI_SS_bm;
128
129 _delay_us(10);
130 PORTSPI.SPI_INTFLAGS =0b00000001;
131 //envio_datos_fpga();
132 //PORTSPI.OUTSET = SPI_SS_bm;
133
134 }
135
136 ISR(INT_RDY)
137 {
138 //PMIC.CTRL &= ~hab_prioridad_media;
139 //PMIC.CTRL &= ~hab_prioridad_alta;
140 if(aux < 20000){
141 envio_datos_fpga();
142 aux = aux+1;
143 }
144 //PORTSPI.OUTCLR = SPI_SS_bm;
145 //adcport_read_filtcon0();
146 //PMIC.CTRL |= hab_prioridad_media;
147 //PMIC.CTRL |= hab_prioridad_alta;
148 PORTSPI.SPI_INTFLAGS =0b00000001;
149 }
@@ -0,0 +1,51
1 /*
2 * sys_clock.c
3 *
4 * Created: 26/04/16 11:32:16
5 * Author: Francisco
6 */
7 /*!
8 * \fn config_sysclock
9 * \brief Configuraci�n del reloj interno del sistema
10 * Reloj interno
11 * fsys = 32MHz
12 *
13 * En nuestra aplicaci�n final el reloj ser� externo de 16MHz por lo que se tendr� que usar el PLL
14 * \
15 */
16
17 #define F_CPU 32000000UL
18 #include <avr/io.h>
19
20 void config_sysclock(void){
21
22 CLK_PSCTRL = ((0<<CLK_PSADIV_gp) & CLK_PSADIV_gm)|((0<<CLK_PSBCDIV_gp) & CLK_PSBCDIV_gm); //Prescaler A, B y C = 1
23 OSC.CTRL |= OSC_RC32MEN_bm | OSC_RC32KEN_bm; /* Enable the internal 32MHz & 32KHz oscillators */
24 while(!(OSC.STATUS & OSC_RC32KRDY_bm)); /* Wait for 32Khz oscillator to stabilize */
25 while(!(OSC.STATUS & OSC_RC32MRDY_bm)); /* Wait for 32MHz oscillator to stabilize */
26 DFLLRC32M.CTRL = DFLL_ENABLE_bm ; /* Enable DFLL - defaults to calibrate against internal 32Khz clock */
27 OSC.DFLLCTRL &= 0xFD; //Habilito calibraci�n interna mediante reloj de 32K
28 CCP = CCP_IOREG_gc; /* Disable register security for clock update */
29 CLK.CTRL = CLK_SCLKSEL_RC32M_gc; /* Switch to 32MHz clock */
30 OSC.CTRL &= ~OSC_RC2MEN_bm;
31
32 /*
33 CLK_PSCTRL = ((0<<CLK_PSADIV_gp) & CLK_PSADIV_gm)|((0<<CLK_PSBCDIV_gp) & CLK_PSBCDIV_gm); //Prescaler A, B y C = 1
34 OSC_XOSCCTRL = OSC_XOSCSEL_EXTCLK_gc; //usar external clock
35
36 OSC.PLLCTRL = OSC_PLLSRC_XOSC_gc | ( 0x02 & OSC_PLLFAC_gm);
37
38 OSC_CTRL |= OSC_PLLEN_bm; //usar external clock
39 while(!(OSC_STATUS & OSC_XOSCRDY_bm));
40 while(!(OSC_STATUS & OSC_PLLRDY_bm));
41
42 CPU_CCP = CCP_IOREG_gc; //Levantar protecci�n de registro
43 CLK_CTRL = (CLK_SCLKSEL_PLL_gc) & CLK_SCLKSEL_gm; //CLK usa oscilador externo
44
45 OSC_CTRL &= ~OSC_RC2MEN_bm;
46
47 CPU_CCP = CCP_IOREG_gc; //Levantar protecci�n de registro
48 OSC_XOSCFAIL = (OSC_PLLFDEN_bm)|(OSC_XOSCFDEN_bm); // Detecci�n de error de XOSC y de
49 */
50
51 } No newline at end of file
@@ -0,0 +1,20
1 /*
2 * sys_clock.h
3 *
4 * Created: 26/04/16 11:39:08
5 * Author: Francisco
6 */
7
8
9 #ifndef SYS_CLOCK_H_
10 #define SYS_CLOCK_H_
11
12
13 #define F_CPU 32000000UL
14 #include <avr/io.h>
15
16 void config_sysclock(void);
17
18
19
20 #endif /* SYS_CLOCK_H_ */ No newline at end of file
@@ -0,0 +1,1
1 work
@@ -0,0 +1,1
1 vhdl work "DCM_fwd_int.vhd"
@@ -0,0 +1,57
1 Release 14.7 - xst P.20131013 (nt64)
2 Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
3 --> Parameter TMPDIR set to C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/xst/projnav.tmp
4
5
6 Total REAL time to Xst completion: 0.00 secs
7 Total CPU time to Xst completion: 0.11 secs
8
9 --> Parameter xsthdpdir set to C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/xst
10
11
12 Total REAL time to Xst completion: 0.00 secs
13 Total CPU time to Xst completion: 0.12 secs
14
15 --> Reading design: DCM_fwd_int.prj
16
17 TABLE OF CONTENTS
18 1) Synthesis Options Summary
19 2) HDL Parsing
20 3) HDL Elaboration
21 4) HDL Synthesis
22 4.1) HDL Synthesis Report
23 5) Advanced HDL Synthesis
24 5.1) Advanced HDL Synthesis Report
25 6) Low Level Synthesis
26 7) Partition Report
27 8) Design Summary
28 8.1) Primitive and Black Box Usage
29 8.2) Device utilization summary
30 8.3) Partition Resource Summary
31 8.4) Timing Report
32 8.4.1) Clock Information
33 8.4.2) Asynchronous Control Signals Information
34 8.4.3) Timing Summary
35 8.4.4) Timing Details
36 8.4.5) Cross Clock Domains Report
37
38
39 =========================================================================
40 * HDL Parsing *
41 =========================================================================
42 Parsing VHDL file "C:\Users\Francisco\Documents\Francisco_ROJ\ProcessingEngine\Projects\chn5_mem_spi_joint\DCM_fwd_int.vhd" into library work
43 Parsing entity <DCM_fwd_int>.
44 Parsing architecture <Behavioral> of entity <dcm_fwd_int>.
45
46
47 Total REAL time to Xst completion: 5.00 secs
48 Total CPU time to Xst completion: 5.00 secs
49
50 -->
51
52 Total memory usage is 184976 kilobytes
53
54 Number of errors : 0 ( 0 filtered)
55 Number of warnings : 0 ( 0 filtered)
56 Number of infos : 0 ( 0 filtered)
57
@@ -0,0 +1,160
1 ----------------------------------------------------------------------------------
2 -- Company:
3 -- Engineer:
4 --
5 -- Create Date: 17:23:06 02/16/2016
6 -- Design Name:
7 -- Module Name: DCM_fwd_int - Behavioral
8 -- Project Name:
9 -- Target Devices:
10 -- Tool versions:
11 -- Description:
12 --
13 -- Dependencies:
14 --
15 -- Revision:
16 -- Revision 0.01 - File Created
17 -- Additional Comments:
18 --
19 ----------------------------------------------------------------------------------
20 library IEEE;
21 use IEEE.STD_LOGIC_1164.ALL;
22
23 -- Uncomment the following library declaration if using
24 -- arithmetic functions with Signed or Unsigned values
25 --use IEEE.NUMERIC_STD.ALL;
26
27 -- Uncomment the following library declaration if instantiating
28 -- any Xilinx primitives in this code.
29 library UNISIM;
30 use UNISIM.VComponents.all;
31
32 entity DCM_fwd_int is
33 PORT(
34 clk_main_io: IN std_logic;
35 c_16MHz_io: OUT std_logic;
36 c_200MHz_in: OUT std_logic
37 );
38 end DCM_fwd_int;
39
40 architecture Behavioral of DCM_fwd_int is
41 SIGNAL clk_main: std_logic;
42 SIGNAL c_16MHz: std_logic;
43
44 SIGNAL clk_fb_aux: std_logic;
45 SIGNAL clk_fb_aux_200MHz: std_logic;
46
47 SIGNAL c_16MHz_inv: std_logic;
48
49 begin
50
51 c_16MHz_inv <= NOT(c_16MHz);
52
53 ODDR2_inst : ODDR2
54 generic map(
55 DDR_ALIGNMENT => "NONE", -- Sets output alignment to "NONE", "C0", "C1"
56 INIT => '0', -- Sets initial state of the Q output to '0' or '1'
57 SRTYPE => "SYNC") -- Specifies "SYNC" or "ASYNC" set/reset
58 port map (
59 Q => c_16MHz_io, -- 1-bit output data
60 C0 => c_16MHz, -- 1-bit clock input
61 C1 => c_16MHz_inv, -- 1-bit clock input
62 CE => '1', -- 1-bit clock enable input
63 D0 => '0', -- 1-bit data input (associated with C0)
64 D1 => '1', -- 1-bit data input (associated with C1)
65 R => '0', -- 1-bit reset input
66 S => '0' -- 1-bit set input
67 );
68
69 --IBUFG_inst : IBUFG
70 -- generic map (
71 -- IBUF_LOW_PWR => TRUE, -- Low power (TRUE) vs. performance (FALSE) setting for referenced I/O standards
72 -- IOSTANDARD => "DEFAULT")
73 -- port map (
74 -- O => clk_main, -- Clock buffer output
75 -- I => clk_main_io -- Clock buffer input (connect directly to top-level port)
76 -- );
77
78 DCM_SP_inst : DCM_SP
79 generic map (
80 CLKDV_DIVIDE => 2.0, -- CLKDV divide value
81 -- (1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,9,10,11,12,13,14,15,16).
82 CLKFX_DIVIDE => 15, -- Divide value on CLKFX outputs - D - (1-32)
83 CLKFX_MULTIPLY => 4, -- Multiply value on CLKFX outputs - M - (2-32)
84 CLKIN_DIVIDE_BY_2 => FALSE, -- CLKIN divide by two (TRUE/FALSE)
85 CLKIN_PERIOD => 16.667, -- Input clock period specified in nS
86 CLKOUT_PHASE_SHIFT => "NONE", -- Output phase shift (NONE, FIXED, VARIABLE)
87 CLK_FEEDBACK => "1X", -- Feedback source (NONE, 1X, 2X)
88 DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS", -- SYSTEM_SYNCHRNOUS or SOURCE_SYNCHRONOUS
89 DFS_FREQUENCY_MODE => "LOW", -- Unsupported - Do not change value
90 DLL_FREQUENCY_MODE => "LOW", -- Unsupported - Do not change value
91 DSS_MODE => "NONE", -- Unsupported - Do not change value
92 DUTY_CYCLE_CORRECTION => TRUE, -- Unsupported - Do not change value
93 FACTORY_JF => X"c080", -- Unsupported - Do not change value
94 PHASE_SHIFT => 0, -- Amount of fixed phase shift (-255 to 255)
95 STARTUP_WAIT => FALSE -- Delay config DONE until DCM_SP LOCKED (TRUE/FALSE)
96 )
97 port map (
98 CLK0 => clk_fb_aux, -- 1-bit output: 0 degree clock output
99 CLK180 => open, -- 1-bit output: 180 degree clock output
100 CLK270 => open, -- 1-bit output: 270 degree clock output
101 CLK2X => open, -- 1-bit output: 2X clock frequency clock output
102 CLK2X180 => open, -- 1-bit output: 2X clock frequency, 180 degree clock output
103 CLK90 => open, -- 1-bit output: 90 degree clock output
104 CLKDV => open, -- 1-bit output: Divided clock output
105 CLKFX => c_16MHz, -- 1-bit output: Digital Frequency Synthesizer output (DFS)
106 CLKFX180 => open, -- 1-bit output: 180 degree CLKFX output
107 LOCKED => open, -- 1-bit output: DCM_SP Lock Output
108 PSDONE => open, -- 1-bit output: Phase shift done output
109 STATUS => open, -- 8-bit output: DCM_SP status output
110 CLKFB => clk_fb_aux, -- 1-bit input: Clock feedback input
111 CLKIN => clk_main_io, -- 1-bit input: Clock input
112 DSSEN => '0', -- 1-bit input: Unsupported, specify to GND.
113 PSCLK => '1', -- 1-bit input: Phase shift clock input
114 PSEN => '0', -- 1-bit input: Phase shift enable
115 PSINCDEC => '0', -- 1-bit input: Phase shift increment/decrement input
116 RST => '0' -- 1-bit input: Active high reset input
117 );
118
119 DCM_SP_inst_int : DCM_SP
120 generic map (
121 CLKDV_DIVIDE => 2.0, -- CLKDV divide value
122 -- (1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,9,10,11,12,13,14,15,16).
123 CLKFX_DIVIDE => 1, -- Divide value on CLKFX outputs - D - (1-32)
124 CLKFX_MULTIPLY => 4, -- Multiply value on CLKFX outputs - M - (2-32)
125 CLKIN_DIVIDE_BY_2 => FALSE, -- CLKIN divide by two (TRUE/FALSE)
126 CLKIN_PERIOD => 16.667, -- Input clock period specified in nS
127 CLKOUT_PHASE_SHIFT => "NONE", -- Output phase shift (NONE, FIXED, VARIABLE)
128 CLK_FEEDBACK => "1X", -- Feedback source (NONE, 1X, 2X)
129 DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS", -- SYSTEM_SYNCHRNOUS or SOURCE_SYNCHRONOUS
130 DFS_FREQUENCY_MODE => "LOW", -- Unsupported - Do not change value
131 DLL_FREQUENCY_MODE => "LOW", -- Unsupported - Do not change value
132 DSS_MODE => "NONE", -- Unsupported - Do not change value
133 DUTY_CYCLE_CORRECTION => TRUE, -- Unsupported - Do not change value
134 FACTORY_JF => X"c080", -- Unsupported - Do not change value
135 PHASE_SHIFT => 0, -- Amount of fixed phase shift (-255 to 255)
136 STARTUP_WAIT => FALSE -- Delay config DONE until DCM_SP LOCKED (TRUE/FALSE)
137 )
138 port map (
139 CLK0 => clk_fb_aux_200MHz, -- 1-bit output: 0 degree clock output
140 CLK180 => open, -- 1-bit output: 180 degree clock output
141 CLK270 => open, -- 1-bit output: 270 degree clock output
142 CLK2X => open, -- 1-bit output: 2X clock frequency clock output
143 CLK2X180 => open, -- 1-bit output: 2X clock frequency, 180 degree clock output
144 CLK90 => open, -- 1-bit output: 90 degree clock output
145 CLKDV => open, -- 1-bit output: Divided clock output
146 CLKFX => c_200MHz_in, -- 1-bit output: Digital Frequency Synthesizer output (DFS)
147 CLKFX180 => open, -- 1-bit output: 180 degree CLKFX output
148 LOCKED => open, -- 1-bit output: DCM_SP Lock Output
149 PSDONE => open, -- 1-bit output: Phase shift done output
150 STATUS => open, -- 8-bit output: DCM_SP status output
151 CLKFB => clk_fb_aux_200MHz, -- 1-bit input: Clock feedback input
152 CLKIN => clk_main_io, -- 1-bit input: Clock input
153 DSSEN => '0', -- 1-bit input: Unsupported, specify to GND.
154 PSCLK => '1', -- 1-bit input: Phase shift clock input
155 PSEN => '0', -- 1-bit input: Phase shift enable
156 PSINCDEC => '0', -- 1-bit input: Phase shift increment/decrement input
157 RST => '0' -- 1-bit input: Active high reset input
158 );
159
160 end Behavioral; No newline at end of file
@@ -0,0 +1,50
1 set -tmpdir "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/xst/projnav.tmp"
2 set -xsthdpdir "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/xst"
3 run -compileonly yes
4 -p xc6slx9-3-tqg144
5 -top DCM_fwd_int
6 -opt_mode Speed
7 -opt_level 1
8 -power NO
9 -iuc NO
10 -keep_hierarchy No
11 -netlist_hierarchy As_Optimized
12 -rtlview Yes
13 -glob_opt AllClockNets
14 -read_cores YES
15 -write_timing_constraints NO
16 -cross_clock_analysis NO
17 -hierarchy_separator /
18 -bus_delimiter <>
19 -case Maintain
20 -slice_utilization_ratio 100
21 -bram_utilization_ratio 100
22 -dsp_utilization_ratio 100
23 -lc Auto
24 -reduce_control_sets Auto
25 -fsm_extract YES -fsm_encoding Auto
26 -safe_implementation No
27 -fsm_style LUT
28 -ram_extract Yes
29 -ram_style Auto
30 -rom_extract Yes
31 -shreg_extract YES
32 -rom_style Auto
33 -auto_bram_packing NO
34 -resource_sharing YES
35 -async_to_sync NO
36 -shreg_min_size 2
37 -use_dsp48 Auto
38 -iobuf YES
39 -max_fanout 100000
40 -bufg 16
41 -register_duplication YES
42 -register_balancing No
43 -optimize_primitives NO
44 -use_clock_enable Auto
45 -use_sync_set Auto
46 -use_sync_reset Auto
47 -iob Auto
48 -equivalent_register_removal YES
49 -slice_utilization_ratio_maxmargin 5
50 -ifn DCM_fwd_int.prj
@@ -0,0 +1,54
1 ----------------------------------------------------------------------------------
2 -- Company:
3 -- Engineer:
4 --
5 -- Create Date: 10:45:36 05/16/2016
6 -- Design Name:
7 -- Module Name: SEL_OEbar - Behavioral
8 -- Project Name:
9 -- Target Devices:
10 -- Tool versions:
11 -- Description:
12 --
13 -- Dependencies:
14 --
15 -- Revision:
16 -- Revision 0.01 - File Created
17 -- Additional Comments:
18 --
19 ----------------------------------------------------------------------------------
20 library IEEE;
21 use IEEE.STD_LOGIC_1164.ALL;
22
23 -- Uncomment the following library declaration if using
24 -- arithmetic functions with Signed or Unsigned values
25 --use IEEE.NUMERIC_STD.ALL;
26
27 -- Uncomment the following library declaration if instantiating
28 -- any Xilinx primitives in this code.
29 --library UNISIM;
30 --use UNISIM.VComponents.all;
31
32 entity SEL_WRbar is
33 GENERIC(RESUL_IOSEL_SZ: INTEGER :=16
34 );
35
36 PORT(
37 DATA_W : IN std_logic_vector((RESUL_IOSEL_SZ-1) downto 0);
38 DATA_R : OUT std_logic_vector((RESUL_IOSEL_SZ-1) downto 0);
39 OEbar: IN std_logic;
40 DATA_INOUT: INOUT std_logic_vector((RESUL_IOSEL_SZ-1) downto 0)
41 );
42 end SEL_WRbar;
43
44 architecture Behavioral of SEL_WRbar is
45
46 begin
47
48 DATA_INOUT <= DATA_W WHEN OEbar = '1' ELSE
49 (others => 'Z');
50
51 DATA_R <= DATA_INOUT;
52
53 end Behavioral;
54
@@ -0,0 +1,290
1 ----------------------------------------------------------------------------------
2 -- Company:
3 -- Engineer:
4 --
5 -- Create Date: 19:55:49 05/06/2016
6 -- Design Name:
7 -- Module Name: spi_slave - Behavioral
8 -- Project Name:
9 -- Target Devices:
10 -- Tool versions:
11 -- Description:
12 --
13 -- Dependencies:
14 --
15 -- Revision:
16 -- Revision 0.01 - File Created
17 -- Additional Comments:
18 --
19 ----------------------------------------------------------------------------------
20 library IEEE;
21 use IEEE.STD_LOGIC_1164.ALL;
22
23 -- Uncomment the following library declaration if using
24 -- arithmetic functions with Signed or Unsigned values
25 --use IEEE.NUMERIC_STD.ALL;
26
27 -- Uncomment the following library declaration if instantiating
28 -- any Xilinx primitives in this code.
29 --library UNISIM;
30 --use UNISIM.VComponents.all;
31
32 library IEEE;
33 use IEEE.STD_LOGIC_1164.ALL;
34 use IEEE.NUMERIC_STD.ALL;
35 -- Uncomment the following library declaration if using
36 -- arithmetic functions with Signed or Unsigned values
37 --use IEEE.NUMERIC_STD.ALL;
38
39 -- Uncomment the following library declaration if instantiating
40 -- any Xilinx primitives in this code.
41 --library UNISIM;
42 --use UNISIM.VComponents.all;
43
44
45 entity SPI_SLAVE is
46 GENERIC(
47 SPI_DATA_WIDTH: INTEGER :=8;
48 SPI_BIT_COUNT_WIDTH: INTEGER :=3
49 );
50
51 PORT (
52 MOSI : IN std_logic;
53 SCK : IN std_logic;
54 CS : IN std_logic;
55 data_in : IN std_logic_vector (SPI_DATA_WIDTH-1 downto 0);
56 clk_main : IN std_logic;
57 rst_bar : IN std_logic;
58 MISO : OUT std_logic;
59 data_out : OUT std_logic_vector (SPI_DATA_WIDTH-1 downto 0);
60 spi_ready : OUT std_logic;
61
62 spi_free: OUT std_logic
63 --spi_ld_8_in: IN STD_LOGIC;
64
65 --spi_req : OUT std_logic
66
67
68 );
69 end SPI_SLAVE;
70
71 architecture Behavioral of SPI_SLAVE is
72 SIGNAL SCKr : std_logic_vector (1 downto 0) :=( OTHERS => '0');
73 SIGNAL CSr : std_logic_vector (1 downto 0) :=( OTHERS => '0');
74 SIGNAL MOSIr : std_logic_vector (1 downto 0) :=( OTHERS => '0');
75 SIGNAL SCK_rise : std_logic := '0';
76 SIGNAL SCK_fall : std_logic := '0';
77 --SIGNAL CS_fall : std_logic := '0';
78
79 SIGNAL bit_counter : std_logic_vector (SPI_BIT_COUNT_WIDTH-1 downto 0) :=( OTHERS => '0');
80 SIGNAL buffer_in : std_logic_vector (SPI_DATA_WIDTH-1 downto 0) :=( OTHERS => '0');
81 SIGNAL buffer_out : std_logic_vector (SPI_DATA_WIDTH-1 downto 0) :=( OTHERS => '0');
82
83 TYPE spi_states IS (
84 idle,
85 free,
86 busy
87 );
88 SIGNAL spi_cur_state: spi_states := free;
89 SIGNAL spi_next_state: spi_states := free;
90 SIGNAL spi_ready_aux: std_logic := '0';
91 --SIGNAL spi_req_aux: std_logic := '0';
92
93 SIGNAL MISO_int: std_logic :='1';
94 begin
95
96 -- Shifting the SCK line for synchronization purposes
97 SCK_shift_register: process (clk_main)
98 --VARIABLE SCKr : std_logic_vector (2 downto 0) :=( OTHERS => '0');
99 begin
100 if rising_edge (clk_main) then
101 if rst_bar = '0' then
102 SCKr <= (others => '1');
103 else
104 SCKr <= SCKr(0) & SCK;
105 end if;
106 end if;
107 end process;
108
109 -- Shifting the SCK line for edge detection
110 SCK_edge_det: process (clk_main)
111 --VARIABLE SCKr : std_logic_vector (2 downto 0) :=( OTHERS => '0');
112 begin
113 if rising_edge (clk_main) then
114 if rst_bar = '0' then
115 SCK_rise <= '0';
116 SCK_fall <= '0';
117 else
118 IF (SCKr(1 downto 0) = "01") THEN
119 SCK_rise <= '1';
120 ELSE
121 SCK_rise <= '0';
122 END IF;
123
124 IF (SCKr(1 downto 0) = "10") THEN
125 SCK_fall <= '1';
126 ELSE
127 SCK_fall <= '0';
128 END IF;
129 end if;
130 end if;
131 end process;
132
133 -- Shifting the CS line for synchronization purposes and edge detection
134 CS_shift_register: process (clk_main)
135 begin
136 if rising_edge (clk_main) then
137 if rst_bar = '0' then
138 --CSr <= (others => '0');
139 else
140 CSr <= CSr(0) & CS;
141 end if;
142 end if;
143 end process;
144
145 -- Shifting the MOSI line for synchronization purposes
146 MOSI_shift_register: process (clk_main)
147 begin
148 if rising_edge (clk_main) then
149 if rst_bar = '0' then
150 MOSIr <= (others => '0');
151 else
152 MOSIr <= MOSIr(0) & MOSI;
153 end if;
154 end if;
155 end process;
156
157 receive_process: process (clk_main)
158 begin
159 if rising_edge (clk_main) then
160 if rst_bar = '0' then
161 bit_counter <= (others => '0');
162 buffer_in <= (others => '0');
163 spi_ready_aux <= '0';
164 --spi_req_aux <= '0';
165 else
166 if (CSr(1) = '1') then
167 bit_counter <= (others => '0');
168 elsif (SCK_rise = '1') then
169 bit_counter <= std_logic_vector(unsigned(bit_counter) + 1);
170 buffer_in <= buffer_in(SPI_DATA_WIDTH-2 downto 0) & MOSIr(1);
171 IF((bit_counter = "111")) THEN
172 bit_counter <= (others => '0');
173 END IF;
174 end if;
175
176 IF((bit_counter = "111")) THEN
177
178 IF(CSr(1) = '0') THEN
179 IF (SCK_rise = '1')THEN
180 spi_ready_aux <= '1';
181 ELSE
182 spi_ready_aux <= '0';
183 END IF;
184 ELSE
185 spi_ready_aux <= '0';
186 END IF;
187 ELSE
188 spi_ready_aux <= '0';
189 END IF;
190
191 --IF((bit_counter = "000")) THEN
192
193 --IF(CSr(1) = '0') THEN
194 -- IF (SCK_fall = '1')THEN
195 -- spi_req_aux <= '1';
196 -- ELSE
197 -- spi_req_aux <= '0';
198 -- END IF;
199 --ELSE
200 -- spi_req_aux <= '0';
201 --END IF;
202 --ELSE
203 --spi_req_aux <= '0';
204 --END IF;
205 end if;
206 end if;
207 end process;
208
209 spi_ready <= spi_ready_aux;
210 --spi_req <= spi_req_aux;
211
212 transmit_process: process (clk_main)
213 begin
214 if rising_edge (clk_main) then
215 if rst_bar = '0' then
216 buffer_out <= (others => '0');
217 elsif (CSr(1) = '0') then
218
219 if ((bit_counter = "000")) then
220 --IF (SCK_fall = '1') THEN
221 buffer_out <= data_in;
222 --buffer_out <= "01000000";
223 --end if;
224 elsif (SCK_fall = '1') then
225 --if((bit_counter /= "000")) then
226 buffer_out <= buffer_out(6 downto 0) & '0';
227 --buffer_out <= "10000000";
228 end if;
229 --end if;
230 end if;
231 end if;
232 end process;
233
234 --MISO_asignacion: PROCESS(clk_main)
235 -- BEGIN
236 -- IF(rising_edge(clk_main)) THEN
237 -- MISO_int <=buffer_out(7);
238 -- END iF;
239 -- END PROCESS;
240
241 MISO <= buffer_out(7);
242
243 data_out <= buffer_in;
244
245 -----------------------------------
246
247 cambio_estados: PROCESS(clk_main)
248 BEGIN
249 IF (rising_edge(clk_main)) THEN
250 IF(rst_bar = '0') THEN
251 spi_cur_state <= idle;
252 ELSE
253 spi_cur_state <= spi_next_state;
254 END IF;
255 END IF;
256 END PROCESS;
257
258 salidas_estados: PROCESS(spi_cur_state,spi_ready_aux,bit_counter,
259 --spi_req_aux,
260 SCK_rise)
261 BEGIN
262 CASE spi_cur_state IS
263 WHEN idle =>
264 spi_free <= '0'; --spi atendido por spi_controller
265 spi_next_state <= free;
266
267
268 WHEN free =>
269 spi_free <= '1'; --spi atendido por spi_controller
270 IF (SCK_rise = '1') THEN
271 spi_next_state <= busy;
272 ELSE
273 spi_next_state <= free;
274 END IF;
275
276 WHEN busy =>
277 spi_free <= '0';
278 IF (spi_ready_aux = '1') THEN
279 spi_next_state <= free;
280 ELSE
281 spi_next_state <= busy;
282 END IF;
283
284 WHEN OTHERS =>
285 spi_free <= '0';
286 spi_next_state <= idle;
287
288 END CASE;
289 END PROCESS;
290 end Behavioral; No newline at end of file
This diff has been collapsed as it changes many lines, (1751 lines changed) Show them Hide them
@@ -0,0 +1,1751
1 ----------------------------------------------------------------------------------
2 -- Company:
3 -- Engineer:
4 --
5 -- Create Date: 17:26:56 05/12/2016
6 -- Design Name:
7 -- Module Name: W_R_RAM_CONTROLLER - Behavioral
8 -- Project Name:
9 -- Target Devices:
10 -- Tool versions:
11 -- Description:
12 --
13 -- Dependencies:
14 --
15 -- Revision:
16 -- Revision 0.01 - File Created
17 -- Additional Comments:
18 --
19 ----------------------------------------------------------------------------------
20 library IEEE;
21 use IEEE.STD_LOGIC_1164.ALL;
22
23 -- Uncomment the following library declaration if using
24 -- arithmetic functions with Signed or Unsigned values
25 use IEEE.NUMERIC_STD.ALL;
26
27 -- Uncomment the following library declaration if instantiating
28 -- any Xilinx primitives in this code.
29 library UNISIM;
30 use UNISIM.VComponents.all;
31
32 entity W_R_RAM_CONTROLLER is
33 GENERIC(
34 ADDR_LENGTH: INTEGER := 19;
35 CHAN_NUM: INTEGER := 5
36
37 );
38
39 PORT(
40 --Reset general
41 rst_bar: IN std_logic;
42
43 --Entrada de reloj principal
44 clk_main: IN std_logic;
45
46 --Entradas para indicar dato preparado por leer
47 --Desde los nibble to packets
48 wr_ch_vector: IN std_logic_vector((CHAN_NUM-1) downto 0);
49
50 --Senhal para que indica que termino con una peticion
51 --Hacia los nibble to packets
52 ack_ch_vector: OUT std_logic_vector((CHAN_NUM-1) downto 0);
53
54 --Senhal de requerimiento de lectura de dato
55 --Desde el SPI_Controller
56 rd_req: IN std_logic;
57 --Hacia el SPI_Controller
58 ld_ram: OUT std_logic;
59
60 --Senhales de control de memoria RAM
61 we_bar: OUT std_logic;
62 ub_bar: OUT std_logic;
63 lb_bar: OUT std_logic;
64 cs1_bar: OUT std_logic;
65 cs2: OUT std_logic;
66 oe_ram_bar: OUT std_logic;
67
68 --Selector de canal de salida hacia RAM
69 --Hacia el multiplexor
70 oe_ch_vector: OUT std_logic_vector((CHAN_NUM-1) downto 0);
71 hb_lbbar: OUT std_logic;
72
73 --Direccion de escritura/lectura
74 addr: OUT std_logic_vector((ADDR_LENGTH-1) downto 0)
75 );
76
77 end W_R_RAM_CONTROLLER;
78
79 architecture Behavioral of W_R_RAM_CONTROLLER is
80 --Estados del controlador de memoria
81 --Incluye el estado de espera, proceso de borrado, espera de "listos" para llenado de memoria
82 --espera de pedido y estados para proceder a una lectura
83 TYPE ram_cont_states IS (idle,
84 set_erase_ram, act_erase_ram,exe_erase_ram,
85 -------------------------------------------
86 -------------------------------------------
87 espera_rdy,
88 ------------------------------------------
89 set_wrt_ch1_1, act_wrt_ch1_1,exe_wrt_ch1_1,
90 set_wrt_ch1_2, act_wrt_ch1_2,exe_wrt_ch1_2,
91 ------------------------------------------
92 set_wrt_ch2_1, act_wrt_ch2_1,exe_wrt_ch2_1,
93 set_wrt_ch2_2, act_wrt_ch2_2,exe_wrt_ch2_2,
94 ------------------------------------------
95 set_wrt_ch3_1, act_wrt_ch3_1,exe_wrt_ch3_1,
96 set_wrt_ch3_2, act_wrt_ch3_2,exe_wrt_ch3_2,
97 ------------------------------------------
98 set_wrt_ch4_1, act_wrt_ch4_1,exe_wrt_ch4_1,
99 set_wrt_ch4_2, act_wrt_ch4_2,exe_wrt_ch4_2,
100 ------------------------------------------
101 set_wrt_ch5_1, act_wrt_ch5_1,exe_wrt_ch5_1,
102 set_wrt_ch5_2, act_wrt_ch5_2,exe_wrt_ch5_2,
103 -------------------------------------------
104 end_wrt_cycle_1,end_wrt_cycle_2,
105 -------------------------------------------
106 -------------------------------------------
107 espera_req,
108 set_rd, act_rd,exe_rd,end_rd
109 );
110
111 SIGNAL ram_contr_cur_state: ram_cont_states := idle;
112 SIGNAL ram_contr_next_state: ram_cont_states := idle;
113
114 --Constante del tamanho maximo por canal
115 CONSTANT TOP_GL: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000100111000011"; --5000 bytes maximo direcciones /2=2500 = 1001 1100 0100. Se coloca el -1
116 CONSTANT TOP_GL_2: std_logic_vector(11 downto 0) := "100111000011";
117 CONSTANT TOP_CH: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000000111110011"; --500 "010 1010 1010 1010 1010" se coloca el -1
118 CONSTANT TOP_CH_2: std_logic_vector(8 downto 0) := "111110011";
119
120 --Direcciones base por canal
121 CONSTANT BASE_ADD_CH1: std_logic_vector((ADDR_LENGTH-1) downto 0) := (OTHERS=>'0');
122 CONSTANT BASE_ADD_CH2: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000000111110100"; --500
123 CONSTANT BASE_ADD_CH3: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000001111101000"; --1000
124 CONSTANT BASE_ADD_CH4: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000010111011100"; --1500
125 CONSTANT BASE_ADD_CH5: std_logic_vector((ADDR_LENGTH-1) downto 0) := "0000000011111010000"; --2000
126
127 --Contador de n�mero de ciclos de reloj en los estados de lectura-escritura
128 SIGNAL count_slw: std_logic_vector(3 downto 0) := "0000";
129
130 --Constantes de espera para el proceso de lectura-escritura
131 --Recordar para 200MHz->Periodo=5ns
132 --6ciclos=30ns y 12ciclos=60ns
133 --Para el 62WV51216BLL-55T los tiempos para preparar y escribir dato son: 20ns y 55ns resp.
134 CONSTANT ramwait_const1: std_logic_vector(3 downto 0) := "1000"; --3 6
135 CONSTANT ramwait_const2: std_logic_vector(3 downto 0) := "1111"; --6 12
136
137 --Punteros de direccion para escritura por cada espacio de memoria asignado a canal
138 SIGNAL rel_pos_ch1: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
139 SIGNAL rel_pos_ch1_int: std_logic_vector(8 downto 0) :=(OTHERS=>'0');
140 SIGNAL rel_pos_ch2: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
141 SIGNAL rel_pos_ch2_int: std_logic_vector(8 downto 0) :=(OTHERS=>'0');
142 SIGNAL rel_pos_ch3: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
143 SIGNAL rel_pos_ch3_int: std_logic_vector(8 downto 0) :=(OTHERS=>'0');
144 SIGNAL rel_pos_ch4: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
145 SIGNAL rel_pos_ch4_int: std_logic_vector(8 downto 0) :=(OTHERS=>'0');
146 SIGNAL rel_pos_ch5: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
147 SIGNAL rel_pos_ch5_int: std_logic_vector(8 downto 0) :=(OTHERS=>'0');
148
149 --Senhal auxiliar de direccion a memoria para escritura
150 SIGNAL addr_wr_aux: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
151
152 --Senhal auxiliar de direccion a memoria para lectura
153 SIGNAL addr_rd_aux: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
154 SIGNAL addr_rd_aux_int: std_logic_vector(11 downto 0) :=(OTHERS=>'0');
155
156 --Senhal auxiliar de direccion a memoria para borrado
157 SIGNAL addr_erase_aux: std_logic_vector((ADDR_LENGTH-1) downto 0) :=(OTHERS=>'0');
158 SIGNAL addr_erase_aux_int: std_logic_vector(11 downto 0) :=(OTHERS=>'0');
159
160 --Estados de la atencion a ready's
161 --
162 TYPE chn_cont_states IS ( idle,
163 checking_ch1, attending_ch1,
164 checking_ch2, attending_ch2,
165 checking_ch3, attending_ch3,
166 checking_ch4, attending_ch4,
167 checking_ch5, attending_ch5
168 );
169
170 SIGNAL ch_cont_cur_state: chn_cont_states := idle;
171 SIGNAL ch_cont_next_state: chn_cont_states := idle;
172
173 --Senhal de reset interna formada de rst_bar y pps_r
174 --SIGNAL rst_bar_int: std_logic :='0';
175
176 --Registro para detecci�n de flanco
177 --SIGNAL pps_r: std_logic_vector(1 downto 0) :="00";
178 --SIGNAL pps_rst: std_logic :='0';
179
180 begin
181
182
183 --Deteccion de flanco de pps
184 --pps_bloco: PROCESS(clk_main)
185 -- BEGIN
186 -- IF (rising_edge(clk_main)) THEN
187 -- IF(rst_bar = '0') THEN
188 -- pps_rst <= '0';
189 -- pps_r <= (OTHERS=>'0');
190 -- pps_rst <= '0';
191 -- ELSE
192 -- pps_r <= pps_r(0) & pps;
193 -- IF(pps_r(1 downto 0) = "01") THEN
194 -- pps_rst <= '0';
195 -- ELSE
196 -- pps_rst <= '1';
197 -- END IF;
198 -- END IF;
199 -- END IF;
200 -- END PROCESS;
201
202 --Generacion de reset a partir del resetbar y flanco de subida del pps
203 --rst_bar_int <= rst_bar AND (pps_rst);
204
205 ---------------------
206 --Estados para atencion de canales
207 ch_cont_cambio_estados: PROCESS(clk_main)
208 BEGIN
209 IF (rising_edge(clk_main)) THEN
210 IF(rst_bar = '0') THEN
211 ch_cont_cur_state <= idle;
212 ELSE
213 ch_cont_cur_state <= ch_cont_next_state;
214 END IF;
215 END IF;
216 END PROCESS;
217
218 ch_salidas_estados: PROCESS(ch_cont_cur_state,
219 wr_ch_vector,
220 ram_contr_cur_state
221 )
222 BEGIN
223
224 CASE ch_cont_cur_state IS
225 WHEN idle =>
226 ch_cont_next_state <= checking_ch1;
227
228 WHEN checking_ch1 =>
229 IF(wr_ch_vector(0) = '1') THEN
230 ch_cont_next_state <= attending_ch1;
231 ELSE
232 ch_cont_next_state <= checking_ch2;
233 END IF;
234
235 WHEN attending_ch1 =>
236 IF(ram_contr_cur_state = end_wrt_cycle_2) THEN
237 ch_cont_next_state <= checking_ch2;
238 ELSE
239 ch_cont_next_state <= attending_ch1;
240 END IF;
241
242 WHEN checking_ch2 =>
243 IF(wr_ch_vector(1) = '1') THEN
244 ch_cont_next_state <= attending_ch2;
245 ELSE
246 ch_cont_next_state <= checking_ch3;
247 END IF;
248
249 WHEN attending_ch2 =>
250 IF(ram_contr_cur_state = end_wrt_cycle_2) THEN
251 ch_cont_next_state <= checking_ch3;
252 ELSE
253 ch_cont_next_state <= attending_ch2;
254 END IF;
255
256 WHEN checking_ch3 =>
257 IF(wr_ch_vector(2) = '1') THEN
258 ch_cont_next_state <= attending_ch3;
259 ELSE
260 ch_cont_next_state <= checking_ch4;
261 END IF;
262
263 WHEN attending_ch3 =>
264 IF(ram_contr_cur_state = end_wrt_cycle_2) THEN
265 ch_cont_next_state <= checking_ch4;
266 ELSE
267 ch_cont_next_state <= attending_ch3;
268 END IF;
269
270 WHEN checking_ch4 =>
271 IF(wr_ch_vector(3) = '1') THEN
272 ch_cont_next_state <= attending_ch4;
273 ELSE
274 ch_cont_next_state <= checking_ch5;
275 END IF;
276
277 WHEN attending_ch4 =>
278 IF(ram_contr_cur_state = end_wrt_cycle_2) THEN
279 ch_cont_next_state <= checking_ch5;
280 ELSE
281 ch_cont_next_state <= attending_ch4;
282 END IF;
283
284 WHEN checking_ch5 =>
285 IF(wr_ch_vector(4) = '1') THEN
286 ch_cont_next_state <= attending_ch5;
287 ELSE
288 ch_cont_next_state <= checking_ch1;
289 END IF;
290
291 WHEN attending_ch5 =>
292 IF(ram_contr_cur_state = end_wrt_cycle_2) THEN
293 ch_cont_next_state <= checking_ch1;
294 ELSE
295 ch_cont_next_state <= attending_ch5;
296 END IF;
297
298 WHEN OTHERS =>
299
300 ch_cont_next_state <= idle;
301
302 END CASE;
303 END PROCESS;
304
305 -----------------------------------------
306 --Asignacion de direccion de escritura
307 asignacion_direccion_base_escritura:
308 PROCESS(ch_cont_cur_state,rel_pos_ch1,rel_pos_ch2,rel_pos_ch3,rel_pos_ch4,rel_pos_ch5)
309 BEGIN
310 CASE ch_cont_cur_state IS
311 WHEN idle =>
312 addr_wr_aux <= (OTHERS => '0');
313 WHEN attending_ch1 =>
314 addr_wr_aux <= std_logic_vector(unsigned(BASE_ADD_CH1)+unsigned(rel_pos_ch1));
315 WHEN attending_ch2 =>
316 addr_wr_aux <= std_logic_vector(unsigned(BASE_ADD_CH2)+unsigned(rel_pos_ch2));
317 WHEN attending_ch3 =>
318 addr_wr_aux <= std_logic_vector(unsigned(BASE_ADD_CH3)+unsigned(rel_pos_ch3));
319 WHEN attending_ch4 =>
320 addr_wr_aux <= std_logic_vector(unsigned(BASE_ADD_CH4)+unsigned(rel_pos_ch4));
321 WHEN attending_ch5 =>
322 addr_wr_aux <= std_logic_vector(unsigned(BASE_ADD_CH5)+unsigned(rel_pos_ch5));
323 WHEN OTHERS =>
324 addr_wr_aux <= (OTHERS => '0');
325 END CASE;
326 END PROCESS;
327
328 --Asignacion de direccion de lectura
329 puntero_rd: PROCESS(clk_main)
330 BEGIN
331 IF (rising_edge(clk_main)) THEN
332 IF (rst_bar = '0') THEN
333 addr_rd_aux_int <= (OTHERS=>'0');
334 ELSE
335 IF(ram_contr_cur_state = idle) THEN
336 addr_rd_aux_int <= (OTHERS=>'0');
337 END IF;
338
339 --Cuentas de ram_ptr en proceso de lectura
340 IF(ram_contr_cur_state = end_rd) THEN
341 IF(addr_rd_aux_int = TOP_GL_2) THEN
342 addr_rd_aux_int <= addr_rd_aux_int;
343 ELSE
344 addr_rd_aux_int <= std_logic_vector(unsigned(addr_rd_aux_int) + 1);
345 END IF;
346 END IF;
347 END IF;
348 END IF;
349 END PROCESS;
350
351 addr_rd_aux <= "0000000" & addr_rd_aux_int;
352
353 --Asignacion de direccion de borrado
354 puntero_erase: PROCESS(clk_main)
355 --VARIABLE var_addr_erase_aux: std_logic_vector(11 downto 0) :=(OTHERS => '0');
356 BEGIN
357 IF (rising_edge(clk_main)) THEN
358 IF (rst_bar = '0') THEN
359 addr_erase_aux_int <= (OTHERS=>'0');
360 ELSE
361 IF(ram_contr_cur_state = idle) THEN
362 addr_erase_aux_int <= (OTHERS=>'0');
363 END IF;
364
365 --Cuentas de ram_ptr en proceso de borrado
366 IF(ram_contr_cur_state = exe_erase_ram) THEN
367 IF(addr_erase_aux_int = TOP_GL_2) THEN
368 addr_erase_aux_int <= (OTHERS=>'0');
369 ELSE
370 addr_erase_aux_int <= std_logic_vector(unsigned(addr_erase_aux_int) + 1);
371 END IF;
372 END IF;
373 END IF;
374 END IF;
375 END PROCESS;
376
377 addr_erase_aux <= "0000000" & addr_erase_aux_int;
378
379 --Asignaci�n de salida addr_mem
380 addr_mem_asig: PROCESS(ram_contr_cur_state,addr_erase_aux,addr_rd_aux,addr_wr_aux)
381 BEGIN
382 CASE ram_contr_cur_state IS
383 WHEN idle | espera_rdy =>
384 addr <= (OTHERS => '0');
385
386 WHEN set_erase_ram | act_erase_ram | exe_erase_ram =>
387 addr <= addr_erase_aux;
388
389 WHEN set_wrt_ch1_1 | act_wrt_ch1_1 | exe_wrt_ch1_1 |
390 set_wrt_ch1_2 | act_wrt_ch1_2 | exe_wrt_ch1_2 |
391 set_wrt_ch2_1 | act_wrt_ch2_1 | exe_wrt_ch2_1 |
392 set_wrt_ch2_2 | act_wrt_ch2_2 | exe_wrt_ch2_2 |
393 set_wrt_ch3_1 | act_wrt_ch3_1 | exe_wrt_ch3_1 |
394 set_wrt_ch3_2 | act_wrt_ch3_2 | exe_wrt_ch3_2 |
395 set_wrt_ch4_1 | act_wrt_ch4_1 | exe_wrt_ch4_1 |
396 set_wrt_ch4_2 | act_wrt_ch4_2 | exe_wrt_ch4_2 |
397 set_wrt_ch5_1 | act_wrt_ch5_1 | exe_wrt_ch5_1 |
398 set_wrt_ch5_2 | act_wrt_ch5_2 | exe_wrt_ch5_2 |
399 end_wrt_cycle_1 | end_wrt_cycle_2 =>
400 addr <= addr_wr_aux;
401
402 WHEN espera_req | set_rd | act_rd | exe_rd | end_rd =>
403 addr <= addr_rd_aux;
404
405 WHEN OTHERS =>
406 addr <= (OTHERS => '0');
407 END CASE;
408
409 END PROCESS;
410
411 --Avance de punteros de escritura
412 puntero_ch1: PROCESS(clk_main)
413 BEGIN
414 IF (rising_edge(clk_main)) THEN
415 IF (rst_bar = '0') THEN
416 rel_pos_ch1_int <= (OTHERS=>'0');
417 ELSE
418 IF(ram_contr_cur_state = idle) THEN
419 rel_pos_ch1_int <= (OTHERS=>'0');
420 END IF;
421
422 IF(ram_contr_cur_state = exe_wrt_ch1_1 OR ram_contr_cur_state = exe_wrt_ch1_2) THEN
423 IF(rel_pos_ch1_int /= TOP_CH_2) THEN
424 rel_pos_ch1_int <= std_logic_vector(unsigned(rel_pos_ch1_int) + 1);
425 END IF;
426 END IF;
427 END IF;
428 END IF;
429 END PROCESS;
430
431 rel_pos_ch1 <= "0000000000"& rel_pos_ch1_int;
432
433 puntero_ch2: PROCESS(clk_main)
434 BEGIN
435 IF (rising_edge(clk_main)) THEN
436 IF (rst_bar = '0') THEN
437 rel_pos_ch2_int <= (OTHERS=>'0');
438 ELSE
439 IF(ram_contr_cur_state = idle) THEN
440 rel_pos_ch2_int <= (OTHERS=>'0');
441 END IF;
442
443 IF(ram_contr_cur_state = exe_wrt_ch2_1 OR ram_contr_cur_state = exe_wrt_ch2_2) THEN
444 IF(rel_pos_ch2_int /= TOP_CH_2) THEN
445 rel_pos_ch2_int <= std_logic_vector(unsigned(rel_pos_ch2_int) + 1);
446 END IF;
447 END IF;
448 END IF;
449 END IF;
450 END PROCESS;
451
452 rel_pos_ch2 <= "0000000000"& rel_pos_ch2_int;
453
454 puntero_ch3: PROCESS(clk_main)
455 BEGIN
456 IF (rising_edge(clk_main)) THEN
457 IF (rst_bar = '0') THEN
458 rel_pos_ch3_int <= (OTHERS=>'0');
459 ELSE
460 IF(ram_contr_cur_state = idle) THEN
461 rel_pos_ch3_int <= (OTHERS=>'0');
462 END IF;
463
464 IF(ram_contr_cur_state = exe_wrt_ch3_1 OR ram_contr_cur_state = exe_wrt_ch3_2) THEN
465 IF(rel_pos_ch3_int /= TOP_CH_2) THEN
466 rel_pos_ch3_int <= std_logic_vector(unsigned(rel_pos_ch3_int) + 1);
467 END IF;
468 END IF;
469 END IF;
470 END IF;
471 END PROCESS;
472
473 rel_pos_ch3 <= "0000000000"& rel_pos_ch3_int;
474
475 puntero_ch4: PROCESS(clk_main)
476 BEGIN
477 IF (rising_edge(clk_main)) THEN
478 IF (rst_bar = '0') THEN
479 rel_pos_ch4_int <= (OTHERS=>'0');
480 ELSE
481 IF(ram_contr_cur_state = idle) THEN
482 rel_pos_ch4_int <= (OTHERS=>'0');
483 END IF;
484
485 IF(ram_contr_cur_state = exe_wrt_ch4_1 OR ram_contr_cur_state = exe_wrt_ch4_2) THEN
486 IF(rel_pos_ch4_int /= TOP_CH_2) THEN
487 rel_pos_ch4_int <= std_logic_vector(unsigned(rel_pos_ch4_int) + 1);
488 END IF;
489 END IF;
490 END IF;
491 END IF;
492 END PROCESS;
493
494 rel_pos_ch4 <= "0000000000"& rel_pos_ch4_int;
495
496 puntero_ch5: PROCESS(clk_main)
497 BEGIN
498 IF (rising_edge(clk_main)) THEN
499 IF (rst_bar = '0') THEN
500 rel_pos_ch5_int <= (OTHERS=>'0');
501 ELSE
502 IF(ram_contr_cur_state = idle) THEN
503 rel_pos_ch5_int <= (OTHERS=>'0');
504 END IF;
505
506 IF(ram_contr_cur_state = exe_wrt_ch5_1 OR ram_contr_cur_state = exe_wrt_ch5_2) THEN
507 IF(rel_pos_ch5_int /= TOP_CH_2) THEN
508 rel_pos_ch5_int <= std_logic_vector(unsigned(rel_pos_ch5_int) + 1);
509 END IF;
510 END IF;
511 END IF;
512 END IF;
513 END PROCESS;
514
515 rel_pos_ch5 <= "0000000000"& rel_pos_ch5_int;
516
517 --------------------------------------------------
518 --Estados de m�quina principal para control de RAM
519
520 ctrl_cambio_estados: PROCESS(clk_main)
521 BEGIN
522 IF (rising_edge(clk_main)) THEN
523 IF(rst_bar = '0') THEN
524 ram_contr_cur_state <= idle;
525 ELSE
526 ram_contr_cur_state <= ram_contr_next_state;
527 END IF;
528 END IF;
529 END PROCESS;
530
531 --Revisar si los estados de set, act y proc se pueden unificar. Al parecer los de set s�.
532 ctrl_salidas_estados: PROCESS(ram_contr_cur_state,
533 count_slw, rd_req,
534 ch_cont_cur_state,
535 addr_erase_aux,
536 addr_rd_aux,
537 rel_pos_ch1,rel_pos_ch2,rel_pos_ch3,rel_pos_ch4,rel_pos_ch5)
538 BEGIN
539
540 CASE ram_contr_cur_state IS
541 WHEN idle =>
542
543 --Senhales hacia memoria RAM
544 UB_bar <= '1';
545 LB_bar <= '1';
546 CS1_bar <= '1';
547 CS2 <= '0';
548 WE_bar <= '1';
549 OE_RAM_bar <= '1';
550
551 --Senhales hacia mutiplexor
552 oe_ch_vector <= (OTHERS=>'0');
553 hb_lbbar <= '0';
554
555 --Senhales hacia canales
556 ack_ch_vector <= (OTHERS=>'1');
557
558 --Senhales hacia SPI Controller o Cache
559 ld_ram <= '0';
560
561 ------------------------------------------
562 --Siguiente estado
563 ram_contr_next_state <= set_erase_ram;
564
565
566 WHEN set_erase_ram =>
567
568 --Senhales hacia memoria RAM
569 UB_bar <= '0';
570 LB_bar <= '0';
571 CS1_bar <= '0';
572 CS2 <= '1';
573 WE_bar <= '0';
574 OE_RAM_bar <= '1';
575
576 --Senhales hacia mutiplexor
577 oe_ch_vector <= (OTHERS=>'0');
578 hb_lbbar <= '0';
579
580 --Senhales hacia canales
581 ack_ch_vector <= (OTHERS=>'0');
582
583 --Senhales hacia SPI Controller o cache
584 ld_ram <= '0';
585
586 --Estado siguiente
587 IF (count_slw = ramwait_const1) THEN
588 ram_contr_next_state <= act_erase_ram;
589 ELSE
590 ram_contr_next_state <= set_erase_ram;
591 END IF;
592
593 WHEN act_erase_ram =>
594
595 --Senhales hacia memoria RAM
596 UB_bar <= '0';
597 LB_bar <= '0';
598 CS1_bar <= '0';
599 CS2 <= '1';
600 WE_bar <= '0';
601 OE_RAM_bar <= '1';
602
603 --Senhales hacia mutiplexor
604 oe_ch_vector <= (OTHERS=>'0');
605 hb_lbbar <= '0';
606
607 --Senhales hacia canales
608 ack_ch_vector <= (OTHERS=>'0');
609
610 --Senhales hacia SPI Controller o cache
611 ld_ram <= '0';
612
613 --Estado siguiente
614 IF (count_slw = ramwait_const2) THEN
615 ram_contr_next_state <= exe_erase_ram;
616 ELSE
617 ram_contr_next_state <= act_erase_ram;
618 END IF;
619
620 WHEN exe_erase_ram =>
621
622 --Senhales hacia memoria RAM
623 CS1_bar <= '0';
624 CS2 <= '1';
625 WE_bar <= '0';
626 OE_RAM_bar <= '1';
627 UB_bar <= '0';
628 LB_bar <= '0';
629
630 --Senhales hacia mutiplexor
631 oe_ch_vector <= (OTHERS=>'0');
632 hb_lbbar <= '0';
633
634 --Senhales hacia canales
635 ack_ch_vector <= (OTHERS=>'0');
636
637 --Senhales hacia SPI Controller o cache
638 ld_ram <= '0';
639
640 --Estado siguiente
641 IF (addr_erase_aux = TOP_GL) THEN
642 ram_contr_next_state <= espera_rdy;
643 ELSE
644 ram_contr_next_state <= set_erase_ram;
645 END IF;
646
647 WHEN espera_rdy =>
648
649 --Senhales hacia memoria RAM
650 CS1_bar <= '1';
651 CS2 <= '0';
652 WE_bar <= '1';
653 OE_RAM_bar <= '1';
654 UB_bar <= '1';
655 LB_bar <= '1';
656
657 --Senhales hacia mutiplexor
658 oe_ch_vector <= (OTHERS=>'0');
659 hb_lbbar <= '0';
660
661 --Senhales hacia canales
662 ack_ch_vector <= (OTHERS=>'0');
663
664 --Senhales hacia SPI Controller o cache
665 ld_ram <= '0';
666
667 ------------------------------------------
668 --Siguiente estado
669 IF(rd_req = '1') THEN
670 ram_contr_next_state <= set_rd;
671 ELSE
672 CASE ch_cont_cur_state IS
673 WHEN attending_ch1 =>
674 ram_contr_next_state <= set_wrt_ch1_1;
675 WHEN attending_ch2 =>
676 ram_contr_next_state <= set_wrt_ch2_1;
677 WHEN attending_ch3 =>
678 ram_contr_next_state <= set_wrt_ch3_1;
679 WHEN attending_ch4 =>
680 ram_contr_next_state <= set_wrt_ch4_1;
681 WHEN attending_ch5 =>
682 ram_contr_next_state <= set_wrt_ch5_1;
683 WHEN OTHERS =>
684 ram_contr_next_state <= espera_rdy;
685 END CASE;
686 END IF;
687
688 --Inicio proceso de escritura en canal 1
689 WHEN set_wrt_ch1_1 =>
690
691 --Senhales hacia memoria RAM
692 CS1_bar <= '0';
693 CS2 <= '1';
694 WE_bar <= '0';
695 OE_RAM_bar <= '1';
696 UB_bar <= '0';
697 LB_bar <= '0';
698
699 --Senhales hacia mutiplexor
700 oe_ch_vector <= "00001";--(OTHERS=>'0');
701 hb_lbbar <= '1';
702
703 --Senhales hacia canales
704 ack_ch_vector <= (OTHERS=>'0');
705
706 --Senhales hacia SPI Controller o cache
707 ld_ram <= '0';
708
709 --Estado siguiente
710 IF (count_slw = ramwait_const1) THEN
711 ram_contr_next_state <= act_wrt_ch1_1;
712 ELSE
713 ram_contr_next_state <= set_wrt_ch1_1;
714 END IF;
715
716 WHEN act_wrt_ch1_1 =>
717
718 --Senhales hacia memoria RAM
719 CS1_bar <= '0';
720 CS2 <= '1';
721 WE_bar <= '0';
722 OE_RAM_bar <= '1';
723 UB_bar <= '0';
724 LB_bar <= '0';
725
726 --Senhales hacia mutiplexor
727 oe_ch_vector <= "00001";
728 hb_lbbar <= '1';
729
730 --Senhales hacia canales
731 ack_ch_vector <= (OTHERS=>'0');
732
733 --Senhales hacia SPI Controller o cache
734 ld_ram <= '0';
735
736 --Estado siguiente
737 IF (count_slw = ramwait_const2) THEN
738 ram_contr_next_state <= exe_wrt_ch1_1;
739 ELSE
740 ram_contr_next_state <= act_wrt_ch1_1;
741 END IF;
742
743 WHEN exe_wrt_ch1_1 =>
744
745 --Senhales hacia memoria RAM
746 CS1_bar <= '0';
747 CS2 <= '1';
748 WE_bar <= '0';
749 OE_RAM_bar <= '1';
750 UB_bar <= '0';
751 LB_bar <= '0';
752
753 --Senhales hacia mutiplexor
754 oe_ch_vector <= "00001";
755 hb_lbbar <= '1';
756
757 --Senhales hacia canales
758 ack_ch_vector <= (OTHERS=>'0');
759
760 --Senhales hacia SPI Controller o cache
761 ld_ram <= '0';
762
763 --Estado siguiente
764 ram_contr_next_state <= end_wrt_cycle_1;
765
766 --Inicio proceso de escritura en canal 1
767 WHEN set_wrt_ch1_2 =>
768
769 --Senhales hacia memoria RAM
770 CS1_bar <= '0';
771 CS2 <= '1';
772 WE_bar <= '0';
773 OE_RAM_bar <= '1';
774 UB_bar <= '0';
775 LB_bar <= '0';
776
777 --Senhales hacia mutiplexor
778 oe_ch_vector <= "00001";--(OTHERS=>'0');
779 hb_lbbar <= '0';
780
781 --Senhales hacia canales
782 ack_ch_vector <= (OTHERS=>'0');
783
784 --Senhales hacia SPI Controller o cache
785 ld_ram <= '0';
786
787 --Estado siguiente
788 IF (count_slw = ramwait_const1) THEN
789 ram_contr_next_state <= act_wrt_ch1_2;
790 ELSE
791 ram_contr_next_state <= set_wrt_ch1_2;
792 END IF;
793
794 WHEN act_wrt_ch1_2 =>
795
796 --Senhales hacia memoria RAM
797 CS1_bar <= '0';
798 CS2 <= '1';
799 WE_bar <= '0';
800 OE_RAM_bar <= '1';
801 UB_bar <= '0';
802 LB_bar <= '0';
803
804 --Senhales hacia mutiplexor
805 oe_ch_vector <= "00001";
806 hb_lbbar <= '0';
807
808 --Senhales hacia canales
809 ack_ch_vector <= (OTHERS=>'0');
810
811 --Senhales hacia SPI Controller o cache
812 ld_ram <= '0';
813
814 --Estado siguiente
815 IF (count_slw = ramwait_const2) THEN
816 ram_contr_next_state <= exe_wrt_ch1_2;
817 ELSE
818 ram_contr_next_state <= act_wrt_ch1_2;
819 END IF;
820
821 WHEN exe_wrt_ch1_2 =>
822
823 --Senhales hacia memoria RAM
824 CS1_bar <= '0';
825 CS2 <= '1';
826 WE_bar <= '0';
827 OE_RAM_bar <= '1';
828 UB_bar <= '0';
829 LB_bar <= '0';
830
831 --Senhales hacia mutiplexor
832 oe_ch_vector <= "00001";
833 hb_lbbar <= '0';
834
835 --Senhales hacia canales
836 ack_ch_vector <= "00001";
837
838 --Senhales hacia SPI Controller o cache
839 ld_ram <= '0';
840
841 --Estado siguiente
842 ram_contr_next_state <= end_wrt_cycle_2;
843
844
845 --Inicio proceso de escritura en canal 2
846 WHEN set_wrt_ch2_1 =>
847
848 --Senhales hacia memoria RAM
849 CS1_bar <= '0';
850 CS2 <= '1';
851 WE_bar <= '0';
852 OE_RAM_bar <= '1';
853 UB_bar <= '0';
854 LB_bar <= '0';
855
856 --Senhales hacia mutiplexor
857 oe_ch_vector <= "00010";--(OTHERS=>'0');
858 hb_lbbar <= '1';
859
860 --Senhales hacia canales
861 ack_ch_vector <= (OTHERS=>'0');
862
863 --Senhales hacia SPI Controller o cache
864 ld_ram <= '0';
865
866 --Estado siguiente
867 IF (count_slw = ramwait_const1) THEN
868 ram_contr_next_state <= act_wrt_ch2_1;
869 ELSE
870 ram_contr_next_state <= set_wrt_ch2_1;
871 END IF;
872
873 WHEN act_wrt_ch2_1 =>
874
875 --Senhales hacia memoria RAM
876 CS1_bar <= '0';
877 CS2 <= '1';
878 WE_bar <= '0';
879 OE_RAM_bar <= '1';
880 UB_bar <= '0';
881 LB_bar <= '0';
882
883 --Senhales hacia mutiplexor
884 oe_ch_vector <= "00010";
885 hb_lbbar <= '1';
886
887 --Senhales hacia canales
888 ack_ch_vector <= (OTHERS=>'0');
889
890 --Senhales hacia SPI Controller o cache
891 ld_ram <= '0';
892
893 --Estado siguiente
894 IF (count_slw = ramwait_const2) THEN
895 ram_contr_next_state <= exe_wrt_ch2_1;
896 ELSE
897 ram_contr_next_state <= act_wrt_ch2_1;
898 END IF;
899
900 WHEN exe_wrt_ch2_1 =>
901
902 --Senhales hacia memoria RAM
903 CS1_bar <= '0';
904 CS2 <= '1';
905 WE_bar <= '0';
906 OE_RAM_bar <= '1';
907 UB_bar <= '0';
908 LB_bar <= '0';
909
910 --Senhales hacia mutiplexor
911 oe_ch_vector <= "00010";
912 hb_lbbar <= '1';
913
914 --Senhales hacia canales
915 ack_ch_vector <= (OTHERS=>'0');
916
917 --Senhales hacia SPI Controller o cache
918 ld_ram <= '0';
919
920 --Estado siguiente
921 ram_contr_next_state <= end_wrt_cycle_1;
922
923 --Inicio proceso de escritura en canal 2
924 WHEN set_wrt_ch2_2 =>
925
926 --Senhales hacia memoria RAM
927 CS1_bar <= '0';
928 CS2 <= '1';
929 WE_bar <= '0';
930 OE_RAM_bar <= '1';
931 UB_bar <= '0';
932 LB_bar <= '0';
933
934 --Senhales hacia mutiplexor
935 oe_ch_vector <= "00010";--(OTHERS=>'0');
936 hb_lbbar <= '0';
937
938 --Senhales hacia canales
939 ack_ch_vector <= (OTHERS=>'0');
940
941 --Senhales hacia SPI Controller o cache
942 ld_ram <= '0';
943
944 --Estado siguiente
945 IF (count_slw = ramwait_const1) THEN
946 ram_contr_next_state <= act_wrt_ch2_2;
947 ELSE
948 ram_contr_next_state <= set_wrt_ch2_2;
949 END IF;
950
951 WHEN act_wrt_ch2_2 =>
952
953 --Senhales hacia memoria RAM
954 CS1_bar <= '0';
955 CS2 <= '1';
956 WE_bar <= '0';
957 OE_RAM_bar <= '1';
958 UB_bar <= '0';
959 LB_bar <= '0';
960
961 --Senhales hacia mutiplexor
962 oe_ch_vector <= "00010";
963 hb_lbbar <= '0';
964
965 --Senhales hacia canales
966 ack_ch_vector <= (OTHERS=>'0');
967
968 --Senhales hacia SPI Controller o cache
969 ld_ram <= '0';
970
971 --Estado siguiente
972 IF (count_slw = ramwait_const2) THEN
973 ram_contr_next_state <= exe_wrt_ch2_2;
974 ELSE
975 ram_contr_next_state <= act_wrt_ch2_2;
976 END IF;
977
978 WHEN exe_wrt_ch2_2 =>
979
980 --Senhales hacia memoria RAM
981 CS1_bar <= '0';
982 CS2 <= '1';
983 WE_bar <= '0';
984 OE_RAM_bar <= '1';
985 UB_bar <= '0';
986 LB_bar <= '0';
987
988 --Senhales hacia mutiplexor
989 oe_ch_vector <= "00010";
990 hb_lbbar <= '0';
991
992 --Senhales hacia canales
993 ack_ch_vector <= "00010";
994
995 --Senhales hacia SPI Controller o cache
996 ld_ram <= '0';
997
998 --Estado siguiente
999 ram_contr_next_state <= end_wrt_cycle_2;
1000
1001
1002 --Inicio proceso de escritura en canal 3
1003 WHEN set_wrt_ch3_1 =>
1004
1005 --Senhales hacia memoria RAM
1006 CS1_bar <= '0';
1007 CS2 <= '1';
1008 WE_bar <= '0';
1009 OE_RAM_bar <= '1';
1010 UB_bar <= '0';
1011 LB_bar <= '0';
1012
1013 --Senhales hacia mutiplexor
1014 oe_ch_vector <= "00100";--(OTHERS=>'0');
1015 hb_lbbar <= '1';
1016
1017 --Senhales hacia canales
1018 ack_ch_vector <= (OTHERS=>'0');
1019
1020 --Senhales hacia SPI Controller o cache
1021 ld_ram <= '0';
1022
1023 --Estado siguiente
1024 IF (count_slw = ramwait_const1) THEN
1025 ram_contr_next_state <= act_wrt_ch3_1;
1026 ELSE
1027 ram_contr_next_state <= set_wrt_ch3_1;
1028 END IF;
1029
1030 WHEN act_wrt_ch3_1 =>
1031
1032 --Senhales hacia memoria RAM
1033 CS1_bar <= '0';
1034 CS2 <= '1';
1035 WE_bar <= '0';
1036 OE_RAM_bar <= '1';
1037 UB_bar <= '0';
1038 LB_bar <= '0';
1039
1040 --Senhales hacia mutiplexor
1041 oe_ch_vector <= "00100";
1042 hb_lbbar <= '1';
1043
1044 --Senhales hacia canales
1045 ack_ch_vector <= (OTHERS =>'0');
1046
1047 --Senhales hacia SPI Controller o cache
1048 ld_ram <= '0';
1049
1050 --Estado siguiente
1051 IF (count_slw = ramwait_const2) THEN
1052 ram_contr_next_state <= exe_wrt_ch3_1;
1053 ELSE
1054 ram_contr_next_state <= act_wrt_ch3_1;
1055 END IF;
1056
1057 WHEN exe_wrt_ch3_1 =>
1058
1059 --Senhales hacia memoria RAM
1060 CS1_bar <= '0';
1061 CS2 <= '1';
1062 WE_bar <= '0';
1063 OE_RAM_bar <= '1';
1064 UB_bar <= '0';
1065 LB_bar <= '0';
1066
1067 --Senhales hacia mutiplexor
1068 oe_ch_vector <= "00100";
1069 hb_lbbar <= '1';
1070
1071 --Senhales hacia canales
1072 ack_ch_vector <= (OTHERS=>'0');
1073
1074 --Senhales hacia SPI Controller o cache
1075 ld_ram <= '0';
1076
1077 --Estado siguiente
1078 ram_contr_next_state <= end_wrt_cycle_1;
1079
1080 --Inicio proceso de escritura en canal 3
1081 WHEN set_wrt_ch3_2 =>
1082
1083 --Senhales hacia memoria RAM
1084 CS1_bar <= '0';
1085 CS2 <= '1';
1086 WE_bar <= '0';
1087 OE_RAM_bar <= '1';
1088 UB_bar <= '0';
1089 LB_bar <= '0';
1090
1091 --Senhales hacia mutiplexor
1092 oe_ch_vector <= "00100";--(OTHERS=>'0');
1093 hb_lbbar <= '0';
1094
1095 --Senhales hacia canales
1096 ack_ch_vector <= (OTHERS=>'0');
1097
1098 --Senhales hacia SPI Controller o cache
1099 ld_ram <= '0';
1100
1101 --Estado siguiente
1102 IF (count_slw = ramwait_const1) THEN
1103 ram_contr_next_state <= act_wrt_ch3_2;
1104 ELSE
1105 ram_contr_next_state <= set_wrt_ch3_2;
1106 END IF;
1107
1108 WHEN act_wrt_ch3_2 =>
1109
1110 --Senhales hacia memoria RAM
1111 CS1_bar <= '0';
1112 CS2 <= '1';
1113 WE_bar <= '0';
1114 OE_RAM_bar <= '1';
1115 UB_bar <= '0';
1116 LB_bar <= '0';
1117
1118 --Senhales hacia mutiplexor
1119 oe_ch_vector <= "00100";
1120 hb_lbbar <= '0';
1121
1122 --Senhales hacia canales
1123 ack_ch_vector <= (OTHERS =>'0');
1124
1125 --Senhales hacia SPI Controller o cache
1126 ld_ram <= '0';
1127
1128 --Estado siguiente
1129 IF (count_slw = ramwait_const2) THEN
1130 ram_contr_next_state <= exe_wrt_ch3_2;
1131 ELSE
1132 ram_contr_next_state <= act_wrt_ch3_2;
1133 END IF;
1134
1135 WHEN exe_wrt_ch3_2 =>
1136
1137 --Senhales hacia memoria RAM
1138 CS1_bar <= '0';
1139 CS2 <= '1';
1140 WE_bar <= '0';
1141 OE_RAM_bar <= '1';
1142 UB_bar <= '0';
1143 LB_bar <= '0';
1144
1145 --Senhales hacia mutiplexor
1146 oe_ch_vector <= "00100";
1147 hb_lbbar <= '0';
1148
1149 --Senhales hacia canales
1150 ack_ch_vector <= "00100";
1151
1152 --Senhales hacia SPI Controller o cache
1153 ld_ram <= '0';
1154
1155 --Estado siguiente
1156 ram_contr_next_state <= end_wrt_cycle_2;
1157
1158 --Inicio proceso de escritura en canal 4
1159 WHEN set_wrt_ch4_1 =>
1160
1161 --Senhales hacia memoria RAM
1162 CS1_bar <= '0';
1163 CS2 <= '1';
1164 WE_bar <= '0';
1165 OE_RAM_bar <= '1';
1166 UB_bar <= '0';
1167 LB_bar <= '0';
1168
1169 --Senhales hacia mutiplexor
1170 oe_ch_vector <= "01000";
1171 hb_lbbar <= '1';
1172
1173 --Senhales hacia canales
1174 ack_ch_vector <= (OTHERS =>'0');
1175
1176 --Senhales hacia SPI Controller o cache
1177 ld_ram <= '0';
1178
1179 --Estado siguiente
1180 IF (count_slw = ramwait_const1) THEN
1181 ram_contr_next_state <= act_wrt_ch4_1;
1182 ELSE
1183 ram_contr_next_state <= set_wrt_ch4_1;
1184 END IF;
1185
1186 WHEN act_wrt_ch4_1 =>
1187
1188 --Senhales hacia memoria RAM
1189 CS1_bar <= '0';
1190 CS2 <= '1';
1191 WE_bar <= '0';
1192 OE_RAM_bar <= '1';
1193 UB_bar <= '0';
1194 LB_bar <= '0';
1195
1196 --Senhales hacia mutiplexor
1197 oe_ch_vector <= "01000";
1198 hb_lbbar <= '1';
1199
1200 --Senhales hacia canales
1201 ack_ch_vector <= (OTHERS=>'0');
1202
1203 --Senhales hacia SPI Controller o cache
1204 ld_ram <= '0';
1205
1206 --Estado siguiente
1207 IF (count_slw = ramwait_const2) THEN
1208 ram_contr_next_state <= exe_wrt_ch4_1;
1209 ELSE
1210 ram_contr_next_state <= act_wrt_ch4_1;
1211 END IF;
1212
1213 WHEN exe_wrt_ch4_1 =>
1214
1215 --Senhales hacia memoria RAM
1216 CS1_bar <= '0';
1217 CS2 <= '1';
1218 WE_bar <= '0';
1219 OE_RAM_bar <= '1';
1220 UB_bar <= '0';
1221 LB_bar <= '0';
1222
1223 --Senhales hacia mutiplexor
1224 oe_ch_vector <= "01000";
1225 hb_lbbar <= '1';
1226
1227 --Senhales hacia canales
1228 ack_ch_vector <= (OTHERS=>'0');
1229
1230 --Senhales hacia SPI Controller o cache
1231 ld_ram <= '0';
1232
1233 --Estado siguiente
1234 ram_contr_next_state <= end_wrt_cycle_1;
1235
1236 --Inicio proceso de escritura en canal 4
1237 WHEN set_wrt_ch4_2 =>
1238
1239 --Senhales hacia memoria RAM
1240 CS1_bar <= '0';
1241 CS2 <= '1';
1242 WE_bar <= '0';
1243 OE_RAM_bar <= '1';
1244 UB_bar <= '0';
1245 LB_bar <= '0';
1246
1247 --Senhales hacia mutiplexor
1248 oe_ch_vector <= "01000";
1249 hb_lbbar <= '0';
1250
1251 --Senhales hacia canales
1252 ack_ch_vector <= (OTHERS =>'0');
1253
1254 --Senhales hacia SPI Controller o cache
1255 ld_ram <= '0';
1256
1257 --Estado siguiente
1258 IF (count_slw = ramwait_const1) THEN
1259 ram_contr_next_state <= act_wrt_ch4_2;
1260 ELSE
1261 ram_contr_next_state <= set_wrt_ch4_2;
1262 END IF;
1263
1264 WHEN act_wrt_ch4_2 =>
1265
1266 --Senhales hacia memoria RAM
1267 CS1_bar <= '0';
1268 CS2 <= '1';
1269 WE_bar <= '0';
1270 OE_RAM_bar <= '1';
1271 UB_bar <= '0';
1272 LB_bar <= '0';
1273
1274 --Senhales hacia mutiplexor
1275 oe_ch_vector <= "01000";
1276 hb_lbbar <= '0';
1277
1278 --Senhales hacia canales
1279 ack_ch_vector <= (OTHERS=>'0');
1280
1281 --Senhales hacia SPI Controller o cache
1282 ld_ram <= '0';
1283
1284 --Estado siguiente
1285 IF (count_slw = ramwait_const2) THEN
1286 ram_contr_next_state <= exe_wrt_ch4_2;
1287 ELSE
1288 ram_contr_next_state <= act_wrt_ch4_2;
1289 END IF;
1290
1291 WHEN exe_wrt_ch4_2 =>
1292
1293 --Senhales hacia memoria RAM
1294 CS1_bar <= '0';
1295 CS2 <= '1';
1296 WE_bar <= '0';
1297 OE_RAM_bar <= '1';
1298 UB_bar <= '0';
1299 LB_bar <= '0';
1300
1301 --Senhales hacia mutiplexor
1302 oe_ch_vector <= "01000";
1303 hb_lbbar <= '0';
1304
1305 --Senhales hacia canales
1306 ack_ch_vector <= "01000";
1307
1308 --Senhales hacia SPI Controller o cache
1309 ld_ram <= '0';
1310
1311 --Estado siguiente
1312 ram_contr_next_state <= end_wrt_cycle_2;
1313
1314 --Inicio proceso de escritura en canal 5
1315 WHEN set_wrt_ch5_1 =>
1316
1317 --Senhales hacia memoria RAM
1318 CS1_bar <= '0';
1319 CS2 <= '1';
1320 WE_bar <= '0';
1321 OE_RAM_bar <= '1';
1322 UB_bar <= '0';
1323 LB_bar <= '0';
1324
1325 --Senhales hacia mutiplexor
1326 oe_ch_vector <= "10000";
1327 hb_lbbar <= '1';
1328
1329 --Senhales hacia canales
1330 ack_ch_vector <= (OTHERS =>'0');
1331
1332 --Senhales hacia SPI Controller o cache
1333 ld_ram <= '0';
1334
1335 --Estado siguiente
1336 IF (count_slw = ramwait_const1) THEN
1337 ram_contr_next_state <= act_wrt_ch5_1;
1338 ELSE
1339 ram_contr_next_state <= set_wrt_ch5_1;
1340 END IF;
1341
1342 WHEN act_wrt_ch5_1 =>
1343
1344 --Senhales hacia memoria RAM
1345 CS1_bar <= '0';
1346 CS2 <= '1';
1347 WE_bar <= '0';
1348 OE_RAM_bar <= '1';
1349 UB_bar <= '0';
1350 LB_bar <= '0';
1351
1352 --Senhales hacia mutiplexor
1353 oe_ch_vector <= "10000";
1354 hb_lbbar <= '1';
1355
1356 --Senhales hacia canales
1357 ack_ch_vector <= (OTHERS=>'0');
1358
1359 --Senhales hacia SPI Controller o cache
1360 ld_ram <= '0';
1361
1362 --Estado siguiente
1363 IF (count_slw = ramwait_const2) THEN
1364 ram_contr_next_state <= exe_wrt_ch5_1;
1365 ELSE
1366 ram_contr_next_state <= act_wrt_ch5_1;
1367 END IF;
1368
1369 WHEN exe_wrt_ch5_1 =>
1370
1371 --Senhales hacia memoria RAM
1372 CS1_bar <= '0';
1373 CS2 <= '1';
1374 WE_bar <= '0';
1375 OE_RAM_bar <= '1';
1376 UB_bar <= '0';
1377 LB_bar <= '0';
1378
1379 --Senhales hacia mutiplexor
1380 oe_ch_vector <= "10000";
1381 hb_lbbar <= '1';
1382
1383 --Senhales hacia canales
1384 ack_ch_vector <= (OTHERS=>'0');
1385
1386 --Senhales hacia el SPI Controller o cache
1387 ld_ram <= '0';
1388
1389 --Estado siguiente
1390 ram_contr_next_state <= end_wrt_cycle_1;
1391
1392 --Inicio proceso de escritura en canal 5
1393 WHEN set_wrt_ch5_2 =>
1394
1395 --Senhales hacia memoria RAM
1396 CS1_bar <= '0';
1397 CS2 <= '1';
1398 WE_bar <= '0';
1399 OE_RAM_bar <= '1';
1400 UB_bar <= '0';
1401 LB_bar <= '0';
1402
1403 --Senhales hacia mutiplexor
1404 oe_ch_vector <= "10000";
1405 hb_lbbar <= '0';
1406
1407 --Senhales hacia canales
1408 ack_ch_vector <= (OTHERS =>'0');
1409
1410 --Senhales hacia SPI Controller o cache
1411 ld_ram <= '0';
1412
1413 --Estado siguiente
1414 IF (count_slw = ramwait_const1) THEN
1415 ram_contr_next_state <= act_wrt_ch5_2;
1416 ELSE
1417 ram_contr_next_state <= set_wrt_ch5_2;
1418 END IF;
1419
1420 WHEN act_wrt_ch5_2 =>
1421
1422 --Senhales hacia memoria RAM
1423 CS1_bar <= '0';
1424 CS2 <= '1';
1425 WE_bar <= '0';
1426 OE_RAM_bar <= '1';
1427 UB_bar <= '0';
1428 LB_bar <= '0';
1429
1430 --Senhales hacia mutiplexor
1431 oe_ch_vector <= "10000";
1432 hb_lbbar <= '0';
1433
1434 --Senhales hacia canales
1435 ack_ch_vector <= (OTHERS=>'0');
1436
1437 --Senhales hacia SPI Controller o cache
1438 ld_ram <= '0';
1439
1440 --Estado siguiente
1441 IF (count_slw = ramwait_const2) THEN
1442 ram_contr_next_state <= exe_wrt_ch5_2;
1443 ELSE
1444 ram_contr_next_state <= act_wrt_ch5_2;
1445 END IF;
1446
1447 WHEN exe_wrt_ch5_2 =>
1448
1449 --Senhales hacia memoria RAM
1450 CS1_bar <= '0';
1451 CS2 <= '1';
1452 WE_bar <= '0';
1453 OE_RAM_bar <= '1';
1454 UB_bar <= '0';
1455 LB_bar <= '0';
1456
1457 --Senhales hacia mutiplexor
1458 oe_ch_vector <= "10000";
1459 hb_lbbar <= '0';
1460
1461 --Senhales hacia canales
1462 ack_ch_vector <= "10000";
1463
1464 --Senhales hacia el SPI Controller o cache
1465 ld_ram <= '0';
1466
1467 --Estado siguiente
1468 ram_contr_next_state <= end_wrt_cycle_2;
1469
1470 ---------------------------------
1471
1472 WHEN end_wrt_cycle_1 =>
1473
1474 --Senhales hacia memoria RAM
1475 CS1_bar <= '1';
1476 CS2 <= '0';
1477 WE_bar <= '1';
1478 OE_RAM_bar <= '1';
1479 UB_bar <= '1';
1480 LB_bar <= '1';
1481
1482 --Senhales hacia mutiplexor
1483 oe_ch_vector <= (OTHERS=>'0');
1484 hb_lbbar <= '0';
1485
1486 --Senhales hacia canales
1487 ack_ch_vector <= (OTHERS=>'0');
1488
1489 --Senhales hacia SPI Controller o cache
1490 ld_ram <= '0';
1491
1492 --Estado siguiente
1493 CASE ch_cont_cur_state IS
1494 WHEN attending_ch1 =>
1495 ram_contr_next_state <= set_wrt_ch1_2;
1496 WHEN attending_ch2 =>
1497 ram_contr_next_state <= set_wrt_ch2_2;
1498 WHEN attending_ch3 =>
1499 ram_contr_next_state <= set_wrt_ch3_2;
1500 WHEN attending_ch4 =>
1501 ram_contr_next_state <= set_wrt_ch4_2;
1502 WHEN attending_ch5 =>
1503 ram_contr_next_state <= set_wrt_ch5_2;
1504 WHEN OTHERS =>
1505 ram_contr_next_state <= espera_rdy;
1506 END CASE;
1507
1508
1509 WHEN end_wrt_cycle_2 =>
1510
1511 --Senhales hacia memoria RAM
1512 CS1_bar <= '1';
1513 CS2 <= '0';
1514 WE_bar <= '1';
1515 OE_RAM_bar <= '1';
1516 UB_bar <= '1';
1517 LB_bar <= '1';
1518
1519 --Senhales hacia mutiplexor
1520 oe_ch_vector <= (OTHERS=>'0');
1521 hb_lbbar <= '0';
1522
1523 --Senhales hacia canales
1524 ack_ch_vector <= (OTHERS=>'0');
1525
1526 --Senhales hacia SPI Controller o cache
1527 ld_ram <= '0';
1528
1529 --Estado siguiente
1530 ram_contr_next_state <= espera_rdy;
1531
1532
1533 ---------------------------------
1534
1535 WHEN espera_req =>
1536
1537 --Senhales hacia memoria RAM
1538 CS1_bar <= '1';
1539 CS2 <= '0';
1540 WE_bar <= '1';
1541 OE_RAM_bar <= '1';
1542 UB_bar <= '1';
1543 LB_bar <= '1';
1544
1545 --Senhales hacia mutiplexor
1546 oe_ch_vector <= (OTHERS => '0');
1547 hb_lbbar <= '0';
1548
1549 --Senhales hacia canales
1550 ack_ch_vector <= (OTHERS =>'0');
1551
1552 --Senhales hacia SPI Controller o cache
1553 ld_ram <= '0';
1554
1555 --Estado siguiente
1556 IF (rd_req = '1') THEN
1557 ram_contr_next_state <= set_rd;
1558 ELSE
1559 ram_contr_next_state <= espera_req;
1560 END IF;
1561
1562 WHEN set_rd =>
1563
1564 --Senhales hacia memoria RAM
1565 CS1_bar <= '0';
1566 CS2 <= '1';
1567 WE_bar <= '1';
1568 OE_RAM_bar <= '0';
1569 UB_bar <= '0';
1570 LB_bar <= '0';
1571
1572 --Senhales hacia mutiplexor
1573 oe_ch_vector <= (OTHERS => '0');
1574 hb_lbbar <= '0';
1575
1576 --Senhales hacia canales
1577 ack_ch_vector <= (OTHERS=>'0');
1578
1579 --Senhales hacia SPI Controller o cache
1580 ld_ram <= '0';
1581
1582 --Estado siguiente
1583 ram_contr_next_state <= act_rd;
1584
1585 WHEN act_rd =>
1586
1587 --Senhales hacia memoria RAM
1588 CS1_bar <= '0';
1589 CS2 <= '1';
1590 WE_bar <= '1';
1591 OE_RAM_bar <= '0';
1592 UB_bar <= '0';
1593 LB_bar <= '0';
1594
1595 --Senhales hacia mutiplexor
1596 oe_ch_vector <= (OTHERS => '0');
1597 hb_lbbar <= '0';
1598
1599 --Senhales hacia canales
1600 ack_ch_vector <= (OTHERS => '0');
1601
1602 --Senhales hacia SPI Controller o cache
1603 ld_ram <= '0';
1604
1605 --Estado siguiente
1606 IF (count_slw = ramwait_const2) THEN
1607 ram_contr_next_state <= exe_rd;
1608 ELSE
1609 ram_contr_next_state <= act_rd;
1610 END IF;
1611
1612 WHEN exe_rd =>
1613
1614 --Senhales hacia memoria RAM
1615 CS1_bar <= '0';
1616 CS2 <= '1';
1617 WE_bar <= '1';
1618 OE_RAM_bar <= '0';
1619 UB_bar <= '0';
1620 LB_bar <= '0';
1621
1622 --Senhales hacia mutiplexor
1623 oe_ch_vector <= (OTHERS=>'0');
1624 hb_lbbar <= '0';
1625
1626 --Senhales hacia canales
1627 ack_ch_vector <= (OTHERS=>'0');
1628
1629 --Senhales hacia SPI Controller o cache
1630 ld_ram <= '1';
1631
1632
1633 --Estado siguiente
1634 IF (rd_req = '0') THEN
1635 ram_contr_next_state <= end_rd;
1636 ELSE
1637 ram_contr_next_state <= exe_rd;
1638 END IF;
1639
1640 WHEN end_rd =>
1641
1642 --Senhales hacia memoria RAM
1643 CS1_bar <= '0';
1644 CS2 <= '1';
1645 WE_bar <= '1';
1646 OE_RAM_bar <= '0';
1647 UB_bar <= '0';
1648 LB_bar <= '0';
1649
1650 --Senhales hacia mutiplexor
1651 oe_ch_vector <= (OTHERS=>'0');
1652 hb_lbbar <= '0';
1653
1654 --Senhales hacia canales
1655 ack_ch_vector <= (OTHERS=>'0');
1656
1657 --Senhales hacia SPI Controller o cache
1658 ld_ram <= '0';
1659
1660 --Estado siguiente
1661 IF (addr_rd_aux = TOP_GL) THEN
1662 ram_contr_next_state <= end_rd;
1663 ELSE
1664 ram_contr_next_state <= espera_req;
1665 END IF;
1666
1667 WHEN OTHERS =>
1668
1669 --Senhales hacia memoria RAM
1670 CS1_bar <= '1';
1671 CS2 <= '0';
1672 WE_bar <= '1';
1673 OE_RAM_bar <= '1';
1674 UB_bar <= '1';
1675 LB_bar <= '1';
1676
1677 --Senhales hacia mutiplexor
1678 oe_ch_vector <= (OTHERS=>'0');
1679 hb_lbbar <= '0';
1680
1681 --Senhales hacia canales
1682 ack_ch_vector <= (OTHERS=>'0');
1683
1684 --Senhales hacia SPI Controller o cache
1685 ld_ram <= '0';
1686
1687 --Estado siguiente
1688 ram_contr_next_state <= idle;
1689
1690
1691 END CASE;
1692 END PROCESS;
1693
1694
1695 contador_10ns: PROCESS(clk_main)
1696 BEGIN
1697 IF (rising_edge(clk_main)) THEN
1698 IF(rst_bar = '0') THEN
1699 count_slw <= (OTHERS=>'0');
1700 ELSE
1701
1702 CASE ram_contr_cur_state IS
1703 WHEN set_wrt_ch1_1 |
1704 set_wrt_ch1_2 |
1705 set_wrt_ch2_1 |
1706 set_wrt_ch2_2 |
1707 set_wrt_ch3_1 |
1708 set_wrt_ch3_2 |
1709 set_wrt_ch4_1 |
1710 set_wrt_ch4_2 |
1711 set_wrt_ch5_1 |
1712 set_wrt_ch5_2 |
1713 set_erase_ram
1714 =>
1715
1716 IF(count_slw = ramwait_const1) THEN
1717 count_slw <= (OTHERS=>'0');
1718 ELSE
1719 count_slw <= std_logic_vector(unsigned(count_slw) + 1);
1720 END IF;
1721
1722 WHEN act_wrt_ch1_1 |
1723 act_wrt_ch1_2 |
1724 act_wrt_ch2_1 |
1725 act_wrt_ch2_2 |
1726 act_wrt_ch3_1 |
1727 act_wrt_ch3_2 |
1728 act_wrt_ch4_1 |
1729 act_wrt_ch4_2 |
1730 act_wrt_ch5_1 |
1731 act_wrt_ch5_2 |
1732 act_erase_ram |
1733 act_rd =>
1734 count_slw <= std_logic_vector(unsigned(count_slw) + 1);
1735 IF(count_slw = ramwait_const2) THEN
1736 count_slw <= (OTHERS=>'0');
1737 ELSE
1738 count_slw <= std_logic_vector(unsigned(count_slw) + 1);
1739 END IF;
1740
1741
1742 WHEN OTHERS =>
1743 count_slw <= (OTHERS=>'0');
1744
1745 END CASE;
1746 END IF;
1747 END IF;
1748 END PROCESS;
1749
1750 end Behavioral;
1751
@@ -0,0 +1,2
1 C:\Users\Francisco\Documents\Francisco_ROJ\ProcessingEngine\Projects\chn5_mem_spi_joint\chn5_mem_spi_joint.ngc 1464025067
2 OK
@@ -0,0 +1,15
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="PhysDesignRules" num="1861" delta="old" >To achieve optimal frequency synthesis performance with the CLKFX and CLKFX180 outputs of the DCM comp <arg fmt="%s" index="1">clk_mang/DCM_SP_inst_int</arg>, consult the device Data Sheet.
9 </msg>
10
11 <msg type="info" file="PhysDesignRules" num="1861" delta="old" >To achieve optimal frequency synthesis performance with the CLKFX and CLKFX180 outputs of the DCM comp <arg fmt="%s" index="1">clk_mang/DCM_SP_inst</arg>, consult the device Data Sheet.
12 </msg>
13
14 </messages>
15
@@ -0,0 +1,33
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="MapLib" num="562" delta="old" >No environment variables are currently set.
9 </msg>
10
11 <msg type="info" file="LIT" num="244" delta="old" >All of the single ended outputs in this design are using slew rate limited output drivers. The delay on speed critical single ended outputs can be dramatically reduced by designating them as fast outputs.
12 </msg>
13
14 <msg type="info" file="Pack" num="1716" delta="old" >Initializing temperature to <arg fmt="%0.3f" index="1">85.000</arg> Celsius. (default - Range: <arg fmt="%0.3f" index="2">0.000</arg> to <arg fmt="%0.3f" index="3">85.000</arg> Celsius)
15 </msg>
16
17 <msg type="info" file="Pack" num="1720" delta="old" >Initializing voltage to <arg fmt="%0.3f" index="1">1.140</arg> Volts. (default - Range: <arg fmt="%0.3f" index="2">1.140</arg> to <arg fmt="%0.3f" index="3">1.260</arg> Volts)
18 </msg>
19
20 <msg type="info" file="Map" num="215" delta="old" >The Interim Design Summary has been generated in the MAP Report (.mrp).
21 </msg>
22
23 <msg type="info" file="Pack" num="1650" delta="old" >Map created a placed design.
24 </msg>
25
26 <msg type="info" file="PhysDesignRules" num="1861" delta="old" >To achieve optimal frequency synthesis performance with the CLKFX and CLKFX180 outputs of the DCM comp <arg fmt="%s" index="1">clk_mang/DCM_SP_inst_int</arg>, consult the device Data Sheet.
27 </msg>
28
29 <msg type="info" file="PhysDesignRules" num="1861" delta="old" >To achieve optimal frequency synthesis performance with the CLKFX and CLKFX180 outputs of the DCM comp <arg fmt="%s" index="1">clk_mang/DCM_SP_inst</arg>, consult the device Data Sheet.
30 </msg>
31
32 </messages>
33
@@ -0,0 +1,18
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="NetListWriters" num="635" delta="old" >The generated VHDL netlist contains Xilinx <arg fmt="%s" index="1">SIMPRIM</arg> simulation primitives and has to be used with <arg fmt="%s" index="2">SIMPRIM</arg> library for correct compilation and simulation.
9 </msg>
10
11 <msg type="info" file="NetListWriters" num="0" delta="new" >Xilinx recommends running separate simulations to check for setup by specifying the MAX field in the SDF file and for hold by specifying the MIN field in the SDF file. Please refer to Simulator documentation for more details on specifying MIN and MAX field in the SDF.
12 </msg>
13
14 <msg type="info" file="NetListWriters" num="665" delta="old" >For more information on how to pass the SDF switches to the simulator, see your Simulator tool documentation.
15 </msg>
16
17 </messages>
18
@@ -0,0 +1,17
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="ConstraintSystem" num="178" delta="old" ><arg fmt="%s" index="1">TNM</arg> &apos;<arg fmt="%s" index="2">clk_main</arg>&apos;, used in period specification &apos;<arg fmt="%s" index="3">TS_clk_main</arg>&apos;, was traced into <arg fmt="%s" index="4">DCM_SP</arg> instance <arg fmt="%s" index="5">clk_mang/DCM_SP_inst_int</arg>. The following new TNM groups and period specifications were generated at the <arg fmt="%s" index="6">DCM_SP</arg> output(s):
9 <arg fmt="%s" index="7">CLKFX</arg>: <arg fmt="%s" index="8">&lt;TIMESPEC TS_clk_u_proc = PERIOD &quot;clk_u_proc&quot; TS_clk_main / 4 HIGH 50%&gt;</arg>
10 </msg>
11
12 <msg type="info" file="ConstraintSystem" num="178" delta="old" ><arg fmt="%s" index="1">TNM</arg> &apos;<arg fmt="%s" index="2">clk_main</arg>&apos;, used in period specification &apos;<arg fmt="%s" index="3">TS_clk_main</arg>&apos;, was traced into <arg fmt="%s" index="4">DCM_SP</arg> instance <arg fmt="%s" index="5">clk_mang/DCM_SP_inst</arg>. The following new TNM groups and period specifications were generated at the <arg fmt="%s" index="6">DCM_SP</arg> output(s):
13 <arg fmt="%s" index="7">CLKFX</arg>: <arg fmt="%s" index="8">&lt;TIMESPEC TS_clk_mang_c_16MHz = PERIOD &quot;clk_mang_c_16MHz&quot; TS_clk_main / 0.266666667 HIGH 50%&gt;</arg>
14 </msg>
15
16 </messages>
17
@@ -0,0 +1,9
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 </messages>
9
@@ -0,0 +1,15
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated -->
3 <!-- by the Xilinx ISE software. Any direct editing or -->
4 <!-- changes made to this file may result in unpredictable -->
5 <!-- behavior or data corruption. It is strongly advised that -->
6 <!-- users do not edit the contents of this file. -->
7 <!-- -->
8 <!-- Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. -->
9
10 <messages>
11 <msg type="info" file="ProjectMgmt" num="1061" ><arg fmt="%s" index="1">Parsing VHDL file &quot;C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/tb_chn5_mem_spi_joint.vhd&quot; into library work</arg>
12 </msg>
13
14 </messages>
15
@@ -0,0 +1,15
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="Timing" num="3412" delta="old" >To improve timing, see the Timing Closure User Guide (UG612).</msg>
9
10 <msg type="info" file="Timing" num="2752" delta="old" >To get complete path coverage, use the unconstrained paths option. All paths that are not constrained will be reported in the unconstrained paths section(s) of the report.</msg>
11
12 <msg type="info" file="Timing" num="3339" delta="old" >The clock-to-out numbers in this timing report are based on a 50 Ohm transmission line loading model. For the details of this model, and for more information on accounting for different loading conditions, please see the device datasheet.</msg>
13
14 </messages>
15
@@ -0,0 +1,21
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- IMPORTANT: This is an internal file that has been generated
3 by the Xilinx ISE software. Any direct editing or
4 changes made to this file may result in unpredictable
5 behavior or data corruption. It is strongly advised that
6 users do not edit the contents of this file. -->
7 <messages>
8 <msg type="info" file="Xst" num="3210" delta="old" >&quot;<arg fmt="%s" index="1">C:\Users\Francisco\Documents\Francisco_ROJ\ProcessingEngine\Projects\chn5_mem_spi_joint\chn5_mem_spi_joint.vhd</arg>&quot; line <arg fmt="%s" index="2">383</arg>: Output port &lt;<arg fmt="%s" index="3">cs1_bar</arg>&gt; of the instance &lt;<arg fmt="%s" index="4">nb_mem_cont</arg>&gt; is unconnected or connected to loadless signal.
9 </msg>
10
11 <msg type="info" file="Xst" num="3210" delta="old" >&quot;<arg fmt="%s" index="1">C:\Users\Francisco\Documents\Francisco_ROJ\ProcessingEngine\Projects\chn5_mem_spi_joint\chn5_mem_spi_joint.vhd</arg>&quot; line <arg fmt="%s" index="2">383</arg>: Output port &lt;<arg fmt="%s" index="3">cs2</arg>&gt; of the instance &lt;<arg fmt="%s" index="4">nb_mem_cont</arg>&gt; is unconnected or connected to loadless signal.
12 </msg>
13
14 <msg type="info" file="Xst" num="1767" delta="old" >HDL ADVISOR - Resource sharing has identified that some arithmetic operations in this design can share the same physical resources for reduced device utilization. For improved clock frequency you may try to disable resource sharing.
15 </msg>
16
17 <msg type="info" file="Xst" num="3231" delta="old" >The small RAM &lt;<arg fmt="%s" index="1">Mram_data_header</arg>&gt; will be implemented on LUTs in order to maximize performance and save block RAM resources. If you want to force its implementation on block, use option/constraint ram_style.
18 </msg>
19
20 </messages>
21
@@ -0,0 +1,141
1 Release 14.7 - Bitgen P.20131013 (nt64)
2 Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
3 Loading device for application Rf_Device from file '6slx9.nph' in environment
4 C:\Xilinx\14.7\ISE_DS\ISE\.
5 "chn5_mem_spi_joint" is an NCD, version 3.2, device xc6slx9, package tqg144,
6 speed -3
7 Opened constraints file chn5_mem_spi_joint.pcf.
8
9 Mon May 23 12:39:01 2016
10
11 C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\unwrapped\bitgen.exe -intstyle ise -w -g DebugBitstream:No -g Binary:no -g CRC:Enable -g Reset_on_err:No -g ConfigRate:2 -g ProgPin:PullUp -g TckPin:PullUp -g TdiPin:PullUp -g TdoPin:PullUp -g TmsPin:PullUp -g UnusedPin:PullDown -g UserID:0xFFFFFFFF -g ExtMasterCclk_en:No -g SPI_buswidth:1 -g TIMER_CFG:0xFFFF -g multipin_wakeup:No -g StartUpClk:CClk -g DONE_cycle:4 -g GTS_cycle:5 -g GWE_cycle:6 -g LCK_cycle:NoWait -g Security:None -g DonePipe:Yes -g DriveDone:No -g en_sw_gsr:No -g drive_awake:No -g sw_clk:Startupclk -g sw_gwe_cycle:5 -g sw_gts_cycle:4 chn5_mem_spi_joint.ncd
12
13 Summary of Bitgen Options:
14 +----------------------+----------------------+
15 | Option Name | Current Setting |
16 +----------------------+----------------------+
17 | Compress | (Not Specified)* |
18 +----------------------+----------------------+
19 | Readback | (Not Specified)* |
20 +----------------------+----------------------+
21 | CRC | Enable** |
22 +----------------------+----------------------+
23 | DebugBitstream | No** |
24 +----------------------+----------------------+
25 | ConfigRate | 2** |
26 +----------------------+----------------------+
27 | StartupClk | Cclk** |
28 +----------------------+----------------------+
29 | DonePin | Pullup* |
30 +----------------------+----------------------+
31 | ProgPin | Pullup** |
32 +----------------------+----------------------+
33 | TckPin | Pullup** |
34 +----------------------+----------------------+
35 | TdiPin | Pullup** |
36 +----------------------+----------------------+
37 | TdoPin | Pullup** |
38 +----------------------+----------------------+
39 | TmsPin | Pullup** |
40 +----------------------+----------------------+
41 | UnusedPin | Pulldown** |
42 +----------------------+----------------------+
43 | GWE_cycle | 6** |
44 +----------------------+----------------------+
45 | GTS_cycle | 5** |
46 +----------------------+----------------------+
47 | LCK_cycle | NoWait** |
48 +----------------------+----------------------+
49 | DONE_cycle | 4** |
50 +----------------------+----------------------+
51 | Persist | No* |
52 +----------------------+----------------------+
53 | DriveDone | No** |
54 +----------------------+----------------------+
55 | DonePipe | Yes |
56 +----------------------+----------------------+
57 | Security | None** |
58 +----------------------+----------------------+
59 | UserID | 0xFFFFFFFF** |
60 +----------------------+----------------------+
61 | ActiveReconfig | No* |
62 +----------------------+----------------------+
63 | Partial | (Not Specified)* |
64 +----------------------+----------------------+
65 | Encrypt | No* |
66 +----------------------+----------------------+
67 | Key0 | pick* |
68 +----------------------+----------------------+
69 | StartCBC | pick* |
70 +----------------------+----------------------+
71 | KeyFile | (Not Specified)* |
72 +----------------------+----------------------+
73 | drive_awake | No** |
74 +----------------------+----------------------+
75 | Reset_on_err | No** |
76 +----------------------+----------------------+
77 | suspend_filter | Yes* |
78 +----------------------+----------------------+
79 | en_sw_gsr | No** |
80 +----------------------+----------------------+
81 | en_suspend | No* |
82 +----------------------+----------------------+
83 | sw_clk | Startupclk** |
84 +----------------------+----------------------+
85 | sw_gwe_cycle | 5** |
86 +----------------------+----------------------+
87 | sw_gts_cycle | 4** |
88 +----------------------+----------------------+
89 | multipin_wakeup | No** |
90 +----------------------+----------------------+
91 | wakeup_mask | 0x00* |
92 +----------------------+----------------------+
93 | ExtMasterCclk_en | No** |
94 +----------------------+----------------------+
95 | ExtMasterCclk_divide | 1* |
96 +----------------------+----------------------+
97 | CrcCoverage | No* |
98 +----------------------+----------------------+
99 | glutmask | Yes* |
100 +----------------------+----------------------+
101 | next_config_addr | 0x00000000* |
102 +----------------------+----------------------+
103 | next_config_new_mode | No* |
104 +----------------------+----------------------+
105 | next_config_boot_mode | 001* |
106 +----------------------+----------------------+
107 | next_config_register_write | Enable* |
108 +----------------------+----------------------+
109 | next_config_reboot | Enable* |
110 +----------------------+----------------------+
111 | golden_config_addr | 0x00000000* |
112 +----------------------+----------------------+
113 | failsafe_user | 0x0000* |
114 +----------------------+----------------------+
115 | TIMER_CFG | 0xFFFF |
116 +----------------------+----------------------+
117 | spi_buswidth | 1** |
118 +----------------------+----------------------+
119 | TimeStamp | Default* |
120 +----------------------+----------------------+
121 | IEEE1532 | No* |
122 +----------------------+----------------------+
123 | Binary | No** |
124 +----------------------+----------------------+
125 * Default setting.
126 ** The specified setting matches the default setting.
127
128 There were 0 CONFIG constraint(s) processed from chn5_mem_spi_joint.pcf.
129
130
131 Running DRC.
132 INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
133 with the CLKFX and CLKFX180 outputs of the DCM comp clk_mang/DCM_SP_inst_int,
134 consult the device Data Sheet.
135 INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
136 with the CLKFX and CLKFX180 outputs of the DCM comp clk_mang/DCM_SP_inst,
137 consult the device Data Sheet.
138 DRC detected 0 errors and 0 warnings.
139 Creating bit map...
140 Saving bit stream in "chn5_mem_spi_joint.bit".
141 Bitstream generation is complete.
1 NO CONTENT: new file 10644
@@ -0,0 +1,52
1 Release 14.7 ngdbuild P.20131013 (nt64)
2 Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
3
4 Command Line: C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\unwrapped\ngdbuild.exe
5 -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p
6 xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
7
8 Reading NGO file
9 "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_s
10 pi_joint/chn5_mem_spi_joint.ngc" ...
11 Gathering constraint information from source properties...
12 Done.
13
14 Annotating constraints to design from ucf file "chn5_mem_spi_joint.ucf" ...
15 Resolving constraint associations...
16 Checking Constraint Associations...
17 INFO:ConstraintSystem:178 - TNM 'clk_main', used in period specification
18 'TS_clk_main', was traced into DCM_SP instance clk_mang/DCM_SP_inst_int. The
19 following new TNM groups and period specifications were generated at the
20 DCM_SP output(s):
21 CLKFX: <TIMESPEC TS_clk_u_proc = PERIOD "clk_u_proc" TS_clk_main / 4 HIGH
22 50%>
23
24 INFO:ConstraintSystem:178 - TNM 'clk_main', used in period specification
25 'TS_clk_main', was traced into DCM_SP instance clk_mang/DCM_SP_inst. The
26 following new TNM groups and period specifications were generated at the
27 DCM_SP output(s):
28 CLKFX: <TIMESPEC TS_clk_mang_c_16MHz = PERIOD "clk_mang_c_16MHz" TS_clk_main
29 / 0.266666667 HIGH 50%>
30
31 Done...
32
33 Checking expanded design ...
34
35 Partition Implementation Status
36 -------------------------------
37
38 No Partitions were found in this design.
39
40 -------------------------------
41
42 NGDBUILD Design Results Summary:
43 Number of errors: 0
44 Number of warnings: 0
45
46 Total memory usage is 174432 kilobytes
47
48 Writing NGD file "chn5_mem_spi_joint.ngd" ...
49 Total REAL time to NGDBUILD completion: 4 sec
50 Total CPU time to NGDBUILD completion: 4 sec
51
52 Writing NGDBUILD log file "chn5_mem_spi_joint.bld"...
@@ -0,0 +1,315
1 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
2 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
3 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
4 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
5 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
6 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
7 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
8 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
9 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
10 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
11 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
12 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
13 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
14 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
15 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
16 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
17 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
18 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
19 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
20 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
21 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
22 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
23 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
24 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
25 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
26 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
27 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
28 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
29 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
30 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
31 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
32 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
33 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
34 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
35 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
36 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
37 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
38 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
39 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
40 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
41 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
42 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
43 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
44 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
45 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
46 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
47 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
48 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
49 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
50 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
51 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
52 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
53 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
54 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
55 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
56 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
57 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
58 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
59 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
60 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
61 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
62 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
63 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
64 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
65 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
66 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
67 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
68 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
69 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
70 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
71 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
72 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
73 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
74 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
75 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
76 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
77 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
78 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
79 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
80 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
81 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
82 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
83 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
84 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
85 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
86 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
87 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
88 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
89 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
90 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
91 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
92 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
93 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
94 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
95 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
96 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
97 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
98 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
99 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
100 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
101 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
102 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
103 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
104 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
105 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
106 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
107 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
108 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
109 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
110 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
111 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
112 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
113 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
114 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
115 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
116 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
117 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
118 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
119 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
120 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
121 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
122 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
123 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
124 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
125 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
126 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
127 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
128 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
129 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
130 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
131 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
132 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
133 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
134 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
135 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
136 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
137 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
138 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
139 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
140 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
141 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
142 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
143 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
144 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
145 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
146 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
147 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
148 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
149 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
150 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
151 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
152 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
153 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
154 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
155 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
156 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
157 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
158 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
159 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
160 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
161 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
162 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
163 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
164 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
165 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
166 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
167 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
168 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
169 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
170 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
171 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
172 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
173 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
174 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
175 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
176 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
177 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
178 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
179 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
180 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
181 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
182 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
183 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
184 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
185 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
186 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
187 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
188 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
189 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
190 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
191 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
192 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
193 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
194 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
195 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
196 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
197 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
198 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
199 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
200 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
201 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
202 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
203 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
204 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
205 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
206 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
207 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
208 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
209 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
210 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
211 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
212 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
213 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
214 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
215 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
216 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
217 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
218 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
219 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
220 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
221 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
222 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
223 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
224 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
225 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
226 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
227 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
228 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
229 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
230 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
231 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
232 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
233 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
234 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
235 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
236 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
237 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
238 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
239 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
240 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
241 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
242 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
243 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
244 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
245 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
246 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
247 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
248 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
249 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
250 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
251 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
252 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
253 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
254 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
255 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
256 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
257 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
258 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
259 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
260 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
261 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
262 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
263 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
264 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
265 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
266 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
267 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
268 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
269 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
270 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
271 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
272 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
273 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
274 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
275 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
276 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
277 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
278 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
279 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
280 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
281 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
282 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
283 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
284 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
285 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
286 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
287 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
288 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
289 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
290 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
291 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
292 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
293 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
294 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
295 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
296 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
297 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
298 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
299 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
300 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
301 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
302 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
303 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
304 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
305 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
306 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
307 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
308 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
309 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
310 xst -intstyle ise -ifn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.xst" -ofn "C:/Users/Francisco/Documents/Francisco_ROJ/ProcessingEngine/Projects/chn5_mem_spi_joint/chn5_mem_spi_joint.syr"
311 ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc chn5_mem_spi_joint.ucf -p xc6slx9-tqg144-3 chn5_mem_spi_joint.ngc chn5_mem_spi_joint.ngd
312 map -intstyle ise -p xc6slx9-tqg144-3 -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off -o chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ngd chn5_mem_spi_joint.pcf
313 par -w -intstyle ise -ol high -mt off chn5_mem_spi_joint_map.ncd chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
314 trce -intstyle ise -v 3 -s 3 -n 3 -fastpaths -xml chn5_mem_spi_joint.twx chn5_mem_spi_joint.ncd -o chn5_mem_spi_joint.twr chn5_mem_spi_joint.pcf -ucf chn5_mem_spi_joint.ucf
315 bitgen -intstyle ise -f chn5_mem_spi_joint.ut chn5_mem_spi_joint.ncd
@@ -0,0 +1,14
1 Release 14.7 Drc P.20131013 (nt64)
2 Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
3
4 Mon May 23 12:39:01 2016
5
6 drc -z chn5_mem_spi_joint.ncd chn5_mem_spi_joint.pcf
7
8 INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
9 with the CLKFX and CLKFX180 outputs of the DCM comp clk_mang/DCM_SP_inst_int,
10 consult the device Data Sheet.
11 INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
12 with the CLKFX and CLKFX180 outputs of the DCM comp clk_mang/DCM_SP_inst,
13 consult the device Data Sheet.
14 DRC detected 0 errors and 0 warnings.
@@ -0,0 +1,201
1 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2 <generated_project xmlns="http://www.xilinx.com/XMLSchema" xmlns:xil_pn="http://www.xilinx.com/XMLSchema">
3
4 <!-- -->
5
6 <!-- For tool use only. Do not edit. -->
7
8 <!-- -->
9
10 <!-- ProjectNavigator created generated project file. -->
11
12 <!-- For use in tracking generated file and other information -->
13
14 <!-- allowing preservation of process status. -->
15
16 <!-- -->
17
18 <!-- Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved. -->
19
20 <version xmlns="http://www.xilinx.com/XMLSchema">11.1</version>
21
22 <sourceproject xmlns="http://www.xilinx.com/XMLSchema" xil_pn:fileType="FILE_XISE" xil_pn:name="chn5_mem_spi_joint.xise"/>
23
24 <files xmlns="http://www.xilinx.com/XMLSchema">
25 <file xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="DCM_fwd_int.prj"/>
26 <file xil_pn:fileType="FILE_XST_STX" xil_pn:name="DCM_fwd_int.stx"/>
27 <file xil_pn:fileType="FILE_XST" xil_pn:name="DCM_fwd_int.xst"/>
28 <file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="_ngo"/>
29 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/bitgen.xmsgs"/>
30 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/map.xmsgs"/>
31 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
32 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/par.xmsgs"/>
33 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/trce.xmsgs"/>
34 <file xil_pn:fileType="FILE_XMSGS" xil_pn:name="_xmsgs/xst.xmsgs"/>
35 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_REPORT" xil_pn:name="chn5_mem_spi_joint.bgn" xil_pn:subbranch="FPGAConfiguration"/>
36 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BIT" xil_pn:name="chn5_mem_spi_joint.bit" xil_pn:subbranch="FPGAConfiguration"/>
37 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGDBUILD_LOG" xil_pn:name="chn5_mem_spi_joint.bld"/>
38 <file xil_pn:fileType="FILE_CMD_LOG" xil_pn:name="chn5_mem_spi_joint.cmd_log"/>
39 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_DRC" xil_pn:name="chn5_mem_spi_joint.drc" xil_pn:subbranch="FPGAConfiguration"/>
40 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_LSO" xil_pn:name="chn5_mem_spi_joint.lso"/>
41 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NCD" xil_pn:name="chn5_mem_spi_joint.ncd" xil_pn:subbranch="Par"/>
42 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGC" xil_pn:name="chn5_mem_spi_joint.ngc"/>
43 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGD" xil_pn:name="chn5_mem_spi_joint.ngd"/>
44 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGR" xil_pn:name="chn5_mem_spi_joint.ngr"/>
45 <file xil_pn:fileType="FILE_PAD_MISC" xil_pn:name="chn5_mem_spi_joint.pad"/>
46 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAR_REPORT" xil_pn:name="chn5_mem_spi_joint.par" xil_pn:subbranch="Par"/>
47 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PCF" xil_pn:name="chn5_mem_spi_joint.pcf" xil_pn:subbranch="Map"/>
48 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_PROJECT" xil_pn:name="chn5_mem_spi_joint.prj"/>
49 <file xil_pn:fileType="FILE_TRCE_MISC" xil_pn:name="chn5_mem_spi_joint.ptwx"/>
50 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_STX" xil_pn:name="chn5_mem_spi_joint.stx"/>
51 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST_REPORT" xil_pn:name="chn5_mem_spi_joint.syr"/>
52 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_TIMING_TXT_REPORT" xil_pn:name="chn5_mem_spi_joint.twr" xil_pn:subbranch="Par"/>
53 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_TIMING_XML_REPORT" xil_pn:name="chn5_mem_spi_joint.twx" xil_pn:subbranch="Par"/>
54 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_UNROUTES" xil_pn:name="chn5_mem_spi_joint.unroutes" xil_pn:subbranch="Par"/>
55 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_BITGEN_REPORT" xil_pn:name="chn5_mem_spi_joint.ut" xil_pn:subbranch="FPGAConfiguration"/>
56 <file xil_pn:fileType="FILE_XPI" xil_pn:name="chn5_mem_spi_joint.xpi"/>
57 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_XST" xil_pn:name="chn5_mem_spi_joint.xst"/>
58 <file xil_pn:fileType="FILE_HTML" xil_pn:name="chn5_mem_spi_joint_envsettings.html"/>
59 <file xil_pn:fileType="FILE_NCD" xil_pn:name="chn5_mem_spi_joint_guide.ncd" xil_pn:origination="imported"/>
60 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_MAP_REPORT" xil_pn:name="chn5_mem_spi_joint_map.map" xil_pn:subbranch="Map"/>
61 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_MAP_REPORT" xil_pn:name="chn5_mem_spi_joint_map.mrp" xil_pn:subbranch="Map"/>
62 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NCD" xil_pn:name="chn5_mem_spi_joint_map.ncd" xil_pn:subbranch="Map"/>
63 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_NGM" xil_pn:name="chn5_mem_spi_joint_map.ngm" xil_pn:subbranch="Map"/>
64 <file xil_pn:fileType="FILE_XRPT" xil_pn:name="chn5_mem_spi_joint_map.xrpt"/>
65 <file xil_pn:fileType="FILE_XRPT" xil_pn:name="chn5_mem_spi_joint_ngdbuild.xrpt"/>
66 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_EXCEL_REPORT" xil_pn:name="chn5_mem_spi_joint_pad.csv" xil_pn:subbranch="Par"/>
67 <file xil_pn:branch="Implementation" xil_pn:fileType="FILE_PAD_TXT_REPORT" xil_pn:name="chn5_mem_spi_joint_pad.txt" xil_pn:subbranch="Par"/>
68 <file xil_pn:fileType="FILE_XRPT" xil_pn:name="chn5_mem_spi_joint_par.xrpt"/>
69 <file xil_pn:fileType="FILE_HTML" xil_pn:name="chn5_mem_spi_joint_summary.html"/>
70 <file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="chn5_mem_spi_joint_summary.xml"/>
71 <file xil_pn:fileType="FILE_WEBTALK" xil_pn:name="chn5_mem_spi_joint_usage.xml"/>
72 <file xil_pn:fileType="FILE_XRPT" xil_pn:name="chn5_mem_spi_joint_xst.xrpt"/>
73 <file xil_pn:fileType="FILE_HTML" xil_pn:name="usage_statistics_webtalk.html"/>
74 <file xil_pn:fileType="FILE_LOG" xil_pn:name="webtalk.log"/>
75 <file xil_pn:fileType="FILE_FITTER_REPORT" xil_pn:name="webtalk_pn.xml"/>
76 <file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="xlnx_auto_0_xdb"/>
77 <file xil_pn:fileType="FILE_DIRECTORY" xil_pn:name="xst"/>
78 </files>
79
80 <transforms xmlns="http://www.xilinx.com/XMLSchema">
81 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_copyInitialToXSTAbstractSynthesis" xil_pn:start_ts="1463687880">
82 <status xil_pn:value="SuccessfullyRun"/>
83 <status xil_pn:value="ReadyToRun"/>
84 </transform>
85 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="8155895965503948603" xil_pn:start_ts="1463687880">
86 <status xil_pn:value="SuccessfullyRun"/>
87 <status xil_pn:value="ReadyToRun"/>
88 </transform>
89 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_regenerateCores" xil_pn:prop_ck="-7290404255456149813" xil_pn:start_ts="1463687880">
90 <status xil_pn:value="SuccessfullyRun"/>
91 <status xil_pn:value="ReadyToRun"/>
92 </transform>
93 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_SubProjectAbstractToPreProxy" xil_pn:start_ts="1463687880">
94 <status xil_pn:value="SuccessfullyRun"/>
95 <status xil_pn:value="ReadyToRun"/>
96 </transform>
97 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_xawsTohdl" xil_pn:prop_ck="-6416231055069081795" xil_pn:start_ts="1463687880">
98 <status xil_pn:value="SuccessfullyRun"/>
99 <status xil_pn:value="ReadyToRun"/>
100 </transform>
101 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_SubProjectPreToStructuralProxy" xil_pn:prop_ck="250970745955965653" xil_pn:start_ts="1463687880">
102 <status xil_pn:value="SuccessfullyRun"/>
103 <status xil_pn:value="ReadyToRun"/>
104 </transform>
105 <transform xil_pn:end_ts="1463687880" xil_pn:name="TRAN_platgen" xil_pn:prop_ck="7433658368434266261" xil_pn:start_ts="1463687880">
106 <status xil_pn:value="SuccessfullyRun"/>
107 <status xil_pn:value="ReadyToRun"/>
108 </transform>
109 <transform xil_pn:end_ts="1464025068" xil_pn:in_ck="5522722112263450563" xil_pn:name="TRANEXT_xstsynthesize_spartan6" xil_pn:prop_ck="-6219456823016501276" xil_pn:start_ts="1464025053">
110 <status xil_pn:value="SuccessfullyRun"/>
111 <status xil_pn:value="ReadyToRun"/>
112 <status xil_pn:value="OutOfDateForInputs"/>
113 <status xil_pn:value="OutOfDateForOutputs"/>
114 <status xil_pn:value="InputChanged"/>
115 <status xil_pn:value="OutputChanged"/>
116 <outfile xil_pn:name="_xmsgs/xst.xmsgs"/>
117 <outfile xil_pn:name="chn5_mem_spi_joint.lso"/>
118 <outfile xil_pn:name="chn5_mem_spi_joint.ngc"/>
119 <outfile xil_pn:name="chn5_mem_spi_joint.ngr"/>
120 <outfile xil_pn:name="chn5_mem_spi_joint.prj"/>
121 <outfile xil_pn:name="chn5_mem_spi_joint.stx"/>
122 <outfile xil_pn:name="chn5_mem_spi_joint.syr"/>
123 <outfile xil_pn:name="chn5_mem_spi_joint.xst"/>
124 <outfile xil_pn:name="chn5_mem_spi_joint_xst.xrpt"/>
125 <outfile xil_pn:name="webtalk_pn.xml"/>
126 <outfile xil_pn:name="xst"/>
127 </transform>
128 <transform xil_pn:end_ts="1464015766" xil_pn:in_ck="-7487914070404904058" xil_pn:name="TRAN_compileBCD2" xil_pn:prop_ck="5602151997339985106" xil_pn:start_ts="1464015766">
129 <status xil_pn:value="SuccessfullyRun"/>
130 <status xil_pn:value="ReadyToRun"/>
131 </transform>
132 <transform xil_pn:end_ts="1464025075" xil_pn:in_ck="5201827462493350342" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="4275896679710679670" xil_pn:start_ts="1464025068">
133 <status xil_pn:value="SuccessfullyRun"/>
134 <status xil_pn:value="ReadyToRun"/>
135 <status xil_pn:value="OutOfDateForPredecessor"/>
136 <outfile xil_pn:name="_ngo"/>
137 <outfile xil_pn:name="_xmsgs/ngdbuild.xmsgs"/>
138 <outfile xil_pn:name="chn5_mem_spi_joint.bld"/>
139 <outfile xil_pn:name="chn5_mem_spi_joint.ngd"/>
140 <outfile xil_pn:name="chn5_mem_spi_joint_ngdbuild.xrpt"/>
141 </transform>
142 <transform xil_pn:end_ts="1464025099" xil_pn:in_ck="-2026532210470860665" xil_pn:name="TRANEXT_map_spartan6" xil_pn:prop_ck="6093601622908603872" xil_pn:start_ts="1464025075">
143 <status xil_pn:value="SuccessfullyRun"/>
144 <status xil_pn:value="ReadyToRun"/>
145 <status xil_pn:value="OutOfDateForPredecessor"/>
146 <outfile xil_pn:name="_xmsgs/map.xmsgs"/>
147 <outfile xil_pn:name="chn5_mem_spi_joint.pcf"/>
148 <outfile xil_pn:name="chn5_mem_spi_joint_map.map"/>
149 <outfile xil_pn:name="chn5_mem_spi_joint_map.mrp"/>
150 <outfile xil_pn:name="chn5_mem_spi_joint_map.ncd"/>
151 <outfile xil_pn:name="chn5_mem_spi_joint_map.ngm"/>
152 <outfile xil_pn:name="chn5_mem_spi_joint_map.xrpt"/>
153 <outfile xil_pn:name="chn5_mem_spi_joint_summary.xml"/>
154 <outfile xil_pn:name="chn5_mem_spi_joint_usage.xml"/>
155 </transform>
156 <transform xil_pn:end_ts="1464025136" xil_pn:in_ck="-4754640365542085408" xil_pn:name="TRANEXT_par_spartan6" xil_pn:prop_ck="93661965788626211" xil_pn:start_ts="1464025099">
157 <status xil_pn:value="SuccessfullyRun"/>
158 <status xil_pn:value="ReadyToRun"/>
159 <status xil_pn:value="OutOfDateForPredecessor"/>
160 <outfile xil_pn:name="_xmsgs/par.xmsgs"/>
161 <outfile xil_pn:name="chn5_mem_spi_joint.ncd"/>
162 <outfile xil_pn:name="chn5_mem_spi_joint.pad"/>
163 <outfile xil_pn:name="chn5_mem_spi_joint.par"/>
164 <outfile xil_pn:name="chn5_mem_spi_joint.ptwx"/>
165 <outfile xil_pn:name="chn5_mem_spi_joint.unroutes"/>
166 <outfile xil_pn:name="chn5_mem_spi_joint.xpi"/>
167 <outfile xil_pn:name="chn5_mem_spi_joint_pad.csv"/>
168 <outfile xil_pn:name="chn5_mem_spi_joint_pad.txt"/>
169 <outfile xil_pn:name="chn5_mem_spi_joint_par.xrpt"/>
170 </transform>
171 <transform xil_pn:end_ts="1464025155" xil_pn:in_ck="-7487914070404911683" xil_pn:name="TRANEXT_bitFile_spartan6" xil_pn:prop_ck="5341574683187206424" xil_pn:start_ts="1464025136">
172 <status xil_pn:value="SuccessfullyRun"/>
173 <status xil_pn:value="ReadyToRun"/>
174 <status xil_pn:value="OutOfDateForPredecessor"/>
175 <outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/>
176 <outfile xil_pn:name="chn5_mem_spi_joint.bgn"/>
177 <outfile xil_pn:name="chn5_mem_spi_joint.bit"/>
178 <outfile xil_pn:name="chn5_mem_spi_joint.drc"/>
179 <outfile xil_pn:name="chn5_mem_spi_joint.ut"/>
180 <outfile xil_pn:name="usage_statistics_webtalk.html"/>
181 <outfile xil_pn:name="webtalk.log"/>
182 <outfile xil_pn:name="webtalk_pn.xml"/>
183 </transform>
184 <transform xil_pn:end_ts="1464025136" xil_pn:in_ck="-7113747212091691773" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416185" xil_pn:start_ts="1464025129">
185 <status xil_pn:value="SuccessfullyRun"/>
186 <status xil_pn:value="ReadyToRun"/>
187 <status xil_pn:value="OutOfDateForPredecessor"/>
188 <outfile xil_pn:name="_xmsgs/trce.xmsgs"/>
189 <outfile xil_pn:name="chn5_mem_spi_joint.twr"/>
190 <outfile xil_pn:name="chn5_mem_spi_joint.twx"/>
191 </transform>
192 <transform xil_pn:end_ts="1464015678" xil_pn:in_ck="-2026532210470860665" xil_pn:name="TRAN_createTimingConstraints" xil_pn:start_ts="1464015678">
193 <status xil_pn:value="SuccessfullyRun"/>
194 <status xil_pn:value="ReadyToRun"/>
195 <status xil_pn:value="OutOfDateForInputs"/>
196 <status xil_pn:value="OutOfDateForPredecessor"/>
197 <status xil_pn:value="InputChanged"/>
198 </transform>
199 </transforms>
200
201 </generated_project>
@@ -0,0 +1,1
1 work
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 10644
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now