ELEC 371 SoC / Embedded System
Describe what computer-aided design tools can do for SoC's?
- CAD tools ease the design task. - Tools integrate/configure modules, then synthesize entire system for chip configuration. - Altera Qsys used for module configuration and integration. - Quarthus II used for full system synthesis.
How is a FPGA system configured?
- Configuring means writing 0/1s to dedicated SRAM cells for look-up tables and switches that control routing in network. Prototyping - done with cable Production - flashing EEPROM.
Why would you use assembly over C?
- Higher performance - Limited memory available (automatic stack growth with C code) - Allows for tighter control when required
What is a SoC?
- Integration of i/o features in microcontroller to reduce chip count and system. -there exists commercial platforms that hopefully can satisfy the design constraints, but custom options also exist (if you have the money)
What are the methods of a SoC system program in C?
- constant definitions - interrupt_handler (handling the interrupts) - Init (software initialization, hardware initialization, ienable / status updates. - main function (usually infinite loop)
What does a designer have to take into consideration for the testing and reliability of an integrated circuit?
-Must be testable on a factory floor to reduce overall engineering/production costs. - Must be automatable (the testing) - Lifetime of an embedded system is 10+ years, so much be designed to be robust.
How are custom SoC designs sped up?
Designers use libraries of predefined modules such as timers, i/o interfaces, etc. CAD tools help integrate the modules together. Need to then fabricate the chip which can cost millions.
Define embedded system
A physical system that employs computer-based control for a specific purpose. Embedded systems are characterized as being reactive systems, which means that the execution of routines are dictated by events external to the processor.
Within an FPGA, briefly describe the nature of the address line connecitons
Address line connections are unidirectional since tristate pins arent used. One source of address information - the processor. Inside an FPGA internal routing between logic blocks must carry address bits.
Define microcontroller
An integrated circuit chip that incorporates a microprocessor along with memory, i/o interfaces, timers, and other features. Usually designed to achieve three objectives: small size, low cost, and low power consumption.
What are example constraints that might involve the microcontrolelrs?
Cost vs Data Size/Width - 16bit/32bit processors larger, costlier, and more power consuming vs a smaller data width processor. Input/Output Capability - Serial, parallel ports, DA/AD convertors, want to handle these on the chip, but the more you have the more expensive the chip. - Select a chip that has the least 'extra' capabilities On-chip Memory - Require enough ROM for read-only code/data and enough RAM for other variable data - If we might need to change/update ROM, use EEPROM instead. - For high volume, better to use ROM (cheaper) - Some applications require large memory (desktops) so use SRAM / SDRAM Power Consumption - Affects cost through chip selection and cooling. Want to use low-power chips. - If tight constraints w/ battery, want to use something with a sleep state.
Within an FPGA, briefly describe data line connections FROM the processor.
Data lines from the processor are one-to-many so they are wired from the processor output to destination inputs.
What is the difference between a hard and software processor core?
Hard: - Processor core directly part of chip with benefit of faster clock, lower power. Soft: - Processor is configured within programmable logic fabric of chip providing more flexibility but slower clock.
What development tools are used for microcontrollers?
Integrated development environments (IDEs) - Used for code development CAD software - Used for SoC Design with FPGAs.
What is a reactive system?
One where the execution of routines is dictated by events external to the processor.
What are the pros/cons of an FPGA implementation of a SoC?
Pros - Full freedom to combine predefined and custom elements. - Existing CAD tools to simplify the process - Completed implementation can be simulated without the lead up time required to fabricate the chip. - Can access large logic/memory capacity - Overall engineering costs are lower (reduced development time required) Cons - Higher cost per chip.
Compare RISC vs CISC instruction set architectures
RISC - Load/store require more instructions for arithmetic, stack management. CISC - Small CISC register sets require more instructions for register spilling (when register fills up and spills onto stack). -Interrupt mechanism is another issue. - ARM is a hybrid between the two.
What processor options can you get with an Altera Nios II?
Soft processor: - No caches, all accesses go to memory - Instruction cache for simple i/o accesses - Instruction and data caches to ensure maximum performance, but i/o access must be handled carefully. - Can decide to have multiplier circuit - Can create new instructions with C macros to support them.
Within an FPGA, describe or show the data line connections to the processor.
The data line connections to the process are many-to-one and go through a 2-to-1 MUX at each data output source which is selected using chip select/enable. These are then fed through an OR gate which is connected to the processor's data in line.