tag 标签: compiler

相关博文
  • 热度 15
    2014-6-26 15:49
    2215 次阅读|
    0 个评论
    Recently, I had a task to design a two-channel signal converter from a bipolar input voltage to a bipolar output current. I immediately assumed that this was going to be a pure analogue design, but there was something that niggled at me. One of the explicit requirements was that each channel was to have a bi-colour LED that varied in brightness proportional to the input signal, and that changed between green and red to indicate when the signal was positive or negative, respectively.   There were two issues. First, the LED drive would need to be boosted so that there is no dead zone around zero. Second, I could foresee a condition where the signal would be negative, but the LED (and possibly the output) was positive, and vice versa. The mechanical equivalent of this is called backlash. Rather than drive the LED with a variable voltage, I considered using a PWM (pulse-width modulated) driver like the LTC6992 from Linear Tech, but I would still have to generate an offset and it didn't solve the backlash issue. Also, I would need two of them (one per channel), and there would have to be additional circuitry to change from red to green. Thus, it was a logical jump to look at low-end microcontrollers (MCUs).   I started off by looking at Microchip, but the ones I found were of the 16C family with small memories, which meant using assembly language. I have worked on three projects with the 16C family (five if you include the Scenix/Parallax SX28 which used the same opcodes as the Microchip), and I am afraid I never felt at home with the paucity of instructions (it being a RISC device) to say nothing of the memory segmentation issues. Succumbing to my bias, I then looked at NXP devices and Freescale ARM Cortex-M0 chips. There are so many variations to choose from that I balked at them as well.   Additionally, sometime ago we started a project using Freescale's CodeWarrior Development Studio (that project was significantly more complex than the project in this column), but we discovered we would need to pay for support to obtain the response that we needed. Add another bias to my psychology.   Now, I will be the first to tell you that I am a fan of PSoCs (Programmable SoCs) from Cypress Semiconductor. I have worked on many smaller projects with the PSoC 1 and one large project with the PSoC 5 ; also, I had heard some hype about the PSoC 4, which is ARM Cortex-M0-based. I looked at the price of the PSoC 4 and I was pleasantly surprised.   Fortunately, my project had some maneuverability on price, and I am aware that the flexibility of the PSoC configuration normally has some payback with the reduction of external devices. Of course, we already have the emulator and some experience, so I decided to look into this device further with the aid of the PSoC 4 Pioneer Kit (Arduino shield compatible). This kit uses the versatile PSoC 4200 family, so that was the starting point of my project.   Cypress provides a great development environment called PSoC Creator, which allows you to configure, program, and debug their products (there is a very useful series of video series on using PSoC Creator).   The PSoC architecture sits somewhere between an MCU and an FPGA. In addition to the processor core, it has some configurable analogue circuitry along with some programmable digital fabric, although this fabric is not as granular as one would find in an FPGA. You also get a whole bunch of IP with the device (termed "components") that allow you to configure the device to perform the functions you require. One aspect of the development environment is illustrated in Figure 1.   Figure 1. Starting to place the components   You need an ADC? Just choose it from the component selection area along the right and plonk it down. You want a PWM? There you go. An opamp and/or an SPI controller? You're welcome. Connect them together as you would on a schematic. Choose what pins to associate with the various functions, compile the hardware, and you are ready to write your application. Each component that you place has its code and headers placed in the "Workspace Explorer" (shown on the left in Figure 1) alongside your code. All the API calls are included in the header files and you can simply copy and paste into your code. You can see the symbol in the bottom right hand corner with the option to "Open Datasheet" (please forgive the eyestrain). Each component has its own data sheet that you can access before you place it, or by right-clicking after you've placed it.   PSoC Creator, which includes a Keil C compiler, is free. Support is also free. As an added bonus (here is my prejudice again), this system is not Eclipse-based. If you really want to be adventurous, you can create mini-state machines and other functions in hardware using a technique Cypress calls "datapaths." You can even use Verilog if you know what you are doing.   In my next blog I will use my project to describe the design process in a little more detail. In the meantime, I welcome any questions or comments.   Aubrey Kagan is engineering Manager at Emphatec .
  • 热度 20
    2014-4-15 18:18
    1721 次阅读|
    0 个评论
    About 10 years ago, Apple shifted to its use and hired one of the programmers behind its creation. Now, ARM Ltd has also made the move in its tool chain to the use of the open source—but misnamed—Low Level Virtual Machine compiler (LLVM) and its C-language Clang front end. It will be available first for its Cortex-A50 processor and then later in other embedded focused cores such as the Cortex-M series. A fundamental shift away from proprietary technology. the new ARM Compiler 6 also supports the coming 64bit ARMv8 architecture and will be integrated into future versions of the DS-5 development suite for high- and system-on-chip development. The ARM v8 backend is in open source currently and is now in the process of integration into the DS-5 tool chain. After V8, next to to added will be the V7A and R are cores, probably by no later than the end of 2014. Up to now, said Hobson Bullman, general manager of development solutions, ARM has supported GCC open-source, but LLVM will form the basis of all new compiler technology developments. The compiler will be offered as an open source and free tool within the tool chain along with ARM's proprietary software tool componets. Despite is misleading name, LLVMÿis an extensible compiler framework developed originally at the University of Illinois for testing such advanced code generation techniques such as link-time code generation and just-in-time compilation. Bullman said LLVM's modular framework makes it easier to develop and test new optimisations, leading to better performing code and lower power consumption. Clang is a C/C++ compiler front end based on a modular architecture with well-defined interfaces for applying complimentary tools such as code analysers and code generators. Clang also offers improved diagnostic capabilities, leading to higher quality code and shorter development cycles, he said. One of the original aims of Clang was replacement of the GCC compiler at the core of most embedded tool suites with one that is more integrated development environments (IDEs) friendly and has more extensive multi-threading support. However, up until recently the run time performance of the compiled programs using GCC out performed LLVM by about 10%. But more recent reports indicated that LLVM has caught up and is capable of compiling binaries of about equal performance, except for programs using OpenMP. LLVM project started in 2000 at the University of Illinois at Urbana–Champaign, under the direction of Vikram Adve and Chris Lattner. LLVM was released under the University of Illinois/NCSA Open Source Licence, a non-copyleft licence. In 2005, Apple Inc. hired Lattner and formed a team to work on the LLVM system for various uses within Apple's development systems, including those for its Mac OS X and its iOS for the iPhone, i,Pad and IPod consumer and mobile products. Although LLVM was originally written to be a replacement for the existing C code generator in the GCC stack it now supports compiling of Ada, C, C++, D, Fortran, and Objective-C, using various front ends, some derived from version 4.0.1 and 4.2 of the GNU Compiler Collection (GCC). In addition to Clang, there are a range of front ends to LLVM for a variety of languages including Ada, C++, D, Fortran, Objective-C, and Haskell. In additon to ARM processors, LLVM now supports the instruction sets for a wide variety of mobile and embedded processors, including MBlaze, MIPS, Nvidia PTX, PowerPC, R600, SPARC, x86/x86-64, and XCore. "Clang and LLVM have become essential technologies for high-volume mobile platforms," said Travis Lanier, director of product management, Qualcomm Technologies, Inc. ARM Compiler 6 supports ARM Cortex-A50 processor series and is available as part of the DS-5 Development Studio Ultimate Edition.
  • 热度 17
    2014-4-15 18:16
    2343 次阅读|
    0 个评论
    ARM Ltd has recently made the move in its tool chain to the use of the open source—but misnamed—Low Level Virtual Machine compiler (LLVM) and its C-language Clang front end. This came 10 years after Apple moved to its use—and hired one of the programmers behind its creation. It will be available first for its Cortex-A50 processor and then later in other embedded focused cores such as the Cortex-M series. A fundamental shift away from proprietary technology. the new ARM Compiler 6 also supports the coming 64bit ARMv8 architecture and will be integrated into future versions of the DS-5 development suite for high- and system-on-chip development. The ARM v8 backend is in open source currently and is now in the process of integration into the DS-5 tool chain. After V8, next to to added will be the V7A and R are cores, probably by no later than the end of 2014. Up to now, said Hobson Bullman, general manager of development solutions, ARM has supported GCC open-source, but LLVM will form the basis of all new compiler technology developments. The compiler will be offered as an open source and free tool within the tool chain along with ARM's proprietary software tool componets. Despite is misleading name, LLVMÿis an extensible compiler framework developed originally at the University of Illinois for testing such advanced code generation techniques such as link-time code generation and just-in-time compilation. Bullman said LLVM's modular framework makes it easier to develop and test new optimisations, leading to better performing code and lower power consumption. Clang is a C/C++ compiler front end based on a modular architecture with well-defined interfaces for applying complimentary tools such as code analysers and code generators. Clang also offers improved diagnostic capabilities, leading to higher quality code and shorter development cycles, he said. One of the original aims of Clang was replacement of the GCC compiler at the core of most embedded tool suites with one that is more integrated development environments (IDEs) friendly and has more extensive multi-threading support. However, up until recently the run time performance of the compiled programs using GCC out performed LLVM by about 10%. But more recent reports indicated that LLVM has caught up and is capable of compiling binaries of about equal performance, except for programs using OpenMP. LLVM project started in 2000 at the University of Illinois at Urbana–Champaign, under the direction of Vikram Adve and Chris Lattner. LLVM was released under the University of Illinois/NCSA Open Source Licence, a non-copyleft licence. In 2005, Apple Inc. hired Lattner and formed a team to work on the LLVM system for various uses within Apple's development systems, including those for its Mac OS X and its iOS for the iPhone, i,Pad and IPod consumer and mobile products. Although LLVM was originally written to be a replacement for the existing C code generator in the GCC stack it now supports compiling of Ada, C, C++, D, Fortran, and Objective-C, using various front ends, some derived from version 4.0.1 and 4.2 of the GNU Compiler Collection (GCC). In addition to Clang, there are a range of front ends to LLVM for a variety of languages including Ada, C++, D, Fortran, Objective-C, and Haskell. In additon to ARM processors, LLVM now supports the instruction sets for a wide variety of mobile and embedded processors, including MBlaze, MIPS, Nvidia PTX, PowerPC, R600, SPARC, x86/x86-64, and XCore. "Clang and LLVM have become essential technologies for high-volume mobile platforms," said Travis Lanier, director of product management, Qualcomm Technologies, Inc. ARM Compiler 6 supports ARM Cortex-A50 processor series and is available as part of the DS-5 Development Studio Ultimate Edition.  
  • 热度 25
    2014-1-29 17:38
    2360 次阅读|
    0 个评论
    I had wanted to get away from the city, but when I got to a small mountain town to work on software development for a police, life-flight, and special mission communication system, I had no idea what I was getting myself into. My OJT (on-the-job training) had consisted pretty much of being told to buy parts to build a development PC, and also of being given a quick run-down on how the compiler and assembler were used to create code. Then I was given a list of bugs, along with a list of routines to be converted into assembly language to make room for the fixes. (Our first generation C compiler was about 5 to 7X less efficient than the assembler, and the project had run out of room without completing the firmware.) I would frantically fix bugs during the day, take routines home to convert into assembly into the wee hours of the morning, and return to work at 7:00 a.m. to start all over again. The idea was to keep on converting routines until we could obtain a better version of the compiler. In the meantime, we started re-designing the processor to add more memory. Eventually, we got enough features working (for the most part) and shipped a system to the FBI. They used the system with some success, but—like all of our other customers—bug reports kept coming in. Suspecting there had to be a better way, I visited the local aeronautical university library and began reading every book I could find on the subject of developing avionics software. There were things like creating the requirements first, such as code size and schedule estimates, and also using LINT applications and runtime memory checking. I started to apply some of these concepts to my own coding, resulting in much greater success on some of the later features. One day the phone rang and we were informed that a planeload of FBI agents were on their way to the plant. They needed their system to be working, but it had one bug they could not work around. The next day there was a special agent in the plant manager's office, another agent in my boss's office, and yet another agent assigned to be with me while I went to the aircraft and tried to duplicate their issues. First, we set up one of our lab systems to match the configuration they were using. Everything seemed to work fine until we took the system into the air and activated things in a different way. Pressing just one button introduced a totally different aspect of system operation. One-by-one we located bugs and fixed them. Finally, we identified the major culprit—a pointer in one area of the code that was impacting another section of the code. We got that bug fixed. Walter the mechanic got the plane put back together and working, at which point the agents set off on their way to track down America's most wanted. Later, the company I was working for was bought out by another company, at which time I finally managed to get formal training in DO-178B and software project management. If only I had been given this training earlier, my life would have been much easier and my code would have been much better. William Murray Electrical Engineer  
  • 热度 20
    2011-3-14 17:07
    1821 次阅读|
    0 个评论
    This is going to be a different kind of article for me. As I was planning it, I considered several possible topics. I couldn't decide which one to cover, so I decided to cover them all. You may find some of them incomplete—I'm giving you my thoughts as I'm having them. I welcome your thoughts and comments.   Vector/Matrix class redux Whenever I set out to (re)create a vector/matrix math package, I always wrestle with the decision: should I include separate functions for the special case where the vectors are dimensioned 3, and the matrices, 3×3? Clearly, classes that can handle general, n-dimensional vectors and m × n matrices can also handle the case m = n = 3. On the other hand, it's certain that if we know in advance the dimensions of the objects, the code will be a little faster and more compact.   While it's important to be able to deal with general forms of the mathematical entities called vectors and matrices, there's a good argument for the specialized functions as well.   We live, after all, in a three-dimensional universe (unless your field is String Theory). Most of the computations I do—space mechanics, rocket and aircraft dynamics, robotics, dynamic simulations—involve the motions of real, physical bodies in this three-dimensional space. It's the discipline called dynamics, whose math is defined by Newton's laws of motion.   The mathematical entities called vectors and matrices weren't exactly invented specifically to deal with physics problems, but they might as well have been. The simplifications that result from their use in physical problems is so profound, it's hard to over-emphasize the point.   That being the case, I'm always tempted to define special computer functions to process 3-d vectors and matrices. Usually I succumb to the temptation. When I was developing the C++ classes called Vector and Matrix , I wrestled with the same decision. For the sake of brevity, I chose to omit the special 3-d case. For the column, I was focused more on showing you the principles rather than defining a production-quality library of functions.   However, the argument for the special case is even stronger than usual, when defining C++ classes. That's because my general-case solutions required dynamic memory allocation . Any time we declare a new object of a certain class, whether it be a named variable or an anonymous temporary, the compiler is going to have to invoke the memory manager. That's a given. But in my general-purpose functions, I also had to dynamically allocate the storage for the object's member data, because we don't know the size of the data until the constructor is invoked. So with every declaration of one of the general-purpose objects, we get a double dose of memory allocation .   If you declare all named objects statically, you can move most of the memory allocations to the initialization phase of the programs. We might do this, for example, when writing flight software for a satellite or missile.   But if you make use of those lovely overloaded operators, you can't avoid the creation of temporary objects, and the overhead to construct and destruct them.   Finally, there's the issue of the vector cross product, which only works for 3-vectors. In our n-vector class, I had to include tests to make sure that both vectors were, in fact, dimensioned 3. That's not a problem in the special case. (Optional for extra credit: some of us gurus in the know, know that the cross product isn't really limited to 3-vectors. There's a 4-d cross product as well. If you're "one of us," drop me a line. Say the magic word, "quaternion," and I'll send you the Secret Decoder Ring Tone.)   If we know in advance that all the vectors will be dimensioned 3, and matrices, 3×3, the double dose of dynamic allocation goes away.   The situation with respect to matrices is even nicer. If you followed the creation of the Matrix class, you'll recall that we struggled with the issue of allocating matrices with arbitrary dimensions. Because C/C++ doesn't support conformant arrays, we can't just declare the array data in the form:   double x ;   Instead, we had to resort to defining a single-dimensioned array and generating our own code to index into it. This isn't a problem for the 3×3 case. We simply declare the array:   double x ;   and let the compiler use its own indexing, presumably optimized out the gazoo.   Recently, I had occasion to do a lot of computations in the 3-d universe. So I succumbed to the temptation and wrote a new C++ class called ThreeVec . As the name implies, the class is specialized to the case of 3-d vectors. I'm going to show it to you, but in a rather unconventional way. Instead of walking you through all the design decisions yet again one more time, I'm simply going to post the files on Embedded.com. I think you'll find that the differences between the n-vector and 3-vector cases are straightforward enough so that you won't need me leading you by the hand. Please let me know if you need more help.   Do something ... For the same project, I also need a class for 3×3 matrices. I'll tell you about it soon, but first I have a confession to make. I have a character flaw (No! Really?).   I'm basically an optimizing sort of fellow. Before I do anything, I tend to look at the options, weigh them carefully, and choose the one that's, in some sense, optimal. I'm the guy who tries to guess which lane I should be in at a traffic light. There's no malice involved, no jamming my way in front of someone else. But given a choice, I'll choose the option that's most likely to get me where I'm going sooner with fewer hassles.   This tendency to optimize can be both a blessing and a curse. A blessing in that the code I generate is usually pretty good. A curse because it takes me longer to produce it. Because I'm looking for the best solution, I can never keep up with the software wizard who simply codes the first thought that comes to him.   In another lifetime, I built and raced midget cars. My kids also raced, and I was their chief mechanic. Naturally, optimizing the route to the front is a good habit for a driver, and I was pretty good at it. But optimization is also good when deciding how best to tune or modify the car. When it came time to make a modification, I'd find myself spending considerable time trying to optimize the design. The design optimization process goes something like this:   while(1){ if(option(a) option(b)) return a; if(option(b) option(a)) return b; }   The problem, of course, is that there's no predicate for equality. If I can't find a clear reason to choose one option over the other, I'm paralyzed into inaction, stuck in an infinite loop.   This sometimes happened when I was planning a new modification. I'd sit in the garage, holding the parts I could use, and literally weighing my options. I'd look at the parts in one hand, and see advantages in using them, but also disadvantages. I'd look at the other and see a different sets of pros and cons. I could find no clear winner.   Fortunately, my decision-making system had a priority interrupt. Not hearing any work being done, my wife would open the door behind me. She'd shout, "Do something, even if it's wrong!!!" and slam the door again. This interrupt was usually enough to jog me out of the loop.    
相关资源
  • 所需E币: 0
    时间: 2022-5-5 16:19
    大小: 225.63KB
    DFTCompiler-NextGeneration1-PassTestSynthesisTechnologyBackgrounder(Synopsys)
  • 所需E币: 0
    时间: 2022-5-3 21:10
    大小: 100.31KB
    AMatlabCompilerForDistributed,Heterogeneous,ReconfigurableComputingSystems
  • 所需E币: 0
    时间: 2020-11-18 19:24
    大小: 8.93MB
    上传者: xgp416
    RTLCompiler11.1user简明参考资源大小:8.93MB[摘要]本手册提供了用户在使用遭遇战RTL编译器软件时可用属性的简明参考
  • 所需E币: 5
    时间: 2020-11-18 19:23
    大小: 6.35MB
    上传者: xgp416
    DesignCompiler®UserGuide合成的概念和命令资源大小:6.35MB[摘要]设计编译器用户指南为设计编译器工具的用户提供基本的综合信息。本手册描述了合成的概念和命令,并给出了基本合成策略的示例
  • 所需E币: 3
    时间: 2020-11-18 19:22
    大小: 3.9MB
    上传者: xgp416
    用SynopsysDesignCompiler进行ASIC芯片合成,编译资源大小:3.9MB[摘要]半导体行业有一个被证明的记录,即迅速将IC设计规模的参考降低到荒谬地无关紧要的地步。我们作为一个群体,迅速饱和术语层次的集成为我们应用术语“大规模集成(LSI)在80年代中期芯片包含超过1000个晶体管,搬到更进步的“大规模”(VLSI)为我们传递到1
  • 所需E币: 4
    时间: 2020-11-17 22:22
    大小: 3.62MB
    上传者: xgp416
    一文了解综合与DesignCompiler资源大小:3.62MB[摘要]综合是前端模块设计中的重要步骤之一,综合的过程是将行为描述的电路、RTL级的电路转换到门级的过程;DesignCompiler是Synopsys公司用于做电路综合的核心工具,它可以方便地将HDL语言描述的电路转换到基于工艺库的门级网表。本章将初步介绍综合的原理以及使用De
  • 所需E币: 5
    时间: 2019-12-25 21:23
    大小: 88.77KB
    上传者: 978461154_qq
    IAREmbeddedWorkbench®isasetofhighlysophisticatedandeasy-to-usedevelopmenttoolsforprogrammingembeddedapplications.ItintegratestheIARC/C++compiler,assembler,linker,librarian,texteditor,projectmanager,andC-SPY™debuggerinoneintegrateddevelopmentenvironment(IDE).Withitsbuilt-inchip-specificcodeoptimizer,IAREmbeddedWorkbenchgeneratesveryefficientandreliablePROMablecodeforthePIC18microcontroller.Inadditiontothissolidtechnology,IARSystemsalsoprovidesprofessionalworldwidetechnicalsupport.……
  • 所需E币: 5
    时间: 2019-12-25 21:23
    大小: 70.96KB
    上传者: 238112554_qq
    IAREmbeddedWorkbench®isasetofhighlysophisticatedandeasy-to-usedevelopmenttoolsforprogrammingembeddedapplications.ItintegratestheIARC/C++compiler,assembler,linker,librarian,texteditor,projectmanager,andC-SPY™debuggerinoneintegrateddevelopmentenvironment(IDE).……
  • 所需E币: 5
    时间: 2019-12-25 21:23
    大小: 86.25KB
    上传者: quw431979_163.com
    IAREmbeddedWorkbench®isasetofhighlysophisticatedandeasy-to-usedevelopmenttoolsforprogrammingembeddedapplications.ItintegratestheIARC/C++compiler,assembler,linker,librarian,texteditor,projectmanager,andC-SPY®debuggerinoneintegrateddevelopmentenvironment(IDE).Withitsbuilt-inchip-specificcodeoptimizer,IAREmbeddedWorkbenchgeneratesveryefficientandreliableFLASH/PROMablecodefortheAVR32microprocessors.Inadditiontothissolidtechnology,IARSystemsalsoprovidesprofessionalworldwidetechnicalsupport.……
  • 所需E币: 3
    时间: 2019-12-25 21:23
    大小: 113.27KB
    上传者: 16245458_qq.com
    IAREmbeddedWorkbench®isasetofhighlysophisticatedandeasy-to-usedevelopmenttoolsforprogrammingembeddedapplications.ItintegratestheIARC/C++compiler,assembler,linker,librarian,texteditor,projectmanagerandC-SPY®debuggerinoneintegrateddevelopmentenvironment(IDE).Withitsbuilt-inchip-specificcodeoptimizer,IAREmbeddedWorkbench®generatesveryefficientandreliableFLASH/PROMablecodeforARMdevices.Inadditiontothissolidtechnology,IARSystemsalsoprovidesprofessionalworldwidetechnicalsupport.……
  • 所需E币: 5
    时间: 2019-12-25 21:23
    大小: 1.02MB
    上传者: 微风DS
    HighlyoptimizingC/C++compiler……
  • 所需E币: 5
    时间: 2019-12-25 17:04
    大小: 322.94KB
    上传者: rdg1993
    ViterbiCompilerMegaCoreFunctionUserGuide……
  • 所需E币: 5
    时间: 2019-12-28 23:42
    大小: 186KB
    上传者: givh79_163.com
    ThisapplicationnotedescribeshowtousetheKeiluVision2suiteoftoolstobuildaCapplicationfortheUltra-High-SpeedFlashfamilyofmicrocontrollers,whichincludestheDS89C430,theDS89C440,andtheDS89C450.TheprocessofloadingthecompiledapplicationintothemicrocontrollerusingDallas/Maxim’sMicrocontrollerToolKitapplicationisalsocovered.……
  • 所需E币: 5
    时间: 2019-12-25 15:17
    大小: 463.6KB
    上传者: 978461154_qq
    YISAI嵌入式操作系统资料……
  • 所需E币: 3
    时间: 2020-1-4 23:41
    大小: 126.06KB
    上传者: 微风DS
    HIGHPERFORMANCESYNTHESISUSINGDESIGNCOMPILER……
  • 所需E币: 4
    时间: 2019-12-24 19:08
    大小: 537.44KB
    上传者: quw431979_163.com
    【应用笔记】升级3.1.x版本FIR编译器的设计到3.2.x版本(UpgradingaFIRCompilerv3.1.xDesigntov3.2.x)本应用笔记是为这些设计者而准备的:有一个使用Altera的3.1.0版本或更早版本的FIR编译器MegaCore功能模块的FPGA设计,而想将设计升级到3.2.0或更新版本的FIR编译器。ThisapplicationnoteisintendedfordesignerswhohaveanFPGAdesignthatusestheAltera®FIRCompilerMegaCore®functionversion3.1.0orearlierandwanttoupgradetheirdesigntotheFIRCompilerversion3.2.0orlater.UpgradingaFIRCompilerv3.1.xDesigntov3.2.xMay2005,ver.1.0ApplicationNote387IntroductionThisapplicationnoteisintendedfordesignerswhohaveanFPGAdesignthatusestheAlteraFIRCompilerMegaCorefunctionversion3.1.0orearlierandwanttoupgradetheirdesigntotheFIRCompilerversion3.2.0orlater.ThechangesintroducedintheFIRCompilerversion3.2.xaffectthefollowingcases:■Throughputforinterpolationfilters■Throug……
  • 所需E币: 5
    时间: 2019-12-24 17:57
    大小: 345.2KB
    上传者: 238112554_qq
    摘要:本应用笔记介绍了Teridian公司的单相和多相能量测量IC提供各种开发和编程工具。具体来说,本文讨论了建议的编译器,在电路仿真器(ICE),闪光灯和团伙程序员,软件,固件,应用笔记,演示板和套件。71M651XEnergyMeterICAMaximIntegratedProductsBrandAPPLICATIONNOTEAN_651X_033NOVEMBER2010DevelopmentToolsThisApplicationNotedescribesthevariousdevelopmentandprogrammingtoolsavailableforthe71M651X,71M652X,and71M653XfamiliesofEnergyMeterICs.CompilerTeridianrecommendsusingtheCA51“CompilerKit”byKeil(www.keil.com),whichcontainstheVision3IntegratedDevelopmentEnvironment(IDE),completewith8051assembler,……
  • 所需E币: 5
    时间: 2019-12-24 17:52
    大小: 1.65MB
    上传者: 2iot
    MPLAB®C18CCOMPILERLIBRARIESMPLABC18CCOMPILERLIBRARIES2005MicrochipTechnologyInc.DS51297FNotethefollowingdetailsofthecodeprotectionfeatureonMicrochipdevices:MicrochipproductsmeetthespecificationcontainedintheirparticularMicrochipDataSheet.Microchipbelievesthatitsfamilyofproductsisoneofthemostsecurefamiliesofitskindonthemarkettoday,whenusedintheintendedmannerandundernormalconditions.Therearedishonestandpossiblyillegalmethodsusedtobreachthecodeprotectionfeature.Allofthesemethods,toourknowledge,requireusingtheMicrochipproductsinamanneroutsidetheoperatingspecificationscontained……
  • 所需E币: 4
    时间: 2020-1-14 18:41
    大小: 512.1KB
    上传者: quw431979_163.com
    HDLCompilerforVerilog,HDLCompilerforVerilog-Synopsys……
  • 所需E币: 3
    时间: 2020-1-14 18:58
    大小: 983.12KB
    上传者: quw431979_163.com
    SynopsysFpgaCompilerII3.7....,SynopsysFpgaCompilerIi372[1]……