Free Trials

Download a free trial to find out which Altium software best suits your needs

How to Buy

Contact your local sales office to get started on improving your design environment


Download the latest in PCB design and EDA software

  • Altium Designer

    Complete Environment for Schematic + Layout

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool


    Agile PCB Design For Teams

  • Altium 365

    Connecting PCB Design to the Manufacturing Floor

  • Altium Concord Pro

    Complete Solution for Library Management

  • Octopart

    Extensive, Easy-to-Use Component Database

  • PDN Analyzer

    Natural and Effortless Power Distribution Network Analysis

  • See All Extensions

    World-Renowned Technology for Embedded Systems Development

  • Live Courses

    Learn best practices with instructional training available worldwide

  • On-Demand Courses

    Gain comprehensive knowledge without leaving your home or office

  • Altium 365 Viewer

    View & Share electronic designs in your browser

  • Altium Designer 20

    The most powerful, modern and easy-to-use PCB design tool for professional use


    Annual PCB Design Summit

    • Forum

      Where Altium users and enthusiasts can interact with each other

    • Blog

      Our blog about things that interest us and hopefully you too

    • Ideas

      Submit ideas and vote for new features you want in Altium tools

    • Bug Crunch

      Help make the software better by submitting bugs and voting on what's important

    • Wall

      A stream of events on AltiumLive you follow by participating in or subscribing to

    • Beta Program

      Information about participating in our Beta program and getting early access to Altium tools

    All Resources

    Explore the latest content from blog posts to social media and technical white papers gathered together for your convenience


    Take a look at what download options are available to best suit your needs

    How to Buy

    Contact your local sales office to get started improving your design environment

    • Documentation

      The documentation area is where you can find extensive, versioned information about our software online, for free.

    • Training & Events

      View the schedule and register for training events all around the world and online

    • Design Content

      Browse our vast library of free design content including components, templates and reference designs

    • Webinars

      Attend a live webinar online or get instant access to our on demand series of webinars

    • Support

      Get your questions answered with our variety of direct support and self-service options

    • Technical Papers

      Stay up to date with the latest technology and industry trends with our complete collection of technical white papers.

    • Video Library

      Quick and to-the-point video tutorials to get you started with Altium Designer

    Manage Embedded Software through Design Rules for a No-Line PCB Design

    January 26, 2018

    Blue electronics board showing components on a circuit board

    Recently, Amazon opened its first grocery market where one of its main points was its refusal of lines. Of course, its first-day publicity was a line of people outside waiting to try it out. I’m sure that as the newness diminishes it will be able to fulfill its promise of no lines; however, for now, I am mostly hoping that the store still had some rules in place in-case there was a line. After all, if one of your basic premises is to avoid lines, then I imagine it could be quite easy to descend into a lawless, food-grabbing domain of swinging baskets and carts ramming into each other.

    Much of the more basic etiquette of grocery markets is implicit these days: enter and exit through appropriate doors, avoid leaving your cart in the middle of aisles, don’t attempt carrying more than an armful, etc. There’s a sequence to the rules you follow upon arriving at a grocery market, and so long as everyone pays attention to these rules then the order is maintained.

    A similar sequence of rules and rule-following can apply to developing embedded software. A fundamental path to success includes defining performance requirements and establishing stable design rules. It will ensure that, even if everything goes wrong, you have a steady backbone to your design which you can rely on to catch and potential errors and keep your designing moving forward.

    Embedded Design Software Begins with Design Rules for Performance Requirements

    Refrigerators, complex avionics systems, robotic vacuum cleaners, and other devices rely on embedded software for managing multiple tasks. A smart refrigerator might interact with the IoT to connect with its owner’s smartphone and leave a message about milk beginning to sour. The embedded software within the refrigerator uses DSPs to control tasks, works within microcomputers and microcontrollers for peripheral tasks, and communicates with sensors and other devices.

    Embedded software applications vary from controlling basic operations to running all components of complex avionics systems. Application design begins with an analysis that produces a detailed list of performance requirements for the project.

    Performance requirements for embedded software influence the selection of a computing platform, the I/O signals, and the software architecture. The architecture defines the organization of the system, covers the relationships between the environment and its components, and governs design.

    Hand replacing memory storage unit on computer
    Whether it’s memory storage or vending machines, embedded software can be found anywhere.

    Constraints and Risks Challenge Embedded Software Development

    The operation of an embedded system and its software relies on relationships between components and between the system and its environment. None of this occurs without limitations. Constraints set the boundaries for system operation. Many of the same factors—such as safety, cost, interfaces, and compatibility—that serve as performance requirements also define constraints.

    Real-time interactions between embedded processors, sensors, and actuators set boundaries for development. While processors have memory, response time, and speed constraints, the software architecture may become vulnerable with the addition of more complex tasks and miss deadlines.

    As a result, some constraints evolve into risks. Changing requirements for hardware and software platforms introduce some uncertainty in embedded software development. Hardware manufacturer control over language, tools, and the database used by the development team may hinder flexibility. Reliability—whether for consumer devices or for industrial controls—also exists as a risk.

    Gray electronics board showing components and routing
    Making sure to think through your design in advance can help you prepare for risks.

    Design Rules Keep Your PCB Design Safe From Failure

    Design rules are stable design decisions and serve to strengthen your embedded software development. The design decisions decouple the embedded system architecture into modules through stable interfaces such as abstract data types. Strong design rules occur as key header files, globally shared data structures, and other design patterns and interfaces.

    Well-thought design rules also cover the logic that governs interaction between people and their devices (UI), the domain logic, the data-handling logic, and define relationships between subsystems. Design rules and design decisions frame the hierarchical modular structure of an embedded system. Upper layers of the hierarchy contain design rules while lower layers contain design decisions that depend on upper layer decisions.

    Based on performance requirements and design standards, the rules determine the level of interaction between the subsystems. When miscommunication threatens how teams manage a software project, risks emerge. Teams lose the ability to produce the high-quality code needed for managing complex systems and applications. Design rules establish a language for the project and add consistency to team communication.

    With the right PCB design software, you’ll be able to manage your embedded software through specific and potent design rule constraints. Thankfully, there are strong options out there for you to choose from like Altium ®’s CircuitStudio, with a large of constraints and smart design software checking for errors throughout your process.

    If you have more questions about designing with embedded software, consider talking to the experts at Altium today.

    most recent articles

    Back to Home