Chapter_4[1]
Chapter_4[1]
There are different types of hardware design tools for embedded system such as VHDL, VERILOG,
❖VHDL
❖VHSIC Hardware Description Language
❖which is a programming language that describes a logic circuit by
function, data flow behavior, and/or structure
❖VHDL is case insensitive, free format.
❖VHDL is used mainly for the development of Application Specific
Integrated Circuits (ASICs).
❖It is a programming language that is used to describe,
simulate, and create hardware like digital circuits (ICS)
❖HDL is mainly used to discover the faults in the design before
implementing it in the hardware.
Cont.. entity entity_name is
port (signal_name,signal_name : mode type;
signal_name,signal_name : mode type);
end entity_name;
Library
IEEE.STD_LOGIC_1164.ALL; imports the IEEE standard logic library.
• IEEE.STD_LOGIC_ARITH.ALL; and use IEEE.STD_LOGIC_UNSIGNED.ALL; are used for
arithmetic operations on STD_LOGIC_VECTOR.
Write the VHDL code for two input and gate using Behavioral modeling
Advantages of VHDL
•It supports various design methodologies like Top-down approach
and Bottom-up approach.
•It provides a flexible design language.
•It allows better design management.
•It allows detailed implementations.
•It supports a multi-level abstraction.
•It provides tight coupling to lower levels of design.
•It supports all CAD tools.
Designing of Embedded Systems(Software)
Software development for embedded systems involves several distinct stages.
key stages in the software development process for embedded systems:
1. Requirement Analysis: Define functional and non-functional requirements
2.System Architecture Design:
Design the overall system architecture, including hardware-software partitioning
3.Detailed Design:
Create detailed design documents for each software module using tools like UML
4. Implementation (Coding): Write the actual code for the software components. Coding standards and
guidelines specific to embedded systems.
5. Testing and Debugging: Testing ensures that the software behaves as expected and meets the requirements,
while debugging involves identifying and fixing:
6. Hardware Integration: Integrate the software with the actual hardware
Perform hardware-software co-simulation to ensure proper interaction.
7. Verification and Validation: Verification focuses on assessing whether the software is being developed
according to its specifications and requirements.
Validation, on the other hand, focuses on assessing whether the software meets the customer's needs and
expectations
8. Deployment: Prepare the software for deployment on the target hardware.
Challenges in Embedded System Design
Dependability
The dependability of a system reflects the user's degree of trust in that
system
It reflects the extent of the user's confidence that it will operate as users expect and
that it will not 'fail' in normal use.
Dependability
It covers the related systems attributes of reliability, availability and
security.
Primary Attributes of Dependability
Availability
❖ Readiness for correct service – “Uptime” as a percentage
Reliability
❖ Continuity of correct service – (How likely is it that the system can complete
a mission of a given duration?)
Safety
❖ Absence of catastrophic consequences on the user(s) and the
environment.
Primary Attributes of Dependability
Confidentiality
❖Absence of unauthorized disclosure of information
Integrity:
Maintainability:
❖ Ability to undergo repairs and modifications
Means to Attain Dependability for Embedded System
✓Error detection
✓Recovery
✓Fault handling
3
❖Fault removal – “if you don’t get it right at first, make it right”
✓Verification & validation (design phase)
4
❖Fault forecasting – “know how wrong you expect to be”
Generic Sources of Faults
2
❖Follow rule sets for more reliable software
❖Extensive testing
3
✓Development testing