TI Autonomous Driving Algorithms (TIADALG) Library API Guide
C6xSimulator.h
Go to the documentation of this file.
1 /****************************************************************************/
2 /* C6xSimulator.h */
3 /* Copyright (c) 1997-2005 Texas Instruments Incorporated */
4 /****************************************************************************/
5 
6 /*
7  * Header file which defines the prototypes for the intrinsics.
8  *
9  */
10 
11 /****************************************************************************/
12 /* compiler directive to ensure only one copy of C6xSimulator.h gets */
13 /* included */
14 #ifndef C6XSIMULATOR_H
15 #define C6XSIMULATOR_H
16 
17 /****************************************************************************/
18 /* the includes */
20 
21 /* This part of the header file is relevant only in host environment */
22 #ifndef _TMS320C6X
23 /* check to ensure that the target DSP is defined */
24 #if !defined(TMS320C62X) \
25  && !defined(TMS320C64X) \
26  && !defined(TMS320C64PX) \
27  && !defined(TMS320C67X) \
28  && !defined(TMS320C66X)
29 #error "TMS320C62X, TMS320C64X, TMS320C64PX, TMS320C67X, or TMS320C66X (i.e. the target DSP) must be defined."
30 #endif
31 
32 
33 /****************************************************************************/
34 /* the typedefs */
35 
36 #ifdef TMS320C64X
37 #define TMS320C62X
38 #endif // TMS320C64X
39 
40 #ifdef TMS320C64PX
41 #define TMS320C62X
42 #define TMS320C64X
43 #endif // TMS320C64PX
44 
45 #ifdef TMS320C67X
46 #define TMS320C62X
47 #endif // TMS320C67X
48 
49 #ifdef TMS320C66X
50 #define TMS320C62X
51 #define TMS320C64X
52 #define TMS320C64PX
53 #define TMS320C67X
54 #endif // TMS320C66X
55 
56 
57 /* memory intrinsics */
58 #ifdef TMS320C62X
59 #define _amem2(ptr) (*((uint16 *) (ptr)))
60 #define _amem2_const(ptr) (*((const uint16 *) (ptr)))
61 #define _amem4(ptr) (*((uint32 *) (ptr)))
62 #define _amem4_const(ptr) (*((const uint32 *) (ptr)))
63 /*
64 Change _amemd8 and _amemd8_const from these macros ...
65 #define _amemd8(ptr) (*((int64_d *) (ptr)))
66 #define _amemd8_const(ptr) (*((const int64_d *) (ptr)))
67 to macros which invoke helper functions, so the helper functions can emit
68 messages about how these intrinsics are deprecated.
69 */
70 #define _amemd8(ptr) (* _amemd8_helper((void *) ptr))
71 int64_d *_amemd8_helper(void *);
72 #define _amemd8_const(ptr) (* _amemd8_const_helper((void *) ptr))
73 const int64_d *_amemd8_const_helper(void *);
74 #endif // TMS320C62X
75 
76 #ifdef TMS320C64X
77 #define _amem8(ptr) (*((int64_ll *) (ptr)))
78 #define _amem8_const(ptr) (*((const int64_ll *) (ptr)))
79 #define _amem8_f2(ptr) (*((__float2_t *) (ptr)))
80 #define _amem8_f2_const(ptr) (*((const __float2_t *) (ptr)))
81 
82 #define _mem2(ptr) (*((uint16 *) (ptr)))
83 #define _mem2_const(ptr) (*((const uint16 *) (ptr)))
84 #define _mem4(ptr) (*((uint32 *) (ptr)))
85 #define _mem4_const(ptr) (*((const uint32 *) (ptr)))
86 #define _mem8(ptr) (*((int64_ll *) (ptr)))
87 #define _mem8_const(ptr) (*((const int64_ll *) (ptr)))
88 #define _mem8_f2(ptr) (*((__float2_t *) (ptr)))
89 #define _mem8_f2_const(ptr) (*((const __float2_t *) (ptr)))
90 /*
91 This change is just like the one for _amemd8 etc. above
92 #define _memd8(ptr) (*((int64_d *) (ptr)))
93 #define _memd8_const(ptr) (*((const int64_d *) (ptr)))
94 */
95 #define _memd8(ptr) (* _memd8_helper((void *) ptr))
96 int64_d *_memd8_helper(void *);
97 #define _memd8_const(ptr) (* _memd8_const_helper((void *) ptr))
98 const int64_d *_memd8_const_helper(void *);
99 #endif // TMS320C64X
100 
101 /* pseudo-operations */
102 #ifdef TMS320C64X
103 #define _cmplt2(a,b) _cmpgt2(b,a)
104 #define _cmpltu4(a,b) _cmpgtu4(b,a)
105 #define _dotpnrus2(a,b) _dotpnrsu2(b,a)
106 #define _dotprus2(a,b) _dotprsu2(b,a)
107 #define _dotpus4(a,b) _dotpsu4(b,a)
108 #define _mpyih(a,b) _mpyhi(b,a)
109 #define _mpyihr(a,b) _mpyhir(b,a)
110 #define _mpyil(a,b) _mpyli(b,a)
111 #define _mpyilr(a,b) _mpylir(b,a)
112 #define _mpyus4(a,b) _mpysu4(b,a)
113 #define _saddsu2(a,b) _saddus2(b,a)
114 #define _swap2(a) _packlh2(a,a)
115 #endif // TMS320C64X
116 
117 
118 
119 /****************************************************************************/
120 /* the typedefs */
121 
122 
123 /****************************************************************************/
124 /* the globals */
125 
126 
127 /****************************************************************************/
128 /* function prototypes for the TMS320C6X DSP */
129 
130 #ifdef TMS320C62X
131 
132 int32 _abs(int32 a);
133 int32 _add2(int32 a,int32 b);
134 uint32 _clr(uint32 a,uint32 b,uint32 c);
135 uint32 _clrr(uint32 a,int32 b);
136 int40 _dtol(uint64_d a);
137 int40 _f2tol(__float2_t a);
138 int32 _ext(int32 a,uint32 b,uint32 c);
139 int32 _extr(int32 a,int32 b);
140 uint32 _extu(uint32 a,uint32 b,uint32 c);
141 uint32 _extur(uint32 a,int32 b);
142 uint32 _ftoi(float32 a);
143 uint32 _hi(uint64_d a);
144 uint32 _hill(int64_ll a);
145 uint64_d _itod(uint32 a,uint32 b);
146 double64 _ftod(float32 a, float32 b); // Added in v7.2.x compiler
147 __float2_t _ftof2(float32 a, float32 b); // Added in v7.2.x compiler
148 float32 _itof(uint32 a);
149 /* Fix for BZ 1679. Return type must be *signed* 64-bit long to match */
150 /* c6x.h */
151 int64_ll _itoll(uint32 a,uint32 b);
152 int40 _labs(int40 a);
153 uint32 _lmbd(uint32 a,uint32 b);
154 uint32 _lnorm(int40 a);
155 uint32 _lo(uint64_d a);
156 int40 _lsadd(int32 a,int40 b);
157 int40 _lssub(int32 a,int40 b);
158 uint32 _loll(int64_ll a);
159 uint64_d _ltod(int40 a);
160 __float2_t _ltof2(int40 a);
161 int32 _mpy(int32 a,int32 b);
162 int32 _mpyh(int32 a,int32 b);
163 int32 _mpyhsu(int32 a,uint32 b);
164 uint32 _mpyhu(uint32 a,uint32 b);
165 int32 _mpyhus(uint32 a,int32 b);
166 int32 _mpyhl(int32 a,int32 b);
167 uint32 _mpyhlu(uint32 a,uint32 b);
168 int32 _mpyhslu(int32 a,uint32 b);
169 int32 _mpyhuls(uint32 a,int32 b);
170 int32 _mpylh(int32 a,int32 b);
171 uint32 _mpylhu(uint32 a,uint32 b);
172 int32 _mpylshu(int32 a,uint32 b);
173 int32 _mpyluhs(uint32 a,int32 b);
174 int32 _mpysu(int32 a,uint32 b);
175 uint32 _mpyu(uint32 a,uint32 b);
176 int32 _mpyus(uint32 a,int32 b);
177 uint32 _norm(int32 a);
178 int32 _sadd(int32 a,int32 b);
179 int32 _sat(int40 a);
180 uint32 _set(uint32 a,uint32 b,uint32 c);
181 uint32 _setr(uint32 a,int32 b);
182 int32 _smpy(int32 a,int32 b);
183 int32 _smpyh(int32 a,int32 b);
184 int32 _smpyhl(int32 a,int32 b);
185 int32 _smpylh(int32 a,int32 b);
186 int32 _sshl(int32 a,uint32 b);
187 int32 _ssub(int32 a,int32 b);
188 int32 _sub2(int32 a,int32 b);
189 uint32 _subc(uint32 a,uint32 b);
190 
191 #endif // TMS320C62X
192 
193 
194 /****************************************************************************/
195 /* additional function prototypes for the TMS320C64X DSP */
196 
197 #ifdef TMS320C64X
198 
199 int32 _abs2(int32 a);
200 int32 _add4(int32 a,int32 b);
201 int32 _avg2(int32 a,int32 b);
202 uint32 _avgu4(uint32 a,uint32 b);
203 uint32 _bitc4(uint32 a);
204 uint32 _bitr(uint32 a);
205 int32 _cmpeq2(int32 a,int32 b);
206 int32 _cmpeq4(int32 a,int32 b);
207 int32 _cmpgt2(int32 a,int32 b);
208 uint32 _cmpgtu4(uint32 a,uint32 b);
209 uint32 _deal(uint32 a);
210 int32 _dotp2(int32 a,int32 b);
211 int32 _dotpn2(int32 a,int32 b);
212 int32 _dotpnrsu2(int32 a,uint32 b);
213 int32 _dotprsu2(int32 a,uint32 b);
214 int32 _dotpsu4(int32 a,uint32 b);
215 uint32 _dotpu4(uint32 a,uint32 b);
216 int32 _gmpy4(int32 a,int32 b);
217 int40 _ldotp2(int32 a,int32 b);
218 int32 _max2(int32 a,int32 b);
219 uint32 _maxu4(uint32 a,uint32 b);
220 int32 _min2(int32 a,int32 b);
221 uint32 _minu4(uint32 a,uint32 b);
222 uint64_d _mpy2(int32 a,int32 b);
223 int64_ll _mpy2ll(int32 a,int32 b);
224 uint64_d _mpyhi(int32 a,int32 b);
225 int64_ll _mpyhill(int32 a,int32 b);
226 int32 _mpyhir(int32 a,int32 b);
227 uint64_d _mpyli(int32 a,int32 b);
228 int64_ll _mpylill(int32 a,int32 b);
229 int32 _mpylir(int32 a,int32 b);
230 uint64_d _mpysu4(int32 a,uint32 b);
231 int64_ll _mpysu4ll(int32 a,uint32 b);
232 uint64_d _mpyu4(uint32 a,uint32 b);
233 int64_ll _mpyu4ll(uint32 a,uint32 b);
234 int32 _mvd(int32 a);
235 uint32 _pack2(uint32 a,uint32 b);
236 uint32 _packh2(uint32 a,uint32 b);
237 uint32 _packh4(uint32 a,uint32 b);
238 uint32 _packhl2(uint32 a,uint32 b);
239 uint32 _packl4(uint32 a,uint32 b);
240 uint32 _packlh2(uint32 a,uint32 b);
241 
242 /* MSVC defines its own _rotl operation. This re-definition effectively */
243 /* disables that rotl. That's OK with the vast majority of MSVC users. */
244 /* Note the type of the second argument is signed int. That matches how */
245 /* MSVC prototypes _rotl in stdlib.h. That change silences a useless */
246 /* MSVC warning. */
247 #ifdef _MSC_VER
248 #define _rotl _ti_rotl
249 uint32 _rotl(uint32 a, uint32 b);
250 #else
251 uint32 _rotl(uint32 a, uint32 b);
252 #endif
253 
254 int32 _sadd2(int32 a,int32 b);
255 uint32 _saddu4(uint32 a,uint32 b);
256 int32 _saddus2(uint32 a,int32 b);
257 uint32 _shfl(uint32 a);
258 uint32 _shlmb(uint32 a,uint32 b);
259 int32 _shr2(int32 a,uint32 b);
260 uint32 _shrmb(uint32 a,uint32 b);
261 uint32 _shru2(uint32 a,uint32 b);
262 uint64_d _smpy2(int32 a,int32 b);
263 int64_ll _smpy2ll(int32 a,int32 b);
264 int32 _spack2(int32 a,int32 b);
265 uint32 _spacku4(int32 a,int32 b);
266 int32 _sshvl(int32 a,int32 b);
267 int32 _sshvr(int32 a,int32 b);
268 int32 _sub4(int32 a,int32 b);
269 int32 _subabs4(int32 a,int32 b);
270 uint32 _swap4(uint32 a);
271 uint32 _unpkhu4(uint32 a);
272 uint32 _unpklu4(uint32 a);
273 uint32 _xpnd2(uint32 a);
274 uint32 _xpnd4(uint32 a);
275 
276 #endif // TMS320C64X
277 
278 
279 /****************************************************************************/
280 /* additional function prototypes for the TMS320C64+X DSP */
281 
282 #ifdef TMS320C64PX
283 
284 int64_ll _addsub(int32 a,int32 b);
285 int64_ll _addsub2(uint32 a,uint32 b);
286 int64_ll _cmpy(uint32 a,uint32 b);
287 uint32 _cmpyr(uint32 a,uint32 b);
288 uint32 _cmpyr1(uint32 a,uint32 b);
289 int64_ll _ddotp4(uint32 a,uint32 b);
290 int64_ll _ddotph2(int64_ll a,uint32 b);
291 uint32 _ddotph2r(int64_ll a,uint32 b);
292 int64_ll _ddotpl2(int64_ll a,uint32 b);
293 uint32 _ddotpl2r(int64_ll a,uint32 b);
294 int64_ll _dmv(uint32 a,uint32 b);
295 double64 _fdmv(float32 a, float32 b);
296 __float2_t _fdmv_f2(float32 a, float32 b);
297 int64_ll _dpack2(uint32 a,uint32 b);
298 int64_ll _dpackx2(uint32 a,uint32 b);
299 uint32 _gmpy(uint32 a,uint32 b);
300 int64_ll _mpy2ir(uint32 a,int32 b);
301 int32 _mpy32(int32 a,int32 b);
302 int64_ll _mpy32ll(int32 a,int32 b);
303 int64_ll _mpy32su(int32 a,uint32 b);
304 int64_ll _mpy32u(uint32 a,uint32 b);
305 int64_ll _mpy32us(uint32 a,int32 b);
306 uint32 _rpack2(int32 a,int32 b);
307 int64_ll _saddsub(int32 a,int32 b);
308 int64_ll _saddsub2(uint32 a,uint32 b);
309 int64_ll _shfl3(uint32 a,uint32 b);
310 int32 _smpy32(int32 a,int32 b);
311 int32 _ssub2(int32 a,int32 b);
312 uint32 _xormpy(uint32 a,uint32 b);
313 
314 #endif // TMS320C64PX
315 
316 
317 /****************************************************************************/
318 /* function prototypes for the TMS320C67X DSP */
319 
320 #ifdef TMS320C67X
321 double64 _fabs(double64 a);
322 float32 _fabsf(float32 a);
323 #endif // TMS320C67X
324 
325 #if defined(TMS320C66X) || defined(TMS320C67X)
326 #include "c66_data_sim.h"
327 #include "c66_conversion_macros.h"
328 #include "c66_ag_intrins.h"
329 #endif
330 
331 #ifdef TMS320C66X
332 __float2_t _complex_mpysp(__float2_t a, __float2_t b);
333 __float2_t _complex_conjugate_mpysp(__float2_t a, __float2_t b);
334 double64 _fdmvd(float32 a, float32 b);
335 __float2_t _fdmvd_f2(float32 a, float32 b);
336 #endif
337 
338 #else // Using TI C6000 Compiler
339 
340 #ifndef __FLOAT2_DEFINES__
341 #define __FLOAT2_DEFINES__
342 
343 typedef double __float2_t;
344 
345 #define _lltof2 _lltod
346 #define _f2toll _dtoll
347 #define _hif2_128 _hid128
348 #define _lof2_128 _lod128
349 #define _ftof2 _ftod
350 #define _hif2 _hif
351 #define _lof2 _lof
352 #define _fdmv_f2 _fdmv
353 #define _fdmvd_f2 _fdmvd
354 #define _f2to128 _dto128
355 #define _f2tol _dtol
356 #define _ltof2 _ltod
357 
358 #define _amem8_f2 _amemd8
359 #define _amem8_f2_const _amemd8_const
360 #define _mem8_f2 _memd8
361 #define _mem8_f2_const _memd8_const
362 
363 #endif // #ifndef __FLOAT2_DEFINES__
364 
365 #endif // #ifndef _TMS320C6X
366 
367 #endif // C6XSIMULATOR_H
368 
369 /*
370  * Automated Revision Information
371  * Changed: $Date: 2011-02-24 14:19:54 -0600 (Thu, 24 Feb 2011) $
372  * Revision: $Revision: 10006 $
373  */
374 
375 /*
376 
377 C6000 Host Intrinsics Software License Agreement
378 
379 
380 IMPORTANT - PLEASE READ THE FOLLOWING LICENSE AGREEMENT CAREFULLY.
381 THIS IS A LEGALLY BINDING AGREEMENT. AFTER YOU READ THIS LICENSE
382 AGREEMENT, YOU WILL BE ASKED WHETHER YOU ACCEPT AND AGREE TO THE
383 TERMS OF THIS LICENSE AGREEMENT. DO NOT CLICK "I HAVE READ AND AGREE"
384 UNLESS: (1) YOU ARE AUTHORIZED TO ACCEPT AND AGREE TO THE TERMS OF THIS
385 LICENSE AGREEMENT ON BEHALF OF YOURSELF AND YOUR COMPANY; AND (2) YOU
386 INTEND TO ENTER INTO AND TO BE BOUND BY THE TERMS OF THIS LEGALLY
387 BINDING AGREEMENT ON BEHALF OF YOURSELF AND YOUR COMPANY.
388 
389 
390 Important - Read carefully: This C6000 Host Intrinsics Software License
391 Agreement ("Agreement") is a legal agreement between you (either an
392 individual or entity) and Texas Instruments Incorporated ("TI"). The
393 "Licensed Materials" subject to this Agreement include the software
394 programs that TI has granted you access to download with this Agreement
395 and any "on-line" or electronic documentation associated with these
396 programs, or any portion thereof, as well as any updates or upgrades to such
397 software programs and documentation, if any, or any portion thereof,
398 provided to you in TI's sole discretion. By installing, copying or otherwise
399 using the Licensed Materials you agree to abide by the following provisions.
400 This Agreement is displayed for you to read prior to using the Licensed
401 Materials. If you choose not to accept or agree with these provisions, do not
402 download or install the Licensed Materials.
403 
404 1. License Grant and Use Restrictions.
405 
406 a. License Grant. Subject to the terms of this Agreement, TI hereby
407 grants to you under all TI intellectual property rights embodied in the
408 Licensed Materials a limited, non-exclusive, non-transferable, non-
409 assignable, fully paid-up, royalty-free, non-sublicensable license only to
410 (i) use the Licensed Materials solely for the purposes of evaluating,
411 testing, debugging and optimizing applications ("Target Applications")
412 that execute solely and exclusively on processing devices manufactured
413 by or for TI ("TI Devices"), and (ii) make a reasonable number of copies
414 necessary to exercise the right granted to you in Section 1(a)(i) above.
415 Use of any software applications optimized or developed using the
416 Licensed Materials on processing devices manufactured by or for an
417 entity other than TI is a material breach of this Agreement. It is also a
418 material breach of this license to use the Licensed Materials to assist in
419 the design, development or verification of a device that is instruction set
420 compatible with, or functionally equivalent to, a TI processing device.
421 
422 b. Contractors and Suppliers. The licenses granted to you hereunder
423 shall include your on-site and off-site suppliers and independent
424 contractors, while such suppliers and independent contractors are
425 performing work for or providing services to you, provided that such
426 suppliers and independent contractors have executed work-for-hire
427 agreements with you containing terms and conditions not inconsistent
428 with the terms and conditions set forth in this Agreement, and provided
429 further that you agree you are responsible for the breach of this
430 Agreement by any of your suppliers or contractors to the same extent
431 that you would be if you breached the Agreement yourself.
432 
433 c. No Distribution License. NOTWITHSTANDING ANYTHING TO THE
434 CONTRARY, THIS AGREEMENT DOES NOT CONVEY ANY
435 LICENSE TO DISTRIBUTE THE LICENSED MATERIALS TO ANY
436 THIRD PARTY. YOU ARE REQUIRED TO EXECUTE A SEPARATE
437 LICENSE AGREEMENT WITH TI BEFORE DISTRIBUTING THE
438 LICENSED MATERIALS OR ANY PRODUCTS THAT CONTAIN THE
439 LICENSED MATERIALS, OR ANY DERIVATIVE THEREOF.
440 
441  d. Limited License to TI and Covenant not to Sue. Continuing for the
442 term of this Agreement, you hereby grant to TI under any of your
443 patents embodied in the Licensed Materials a non-transferable, non-
444 exclusive, non-assignable, worldwide, fully paid-up, royalty-free license
445 to make, use, sell, offer to sell, import, export and otherwise distribute
446 such Licensed Materials. You covenant not to sue or otherwise assert
447 Derived Patents against TI and TI's affiliates and their licensees of the
448 Licensed Materials. In the event you assign a Derived Patent, you shall
449 require as a condition of any such assignment that the assignee agree
450 to be bound by the provisions in this Section 1(d) with respect to such
451 Derived Patent. Any attempted assignment or transfer in violation of
452 this Section 1(d) shall be null and void. For purposes of this Agreement,
453 "Derived Patents" means any of your patents issuing from a patent
454 application that discloses and claims an invention conceived of by you
455 after delivery of the Licensed Materials, and derived by you from your
456 access to the Licensed Materials.
457 
458  e. No Other License. Notwithstanding anything to the contrary, nothing
459 in this Agreement shall be construed as a license to any intellectual
460 property rights of TI other than those rights embodied in the Licensed
461 Materials provided to you by TI. EXCEPT AS PROVIDED HEREIN, NO
462 OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR
463 OTHERWISE, TO ANY OTHER TI INTELLECTUAL PROPERTY
464 RIGHTS IS GRANTED HEREIN.
465 
466  f. Restrictions.
467 
468 i. You shall not disclose or distribute the source code versions of
469 the Licensed Materials, or any derivative thereof, to any person
470 other than your employees and contractors whose job
471 performance requires access.
472 
473 ii. Use of any software application optimized or developed using
474 the Licensed Materials on processing devices manufactured by
475 or for an entity other than TI is a material breach of this
476 Agreement. Use of the Licensed Materials to assist in the
477 design, development or verification of a device not manufactured
478 by or for TI is a material breach of this Agreement. Use of the
479 Licensed Materials to evaluate, test, debug and optimize
480 applications for use with processing devices other than those
481 manufactured by or for TI is a material breach of this Agreement.
482 
483 iii. Other than as expressly set forth in this Section 1(f)(iii) and in
484 Section 1(a) above, you may not otherwise copy or reproduce
485 the Licensed Materials.
486 
487 iv. You will not sublicense, transfer or assign the Licensed Materials
488 or your rights under this Agreement to any third party.
489 
490 v. You may use the Licensed Materials with Open Source Software
491 (as defined below) or with software developed using Open
492 Source Software (e.g. tools) provided you do not incorporate,
493 combine or distribute the Licensed Materials in a manner that
494 subjects the Licensed Materials, or any derivatives thereof, to
495 any license obligations or any other intellectual property related
496 terms of such Open Source Software. "Open Source Software"
497 means any software licensed under terms requiring that (A) other
498 software ("Proprietary Software") incorporated, combined or
499 distributed with such software or developed using such software:
500 (i) be disclosed or distributed in source code form; or (ii)
501 otherwise be licensed on terms inconsistent with the terms of this
502 Agreement, including but not limited to permitting use of the
503 Proprietary Software on or with devices other than TI Devices, or
504 (B) the owner of Proprietary Software license any of its patents
505 to users of the Open Source Software and/or Proprietary
506 Software incorporated, combined or distributed with such Open
507 Source Software or developed using such Open Source
508 Software.
509 
510  g. Termination. This Agreement is effective until terminated. You may
511 terminate this Agreement at any time by written notice to TI. Without
512 prejudice to any other rights, if you fail to comply with the terms of this
513 Agreement, TI may terminate your right to use the Licensed Materials,
514 or any derivative thereof, and any applications generated using the
515 Licensed Materials, or any derivative thereof, upon written notice to you.
516 Upon expiration or termination of this Agreement, you will destroy any
517 and all copies of the Licensed Materials, including any derivatives
518 thereof, in your possession, custody or control and provide to TI a
519 written statement signed by your authorized representative certifying
520 such destruction. Except for Sections 1(a) and 1(b) and the limited
521 license to TI set forth in Section 1(d), all provisions of this Agreement
522 shall survive expiration or termination of the Agreement.
523 
524 2. Licensed Materials Ownership. The Licensed Materials are licensed,
525 not sold to you, and can only be used in accordance with the terms of
526 this Agreement. Subject to the licenses granted to you pursuant to this
527 Agreement, TI and TI's licensors own and shall continue to own all right,
528 title and interest in and to the Licensed Materials, including all copies
529 thereof. The parties agree that all fixes, modifications and
530 improvements to the Licensed Materials conceived of or made by TI
531 that are based, either in whole or in part, on your feedback, suggestions
532 or recommendations are the exclusive property of TI and all right, title
533 and interest in and to such fixes, modifications or improvements to the
534 Licensed Materials will vest solely in TI. You acknowledge and agree
535 that regardless of the changes made to the Licensed Materials, your
536 right to use any and all derivatives of the Licensed Materials shall
537 remain subject to the terms and conditions of this Agreement.
538 Moreover, you acknowledge and agree that when your independently
539 developed software or hardware components are combined, in whole or
540 in part, with the Licensed Materials, or any derivative thereof, your right
541 to use the Licensed Materials, or any derivative thereof, embodied in
542 such resulting combined work shall remain subject to the terms and
543 conditions of this Agreement.
544 
545 3. Intellectual Property Rights.
546 
547  a. The Licensed Materials contain copyrighted material, trade secrets
548 and other proprietary information of TI and its licensors and are
549 protected by copyright laws, international copyright treaties and trade
550 secret laws, as well as other intellectual property laws. To protect TI's
551 and its licensors' rights in the Licensed Materials, you agree, except as
552 specifically permitted by statute by a provision that cannot be waived by
553 contract, not to "unlock", decompile, reverse engineer, disassemble or
554 otherwise translate any portions of the Licensed Materials provided to
555 you in object code format only to a human-perceivable form nor to
556 permit any person or entity to do so. You shall not remove, erase, alter,
557 tamper, cover or obscure any confidentiality, trade secret, proprietary or
558 copyright notices, trade-marks, proprietary, patent or other identifying
559 marks or designs printed or stamped on, affixed to, or encoded or
560 recorded in any component of the Licensed Materials and you shall
561 reproduce and include in all copies of the Licensed Materials the
562 copyright notice(s) and proprietary legend(s) of TI and its licensors as
563 they appear in the Licensed Materials. TI reserves all rights not
564 specifically granted under this Agreement.
565 
566  b. Certain Licensed Materials may be based on industry recognized
567 standards or software programs published by industry recognized
568 standards bodies and certain third parties may claim to own patents,
569 copyrights and other intellectual property rights that cover
570 implementation of those standards. You acknowledge and agree that
571 this Agreement does not convey a license to any such third party
572 patents, copyrights and other intellectual property rights and that you
573 are solely responsible for any patent, copyright or other intellectual
574 property right claim that relates to your use or distribution of the
575 Licensed Materials, or your use or distribution of your products that
576 include or incorporate the Licensed Materials. Moreover, you
577 acknowledge that any fees or royalties paid to TI pursuant to this
578 Agreement, as applicable, do not include any fees or royalties that may
579 be payable to any third party based on such third party's interests in the
580 Licensed Materials or any intellectual property rights that cover
581 implementation of any industry recognized standard, any software
582 program published by any industry recognized standards bodies or any
583 other proprietary technology.
584 
585 4. Audit Right. At TI's request, and within thirty (30) days after receiving
586 written notice, you shall permit an independent auditor selected by TI to
587 have access, no more than once each calendar year (unless the
588 immediately preceding audit revealed a breach of this Agreement) and
589 during your regular business hours, to all of your equipment, records
590 and documents as may contain information bearing upon the use of the
591 Licensed Materials. You shall keep full, complete, clear and accurate
592 records with respect to product sales and distributions for a period
593 beginning with the then-current calendar year and going back three (3)
594 years.
595 
596 5. Confidential Information. You acknowledge and agree that the
597 Licensed Materials, and any derivative thereof, contain trade secrets
598 and other confidential information of TI and its licensors. You agree to
599 use the Licensed Materials, or any derivative thereof, solely within the
600 scope of the licenses set forth herein, to maintain the Licensed
601 Materials, or any derivative thereof, in strict confidence, to use at least
602 the same procedures and degree of care that you use to prevent
603 disclosure of your own confidential information of like importance but in
604 no instance less than reasonable care, and to prevent disclosure of the
605 Licensed Materials, or any derivative thereof, to any third party, except
606 as may be necessary and required in connection with your rights and
607 obligations hereunder. You agree to obtain executed confidentiality
608 agreements with your employees and contractors having access to the
609 Licensed Materials, or any derivative thereof, and to diligently take
610 steps to enforce such agreements in this respect. TI agrees that
611 industry standard employment agreements used in the normal course of
612 your business shall satisfy the requirements of this section. TI may
613 disclose your contact information to TI's applicable licensors.
614 
615 6. Warranties and Limitations. THE LICENSED MATERIALS ARE
616 PROVIDED "AS IS". TI MAKES NO WARRANTY OR
617 REPRESENTATION, EITHER EXPRESS, IMPLIED OR STATUTORY,
618 REGARDING THE LICENSED MATERIALS, INCLUDING BUT NOT
619 LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY
620 OR FITNESS FOR A PARTICULAR PURPOSE OR NON-
621 INFRINGEMENT OF ANY THIRD PARTY PATENTS, COPYRIGHTS,
622 TRADE SECRETS OR OTHER INTELLECTUAL PROPERTY RIGHTS.
623 YOU AGREE TO USE YOUR INDEPENDENT JUDGMENT IN
624 DEVELOPING YOUR PRODUCTS AND DERIVATIVES OF THE
625 LICENSED MATERIALS. NOTHING CONTAINED IN THIS
626 AGREEMENT WILL BE CONSTRUED AS A WARRANTY OR
627 REPRESENTATION BY TI TO MAINTAIN PRODUCTION OF ANY TI
628 SEMICONDUCTOR DEVICE OR OTHER HARDWARE OR
629 SOFTWARE WITH WHICH THE LICENSED MATERIALS MAY BE
630 USED.
631 
632 YOU ACKNOWLEDGE AND AGREE THAT THE LICENSED
633 MATERIALS MAY NOT BE INTENDED FOR PRODUCTION
634 APPLICATIONS AND MAY CONTAIN IRREGULARITIES AND
635 DEFECTS NOT FOUND IN PRODUCTION SOFTWARE.
636 FURTHERMORE, YOU ACKNOWLEDGE AND AGREE THAT THE
637 LICENSED MATERIALS HAVE NOT BEEN TESTED OR CERTIFIED
638 BY ANY GOVERNMENT AGENCY OR INDUSTRY REGULATORY
639 ORGANIZATION OR ANY OTHER THIRD PARTY ORGANIZATION.
640 YOU AGREE THAT PRIOR TO USING OR DISTRIBUTING ANY
641 COMMERCIAL PRODUCT OPTIMIZED OR DEVELOPED USING THE
642 LICENSED MATERIALS YOU WILL THOROUGHLY TEST THE
643 PRODUCT AND THE FUNCTIONALITY OF THAT PRODUCT AND BE
644 SOLELY RESPONSIBLE FOR ANY PROBLEMS OR FAILURES.
645 
646 IN NO EVENT SHALL TI, OR ANY APPLICABLE LICENSOR, BE
647 LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, PUNITIVE OR
648 CONSEQUENTIAL DAMAGES, HOWEVER CAUSED, ON ANY
649 THEORY OF LIABILITY, IN CONNECTION WITH OR ARISING OUT
650 OF THIS AGREEMENT OR THE USE OF THE LICENSED
651 MATERIALS, OR ANY DERIVATIVE THEREOF, REGARDLESS OF
652 WHETHER TI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
653 DAMAGES. EXCLUDED DAMAGES INCLUDE, BUT ARE NOT
654 LIMITED TO, COST OF REMOVAL OR REINSTALLATION, OUTSIDE
655 COMPUTER TIME, LABOR COSTS, LOSS OF DATA, LOSS OF
656 GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF
657 USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S
658 AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING
659 OUT OF YOUR USE OF THE LICENSED MATERIALS, OR ANY
660 DERIVATIVE THEREOF, EXCEED THE GREATER OF FIVE
661 HUNDRED U.S. DOLLARS (US$500) OR THE FEES PAID TO TI BY
662 YOU FOR THE LICENSED MATERIALS UNDER THIS AGREEMENT.
663 
664  Because some jurisdictions do not allow the exclusion or limitation of
665 incidental or consequential damages or limitation on how long an
666 implied warranty lasts, the above limitations or exclusions may not apply
667 to you.
668 
669 7. Indemnification Disclaimer. YOU ACKNOWLEDGE AND AGREE
670 THAT TI SHALL NOT BE LIABLE FOR AND SHALL NOT DEFEND OR
671 INDEMNIFY YOU AGAINST ANY THIRD PARTY INFRINGEMENT
672 CLAIM THAT RELATES TO OR IS BASED ON YOUR
673 MANUFACTURE, USE OR DISTRIBUTION OF THE LICENSED
674 MATERIALS, OR ANY DERIVATIVE THEREOF, OR YOUR
675 MANUFACTURE, USE, OFFER FOR SALE, SALE, IMPORTATION OR
676 DISTRIBUTION OF YOUR PRODUCTS THAT INCLUDE OR
677 INCORPORATE THE LICENSED MATERIALS, OR ANY DERIVATIVE
678 THEREOF.
679 
680 8. No Technical Support. TI and TI's licensors are under no obligation to
681 install, maintain or support the Licensed Materials, or any derivatives
682 thereof.
683 
684 9. Notices. All notices to TI hereunder shall be delivered to Texas
685 Instruments Incorporated, 12500 TI Boulevard, Mail Station 8638,
686 Dallas, Texas 75243, Attention: Contracts Manager, with a copy to
687 Texas Instruments Incorporated, 13588 N. Central Expressway, Mail
688 Station 3999, Dallas, Texas 75243, Attention: Law Department - ASP.
689 All notices shall be deemed served when received by TI.
690 
691 10. Export Control. You hereby acknowledge that the Licensed Materials
692 are subject to export control under the U.S. Commerce Department's
693 Export Administration Regulations ("EAR"). You further hereby
694 acknowledge and agree that unless prior authorization is obtained from the
695 U.S. Commerce Department, neither you nor your customers will export,
696 re-export or release, directly or indirectly, any technology, software or
697 software source code (as defined in Part 772 of the EAR), received from
698 TI, or export, directly or indirectly, any direct product of such technology,
699 software or software source code (as defined in Part 734 of the EAR), to
700 any destination or country to which the export, re-export or release of the
701 technology, software or software source code, or direct product is
702 prohibited by the EAR. You agree that none of the Licensed Materials
703 may be downloaded or otherwise exported or reexported (i) into (or to a
704 national or resident of) Cuba, Iran, North Korea, Sudan and Syria or any
705 other country the U.S. has embargoed goods; or (ii) to anyone on the U.S.
706 Treasury Department's List of Specially Designated Nationals or the U.S.
707 Commerce Department's Denied Persons List or Entity List. You
708 represent and warrant that you are not located in, under the control of, or a
709 national or resident of any such country or on any such list and you will not
710 use or transfer the Licensed Materials for use in any sensitive nuclear,
711 chemical or biological weapons, or missile technology end-uses unless
712 authorized by the U.S. Government by regulation or specific license or for
713 a military end-use in, or by any military entity of Albania, Armenia,
714 Azerbaijan, Belarus, Cambodia, China, Georgia, Iraq, Kazakhstan,
715 Kyrgyzstan, Laos, Libya, Macau, Moldova, Mongolia, Russia, Tajikistan,
716 Turkmenistan, Ukraine, Uzbekistan and Vietnam. Any software export
717 classification made by TI shall be for TI's internal use only and shall not
718 be construed as a representation or warranty regarding the proper
719 export classification for such software or whether an export license or
720 other documentation is required for the exportation of such software.
721 
722 11. Governing Law and Severability. This Agreement will be governed by
723 and interpreted in accordance with the laws of the State of Texas,
724 without reference to conflict of laws principles. If for any reason a court
725 of competent jurisdiction finds any provision of the Agreement to be
726 unenforceable, that provision will be enforced to the maximum extent
727 possible to effectuate the intent of the parties, and the remainder of the
728 Agreement shall continue in full force and effect. This Agreement shall
729 not be governed by the United Nations Convention on Contracts for the
730 International Sale of Goods, or by the Uniform Computer Information
731 Transactions Act (UCITA). The parties agree that non-exclusive
732 jurisdiction for any dispute arising out of or relating to this Agreement
733 lies within the courts located in the State of Texas. Notwithstanding the
734 foregoing, any judgment may be enforced in any United States or
735 foreign court, and either party may seek injunctive relief in any United
736 States or foreign court.
737 
738 12. PRC Provisions. If you are located in the People's Republic of China
739 ("PRC") or if the Licensed Materials will be sent to the PRC, the
740 following provisions shall apply and shall supersede any other
741 provisions in this Agreement concerning the same subject matter:
742 
743  a. Registration Requirements. You shall be solely responsible for
744 performing all acts and obtaining all approvals that may be required in
745 connection with this Agreement by the government of the PRC,
746 including but not limited to registering pursuant to, and otherwise
747 complying with, the PRC Measures on the Administration of Software
748 Products, Management Regulations on Technology Import-Export, and
749 Technology Import and Export Contract Registration Management
750 Rules. Upon receipt of such approvals from the government authorities,
751 you shall forward evidence of all such approvals to TI for its records. In
752 the event that you fail to obtain any such approval or registration, you
753 shall be solely responsible for any and all losses, damages or costs
754 resulting therefrom, and shall indemnify TI for all such losses, damages
755 or costs.
756 
757 b. Governing Language. This Agreement is written and executed in
758 the English language. If a translation of this Agreement is required for
759 any purpose, including but not limited to registration of the Agreement
760 pursuant to any governmental laws, regulations or rules, you shall be
761 solely responsible for creating such translation. Any translation of this
762 Agreement into a language other than English is intended solely in order
763 to comply with such laws or for reference purposes, and the English
764 language version shall be authoritative and controlling.
765 
766 c. Export Control.
767 
768 i. Diversions of Technology. You hereby agree that unless
769 prior authorization is obtained from the U.S. Department of
770 Commerce, neither you nor your subsidiaries or affiliates shall
771 knowingly export, re-export or release, directly or indirectly, any
772 technology, software or software source code (as defined in Part
773 772 of the Export Administration Regulations of the U.S.
774 Department of Commerce ("EAR")), received from TI or any of its
775 affiliated companies, or export, directly or indirectly, any direct
776 product of such technology, software or software source code (as
777 defined in Part 734 of the EAR), to any destination or country to
778 which the export, re-export or release of the technology, software,
779 software source code or direct product is prohibited by the EAR.
780 
781 ii. Assurance of Compliance. You understand and
782 acknowledge that products, technology (regardless of the form in
783 which it is provided), software or software source code, received
784 from TI or any of its affiliates under this Agreement may be under
785 export control of the United States or other countries. You shall
786 comply with the United States and other applicable non-U.S. laws
787 and regulations governing the export, re-export and release of any
788 products, technology, software or software source code received
789 under this Agreement from TI or its affiliates. You shall not
790 undertake any action that is prohibited by the EAR. Without
791 limiting the generality of the foregoing, you specifically agree that
792 you shall not transfer or release products, technology, software or
793 software source code of TI or its affiliates to, or for use by, military
794 end users or for use in military, missile, nuclear, biological or
795 chemical weapons end uses.
796 
797 iii. Licenses. Each party shall secure at its own expense, such
798 licenses and export and import documents as are necessary for
799 each respective party to fulfill its obligations under this Agreement.
800 If such licenses or government approvals cannot be obtained, TI
801 may terminate this Agreement, or shall otherwise be excused from
802 the performance of any obligations it may have under this
803 Agreement for which the licenses or government approvals are
804 required.
805 
806 13. Contingencies. TI shall not be in breach of this Agreement and shall
807 not be liable for any non-performance or delay in performance if such
808 non-performance or delay is due to a force majeure event or other
809 circumstances beyond TI's reasonable control, including but not limited
810 to, shortages of labor, energy, fuel, machinery or materials, technical or
811 yield failures, war, civil unrest, any government act, law or regulation,
812 including any judicial order or decree, any communication or power
813 failure, labor dispute, natural disaster, fire, flood, earthquake, explosion,
814 terrorist act or Act of God.
815 
816 14. Entire Agreement. This is the entire Agreement between you and TI
817 and this Agreement supersedes any prior agreement between the
818 parties related to the subject matter of this Agreement. No amendment
819 or modification of this Agreement will be effective unless in writing and
820 signed by a duly authorized representative of TI. You hereby warrant
821 and represent that you have obtained all authorizations and other
822 applicable consents required empowering you to enter into this
823 Agreement.
824 
825 
826 
827 
828 
829 Page 1
830 
831 */
long long int64_d
Definition: C6xSimulator_base_types.h:43
unsigned long long uint64_d
Definition: C6xSimulator_base_types.h:47
long long int64_ll
Definition: C6xSimulator_base_types.h:44
long long int40
Definition: C6xSimulator_base_types.h:42
Definition: C6xSimulator_base_types.h:66
float float32
Definition: C6xSimulator_base_types.h:28
int int32
Definition: C6xSimulator_base_types.h:22
double double64
Definition: C6xSimulator_base_types.h:49
unsigned int uint32
Definition: C6xSimulator_base_types.h:26

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6