The journey of designing an ASIC (application specific integrated circuit) is long and involves a number of major steps – moving from a concept to specification to tape-outs. Although the end product is typically quite small (measured in nanometers), this long journey is interesting and filled with many engineering challenges.
Today, ASIC design flow is a very mature process in silicon turnkey design. The ASIC design flow and its various steps in VLSI engineering that we describe below are based on best practices and proven methodologies in ASIC chip designs. This blog attempts to explain different steps in the ASIC design flow, starting from ASIC design concept and moving from specifications to benefits.
To ensure successful ASIC design, engineers must follow a proven ASIC design flow which is based on a good understanding of ASIC specifications, requirements, low power design and performance, with a focus on meeting the goal of right time to market. Every stage of ASIC design cycle has EDA tools that can help to implement ASIC design with ease.
This is the presentation that was shared by Nilesh Ranpura and Vineeth Mathramkote at CDNLIVE 2015. The session briefs about the implementation challenges and covers the solution approach and how to achieve results
The journey of designing an ASIC (application specific integrated circuit) is long and involves a number of major steps – moving from a concept to specification to tape-outs. Although the end product is typically quite small (measured in nanometers), this long journey is interesting and filled with many engineering challenges.
Today, ASIC design flow is a very mature process in silicon turnkey design. The ASIC design flow and its various steps in VLSI engineering that we describe below are based on best practices and proven methodologies in ASIC chip designs. This blog attempts to explain different steps in the ASIC design flow, starting from ASIC design concept and moving from specifications to benefits.
To ensure successful ASIC design, engineers must follow a proven ASIC design flow which is based on a good understanding of ASIC specifications, requirements, low power design and performance, with a focus on meeting the goal of right time to market. Every stage of ASIC design cycle has EDA tools that can help to implement ASIC design with ease.
This is the presentation that was shared by Nilesh Ranpura and Vineeth Mathramkote at CDNLIVE 2015. The session briefs about the implementation challenges and covers the solution approach and how to achieve results
RiseTime offers "Job Oriented VLSI Design & Verification Course"
In this course, you will learn both ASIC design and verification concepts. Verilog is covered as part of design and systemVerilog/UVM are covered as part of verification. The course highlights are periodical tests followed by extensive lab sessions and mock interviews.
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...VLSI SYSTEM Design
https://www.udemy.com/vlsi-academy
The very first step in chip design is floorplanning, in which the width and height of the chip, basically the area of the chip, is defined. A chip consists of two parts, 'core' and 'die'.
Timing and Design Closure in Physical Design Flows Olivier Coudert
A physical design flow consists of producing a production-worthy layout from a gate-level netlist subject to a set of constraints. We focus on the problems imposed by shrinking process technologies. It exposes the problems of timing closure, signal integrity, design variable dependencies, clock and power/ground routing, and design signoff. It also surveys some physical design flows, and outlines a refinement-based flow.
An application-specific IC (ASIC) can be either a digital or an analog circuit. As their name implies, ASICs are not reconfigurable; they perform only one specific function. For example, a speed controller IC for a remote control car is hard-wired to do one job and could never become a microprocessor. An ASIC does not contain any ability to follow alternate instructions.
In electronics, crosstalk is any phenomenon by which a signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel. Crosstalk is usually caused by undesired capacitive, inductive, or conductive coupling from one circuit or channel to another.
Crosstalk is a significant issue in structured cabling, audio electronics, integrated circuit design, wireless communication and other communications systems.
Placement is the process of determining the locations of circuit devices on a die surface. It is an important stage in the VLSI design flow, because it affects routabil- ity, performance, heat distribution, and to a less extent, power consumption of a design.
TYPES OF PLACEMENT,GOOD PLACEMENT VS. BAD PLACEMENT ,ALGORITHMS, ASIC DESIGN FLOW DIAGRAM,DEFINITION OF PLACEMENT,TECHNIQUES USED FOR PLACEMENT,PLACEMENT TRENDS,SOLUTIONS
RiseTime offers "Job Oriented VLSI Design & Verification Course"
In this course, you will learn both ASIC design and verification concepts. Verilog is covered as part of design and systemVerilog/UVM are covered as part of verification. The course highlights are periodical tests followed by extensive lab sessions and mock interviews.
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...VLSI SYSTEM Design
https://www.udemy.com/vlsi-academy
The very first step in chip design is floorplanning, in which the width and height of the chip, basically the area of the chip, is defined. A chip consists of two parts, 'core' and 'die'.
Timing and Design Closure in Physical Design Flows Olivier Coudert
A physical design flow consists of producing a production-worthy layout from a gate-level netlist subject to a set of constraints. We focus on the problems imposed by shrinking process technologies. It exposes the problems of timing closure, signal integrity, design variable dependencies, clock and power/ground routing, and design signoff. It also surveys some physical design flows, and outlines a refinement-based flow.
An application-specific IC (ASIC) can be either a digital or an analog circuit. As their name implies, ASICs are not reconfigurable; they perform only one specific function. For example, a speed controller IC for a remote control car is hard-wired to do one job and could never become a microprocessor. An ASIC does not contain any ability to follow alternate instructions.
In electronics, crosstalk is any phenomenon by which a signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel. Crosstalk is usually caused by undesired capacitive, inductive, or conductive coupling from one circuit or channel to another.
Crosstalk is a significant issue in structured cabling, audio electronics, integrated circuit design, wireless communication and other communications systems.
Placement is the process of determining the locations of circuit devices on a die surface. It is an important stage in the VLSI design flow, because it affects routabil- ity, performance, heat distribution, and to a less extent, power consumption of a design.
TYPES OF PLACEMENT,GOOD PLACEMENT VS. BAD PLACEMENT ,ALGORITHMS, ASIC DESIGN FLOW DIAGRAM,DEFINITION OF PLACEMENT,TECHNIQUES USED FOR PLACEMENT,PLACEMENT TRENDS,SOLUTIONS
Triad Semiconductor Analog and Mixed Signal ASIC Company OverviewTriad Semiconductor
Triad Semiconductor, www.triadsemi.com, designs and manufactures analog and mixed-signal custom IC solutions. We support customers in consumer, automotive, industrial, medical and defense markets. Learn how to get your products to market quickly (we've gone from kickoff to working silicon in 60 days), how to fix problems quickly and inexpensively (we've fixed problems in hours that take others months), and how to ship cost effectively (our customers are shipping over 50-million devices per year using our Agile ASIC™ technology).
Gray Coded Grayscale Image Steganoraphy using Hufman EncodingCSCJournals
Steganography is an art of hiding secret information on a cover medium through imperceptible methodology. The cover medium can be any digital entity ranging from an image, audio, video to any object which can be digitally represented. Embedding capacity, imperceptibility and robustness are the primary goal of steganography. However the requirement of the above said goal vary from application to application. The notion of the proposed work is to focus on improving embedding capacity and bring down the distortion occurring to the stego image. For accomplishing higher embedding capacity and undetectability it is not essential to rely only on the cover image and efficient embedding technique but also on the refinement of the algorithm. One such attempt has been taken in the proposed work by applying gray coding technique to the payload (secret image). The gray coded binary data is bit planed and runlength encoded, prior to the submission of Huffman enoding technique results in supporting higher embedding capacity. The experimental results shows that the assessment metrics such as peak signal to noise ratio, histogram and embedding capacity are highly improved.
VLSI Training Course in Chandigarh (Front End Design, Back End CMOS Design)Naresh Dhamija
This slideshare ppt explains what is vlsi technology, job profiles for which a VLSI Engineer can opt for, VLSI Training Details, Course Syllabus, pre qualification details, advantages of joining JK Soft Tech Solutions for VLSI Training etc.. For more information on VLSI Design Training Please visit: http://www.jksofttechsolutions.com/training/vlsi-training-in-chandigarh-pcb-gate-id-designing/
By Eduardo Lima.
If you are running Linux on an Intel GPU, chances are that your graphics driver just got much better. Mesa, the most popular open source OpenGL implementation, has got a new intermediate language to represent GLSL shader programs. It is called NIR, and is based on modern knowledge on compilers and GPU architecture. The Intel i965 driver is fully powered by NIR now, after support to non-scalar shaders has been recently added.
This talk will give the audience a tour around the work done during 2015, that culminated in the rewrite of the i965 non-scalar backend to use NIR, and was released in Mesa 11.0. It will present a brief technical overview of how NIR integrates into a Mesa backend, some important considerations, and the main challenges we faced. It will also illustrate the benefits of the new backend by comparing to the old one in terms of performance and backend code complexity.
(c) 2016 FOSDEM VZW
CC BY 2.0 BE
https://archive.fosdem.org/2016/
Unit 5_Realizing Applications in FPGA.pdfkanyaakiran
1
INDIAN KARTING RACE
2
Imperial Society
of Innovative
Engineers
Presents
INDIAN KARTING RACE (IKR 2018)
3
INDEX
Topic Page Number
Part I – ADMINISTRATIVE RULES
1. Introduction 4-6
2. Registration Requirement 7-9
3. Driver’s Requirement 8
4. Kart Eligibility 9
5. Registration Process and Deadlines 10-12
Part II – JUDGING CRITERIA
1. Pre Virtual Round 13
2. Virtual Round 13-16
3. College level Technical Inspection 16
4. Deadline and Penalties 16
5. Web based Submission 16
6. Event Points 17
7. Award List 18
PART III – TECHNICAL RULES
Vehicle Categories 20
1. Chassis Design Restriction 21-25
2. Wheels and Tyres 25-26
3. Driver’s Compartment 26
4. Steering 28
5. Braking 28-30
6. Power Unit and Transmission 30-32
7. Safety Measurements 33-36
8. Bodyworks 36-37
9. Compulsory Advertisement 37
PART IV – DYNAMIC ROUND
1. Dynamic Round Registration 38
2. Briefings 38
3. Photo Session/ Media 38-39
4. Static Event 39-40
5. Dynamic Event 41-43
6. Flags 43-44
PART V – DRIVER’S HANDBOOKS
1. Driver’s Requirement 45
2. Driver’s Equipment 45-46
3. Code of Conduct during event 46-47
4
ADMINISTRATIVE RULEBOOK
1. Introduction:
1.1. About ISIE:
Imperial Society of Innovative Engineers are well known Society of India for organizing
Motorsports events, live projects based Industrial Training and Research and publication.
ISIE – India provides a platform to the students and professionals for development and
enhancement of their technical as well as managerial skills. We are developing platform
especially for engineering students where they can easily face real-time engineering
problems and find the best solution, especially in the sector of Electric and Hybrid Vehicles.
ISIE - India is the India’s best platform for the engineering students to develop practical
skills. We believe in “Learning, Implementation, and Sharing”. The Society has a very strong
placement and consultancy wing that has an excellent network of the top companies.
Our core competencies include effective personalized industry based training and excellent
placements. ISIE is committed to the development in the field of renewable source of
energy; these are the best solution to save our environment and development of our
country. We are organizing Hybrid and Go Kart National and International event.
Our Accreditations:
Federation of Motor Sports Club of India (FMSCI) –
The FMSCI is recognized by the Government of India, Ministry of Youth Affairs and Sports as
the only National Sports Federation (NSF) for the promotion and governance of motorsports
in India. The FMSCI is also a long-standing member of the International Federations for
motorsports viz. Federation International de l' Automobile (FIA), Paris (four wheelers and
above) and Federation International de Motocyclisme (FIM), Geneva (2 and 3 wheeler
motorsports).
The FMSCI is also a member of the Indian Olympic Association. The FMSCI has a wide base
of affiliated member clubs spread across India.
ISO 9001:2008:
ISIE Awarded ISO 9001:2008 certifica
CETPA INFOTECH PVT LTD is one of the IT education and training service provider brands of India that is preferably working in 3 most important domains. It includes IT Training services, software and embedded product development and consulting services.
CETPA INFOTECH PVT LTD is one of the IT education and training service provider brands of India that is preferably working in 3 most important domains. It includes IT Training services, software and embedded product development and consulting services.
http://www.cetpainfotech.com
Learning to Spot and Refactor Inconsistent Method NamesDongsun Kim
To ensure code readability and facilitate software maintenance, program methods must be named properly. In particular, method names must be consistent with the corresponding method implementations. Debugging method names remains an important topic in the literature, where various approaches analyze commonalities among method names in a large dataset to detect inconsistent method names and suggest better ones. We note that the state-of-the-art does not analyze the implemented code itself to assess consistency. We thus propose a novel automated approach to debugging method names based on the analysis of consistency between method names and method code. The approach leverages deep feature representation techniques adapted to the nature of each artifact. Experimental results on over 2.1 million Java methods show that we can achieve up to 15 percentage points improvement over the state-of-the-art, establishing a record performance of 67.9% F1-measure in identifying inconsistent method names. We further demonstrate that our approach yields up to 25% accuracy in suggesting full names, while the state-of-the-art lags far behind at 1.1% accuracy. Finally, we report on our success in fixing 66 inconsistent method names in a live study on projects in the wild.
Exploring NISC Architectures for Matrix ApplicationIDES Editor
The paper presents the design of target NISC (No
Instruction Set Computer) architecture for matrix application
in a C based design flow. It starts with the implementation of
a standard application program which generates customized
designs using the NISC toolset. Further, it demonstrates and
analyzes the compilation and simulation results of several
matrix applications on a number of different available NISC
architectures in terms of register and execution cycle-counts.
Subsequently, a comparative analysis has been presented to
explore the options to select the best set of architecture.
Simple AEAD Hardware Interface SAEHI in a SoC: Implementing an On-Chip Keyak/...mjos
Presenter: Markku-Juhani O. Saarinen
Talk: Design and implementation of the WhirlBob and Keyak/WhirlBob embedded FPGA System-on-Chip co-processor for the second round of the CAESAR competition
Conference: TrustED 2014 - Arizona, USA, 03 November 2014,
http://th.informatik.uni-mannheim.de/trusted-workshop/2014/
PERFORMANCE ANALYSIS OF SYMMETRIC KEY CIPHERS IN LINEAR AND GRID BASED SENSOR...cscpconf
The linear and grid based Wireless Sensor Networks (WSN) are formed by applications where
objects being monitored are either placed in linear or grid based form. E.g. monitoring oil,
water or gas pipelines; perimeter surveillance; monitoring traffic level of city streets, goods
warehouse monitoring. The security of data is a critical issue for all such applications and as
the devices used for the monitoring purpose have several resource constraints (bandwidth,
storage capacity, battery life); it is significant to have a lightweight security solution. Therefore,
we consider symmetric key based solutions proposed in the literature as asymmetric based
solutions require more computation, energy and storage of keys. We analyse the symmetric
ciphers with respect to the performance parameters: RAM, ROM consumption and number of
CPU cycles. We perform this simulation analysis in Contiki Cooja by considering an example
scenario on two different motes namely: Sky and Z1. The aim of this analysis is to come up with
the best suited symmetric key based cipher for the linear and grid based WSN.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Epistemic Interaction - tuning interfaces to provide information for AI support
ASIC Design and Implementation
1. Application Specific Integrated Circuits
Design and Implementation
Maurizio Skerlj
mailto: maurizio.skerlj@alcatel.it
maurizio.skerlj@ieee.org
2. AGENDA 2
Efficient RTL;
♦
Synthesis;
♦
Static Timing Analysis;
♦
Design for Testability and Fault Coverage.
♦
ASIC, Design and Implementation - M. Skerlj
3. References 3
M. J. S. Smith: Application-Specific Integrated Circuits, Addison-
Wesley (1997).
K. K. Parhi: VLSI Digital Signal Processing Systems, John Wiley &
Sons, Inc. (1999).
R. Airiau, J. Berge, V. Olive: Circuit Synthesis with VHDL, Kluwer
Academic Publishers (1991).
D. L. Perry: VHDL (Computer Hardware Description Language),
McGraw Hill (1991).
P. Kurup, T. Abbasi: Logic Synthesis Using Synopsis, Kluwer
Academic Publishers (1997).
K. Rabia: HDL coding tips for multi-million gate ICs, EEdesign
(december 2002).
ASIC, Design and Implementation - M. Skerlj
4. Design Entry 4
s tart
prelayout
design entry
s im u l a t i o n
(1)
(4)
logic
s y n t h e s is
(2)
system
p a r titio n i n g
(3)
p o s tla y o u t floor-
s im u l a t i o n p la n n i n g
(9) (5)
placem ent
(6)
c ircuit
r o u tin g
e x t r a c tio n
(7)
(8)
end
ASIC, Design and Implementation - M. Skerlj
5. The Coding Style 5
Simulation
Speed
Readable Verification
MY_ASIC.vhd
Synthesis
Maintenance
Re-use
Portability
ASIC, Design and Implementation - M. Skerlj
6. Readable VHDL 6
• use consistent style for signal names, variables, functions,
processes, etc. (e.g. DT_name_77, CK_125, START_L,
I_instance_name, P_process_name,...)
• use the same name or similar names for ports and signal that are
connected to.
• use a consistent ordering of bits (e.g. MSB downto LSB).
• use indentation.
• use comments.
• use functions instead of repeating same sections of code.
• use loops and arrays.
• don’t mix component instantiation and RTL code.
ASIC, Design and Implementation - M. Skerlj
7. Simulation speed 7
It takes days to simulate few milliseconds of circuit real life!
Therefore it is very important to write HDL code that doesn’t
slow down the verification process.
• use arrays as much as possible instead of loops.
• priority on low frequency control signals.
• avoid process with heavy sensitivity lists (each signal in the
sensitivity list will trig the process).
ASIC, Design and Implementation - M. Skerlj
8. Verification 8
The VHDL and the consequent inferred circuit architecture
must be thought for a exhaustive verification.
•Avoid architectures for which is not clear what is the worst case or will
create difficult-to-predict problems (e.g. asynchronous clocking and
latches).
•Poor practices on clock generations (gated clocks, using both falling and
rising clock edges in the design, etc.)
•Never use clocks where generated.
•Always double-check your design with a logic synthesis tool as early as
possible. (VHDL compilers don’t check the sensitivity lists and don’t warn
you about latches)`
ASIC, Design and Implementation - M. Skerlj
9. The VHDL - RTL Subset 9
NO
• Timing delays
• Multidimensional arrays (latest l.s. tools allows it)
• Implicit finite state machines
YES
• Combinatorial circuits
• Registers
ASIC, Design and Implementation - M. Skerlj
10. Recommended Types 10
YES
• std_ulogic for signals;
• std_ulogic_vector for buses;
• unsigned for buses used in circuits implementing arithmetic
functions.
NO
• bit and bit_vector: some simulators don’t provide
built-in arithmetic functions for these types and, however, is
only a two states signal (‘X’ state is not foreseen);
• std_logic(_vector): multiple drivers will be resolved for
simulation (lack of precise synthesis semantics).
ASIC, Design and Implementation - M. Skerlj
11. Design re-use 11
Nowadays, designs costs too much to use them for only one
project. Every design or larger building block must be
thought of as intellectual property (IP).
Reuse means:
• use of the design with multiple purposes;
• design used by other designers;
• design implemented in other technologies;
Therefore, it is necessary to have strong coding style rules,
coded best practices, architectural rules and templates.
ASIC, Design and Implementation - M. Skerlj
12. Maintenance 12
Design that are implemented following rules and coding styles
shared by the design community are easy to understand and to
upgrade, prolonging its life cycle.
For the same purposes a good documentation is a must. On the
other hand, the documentation itself can be shorter, dealing only
with the general description of the block, since most of the
details will be clear from the design practices and guidelines.
ASIC, Design and Implementation - M. Skerlj
13. Documentation 13
ASIC, Design and Implementation - M. Skerlj
14. Some HDL guidelines and examples 14
ASIC, Design and Implementation - M. Skerlj
15. Combinatorial Processes 15
process(sensitivity list)
begin
statement_1;
…
statement_n;
end process;
! Only signals in the sensitivity list activate the process. If
the list is not complete, the simulation will show poor
results;
! Not assigning signals in every branch of the concurrent
statements will lead to inferred latches.
ASIC, Design and Implementation - M. Skerlj
16. Concurrent Assignments Inside 16
Processes
P_MUX1: process(sel,a,b)
begin
case sel is
when ‘0’ =>
y <= a;
a
when others => 0
y < b;
y
end case;
b 1
end process;
P_MUX2: process(sel,a,b)
begin
sel
if SEL = ‘0’ then
y <= a;
else
y <= b;
end if;
end process;
ASIC, Design and Implementation - M. Skerlj
17. Tips on Conditional Statements 17
EASY TO WRITE, DIFFICULT TO VERIFY AND MAINTAIN:
if cond1 then
…
elsif
…
else
…
end if;
DIFFICULT TO WRITE, EASY TO VERIFY AND MAINTAIN:
case sel is
when choice_1 => …
when choice_2 => …
when others => …
end if;
ASIC, Design and Implementation - M. Skerlj
18. Frequent Errors 18
if a=“00” then
y0 <= ‘0’;
elsif a=“11” then
y0 <= ‘1’;
y1 <= ‘0’;
else
y0 <= ‘0’;
y1 <= ‘1’;
end if;
y1 not always assigned => INFERRED LATCH
ASIC, Design and Implementation - M. Skerlj
19. The Use of ‘for loops’ 19
signal a,b,y: std_ulogic_vector(7 downto 0);
for I in y’range loop
y(I)<= a(I) and b(I);
end loop;
a(7)
y(7)
b(7)
...
a(0)
y(0)
b(0)
ASIC, Design and Implementation - M. Skerlj
20. Tips for ‘for loop’ Implementation 20
The for loop statement is supported by synthesis tools
when the range bounds in the loop are globally static.
When the range is not static (e.g. when one of the bounds
is a signal value), the synthesis result is not a simple
hardware duplication.
In other words, the for loop must be un-foldable.
! Often the use of for loop can be avoided using
vectors.
ASIC, Design and Implementation - M. Skerlj
21. Avoiding for loops 21
signal a: std_ulogic_vector(15 downto 0);
P_SHIFT: process(a)
begin
for I in 0 to 14 loop
a(I) <= a(I+1);
end loop;
a(15) <= a(0);
end process;
OR
a(14 downto 0) <= a(15 downto 1);
a(15) <= a(0);
ASIC, Design and Implementation - M. Skerlj
22. The Edge Triggered Enabled flip flop 22
process(CK,STARTL)
STARTL
begin
if STARTL = ‘0’ then
Q <= ‘0’;
0
elsif CK=‘1’ and CK’event then Q
if EN = ‘1’ then 1
D
Q <= D;
EN
end if;
end if; CK
end process;
ASIC, Design and Implementation - M. Skerlj
23. Finite State Machines 23
Only synchronous finite state machines are the only ones
accepted by synthesis tools.
Basics:
• The automaton is always in one of its possible sates: the
current state (stored in the state register).
• The next state may be computed using the current state and the
input values.
• Output values are computed depending on either the current
state or the transition between two states (Moore or Mealy).
• During each clock period, the state register is updated with the
previously computed state (next state)
ASIC, Design and Implementation - M. Skerlj
24. Moore and Mealy 24
Moore
OUT
IN
LOGIC
STATE
LOGIC
CK
Mealy
OUT
IN
LOGIC
STATE
LOGIC
CK
ASIC, Design and Implementation - M. Skerlj
25. FSM template 25
P_NXT_STATE: process(STATE, IN)
begin
STATE_NXT <= … logic …
end process;
P_STORE: process(CK, STARTL)
PRESENT ONLY
begin
IF MEALY
if STARTL = ‘0’ then
STATE <= (others => ‘0’);
elsif CK’event and CK=‘1’ then
STATE <= STATE_NXT;
end if;
end process;
P_OUT: process(STATE, IN)
begin
OUT <= logic(STATE, IN)
end process;
ASIC, Design and Implementation - M. Skerlj
26. One-hot vs binary coded 26
One-hot encoding sets one bit in the state register for each
state. This seems wasteful (a FSM with N states requires
exactly N flip-flops instead of log2N with binary
encoding).
One-hot encoding simplifies the logic and the interconnect
between the logic resulting often in smaller and faster FSMs.
Especially in FPGAs, where routing resources are limited,
one-hot encoding is sometimes the best choice.
ASIC, Design and Implementation - M. Skerlj
27. The Metastability Phenomenon 27
Metastability may occur when the data input changes too
close to the clock edges (setup or hold violation). In such
cases the flip-flop cannot decide whether its output should
be a ‘1’ or a ‘0’ for a long time. This situation is called an
upset.
This cannot occur in fully synchronous design if timing
constraints were met. However it may rise the opportunity to
register signals that come from the outside world (or form
another clock domain).
ASIC, Design and Implementation - M. Skerlj
28. Metastability Theory 28
Experimentally was found that the probability of upset is:
− tr
τc
p = T0 e
where tr is the time the flip-flop has to resolve the output, T0 and
τc are flip-flop constant.
The Mean Time Between Upsets (MTBU) is
1
MTBU =
p ⋅ f CK ⋅ f DT
Therefore even if the data is changing slowly, simple
oversampling is not an error-free technique.
ASIC, Design and Implementation - M. Skerlj
29. Input Synchronisation 29
Using two flip-flops in cascade greatly reduces the overall
value of τc and T0 and as a consequence the probability of
upset, p.
When the first flip-flop capture an intermediate voltage
level (‘X’) the flip-flop takes some time to resolve in a ‘0’
or ‘1’ level. The resolution time is usually several times
longer than the clock-to-out time of the flip-flop, but less
than the clock period. However the second flip-flop is
always capturing stable data.
The penalty is an extra clock cycle latency.
ASIC, Design and Implementation - M. Skerlj
30. Pipelining and Parallel Processing 30
Pipelining transformation leads to a reduction in the critical path,
which can be exploited to either increase the sample speed or to reduce
power consumption at same speed.
Pipelining reduces the effective critical path by introducing pipelining
delays along the datapath.
In parallel processing, multiple outputs are computed in a clock period.
Parallel processing increase the sampling rate by replicating the
hardware so that several inputs can be processed a the same time.
Therefore, the effective sampling speed is increased by the level of
parallelism.
ASIC, Design and Implementation - M. Skerlj
31. Pipelining 31
The pipelining latches can only be placed across any feed-forward cutset of the
graph. We can arbitrarily place latches on a feed-forward cutset without affecting
the functionality of the algorithm.
f.f. cutset cutset
D
In an M-level pipelined system, the number of delay elements in any path from
input to output is (M-1) greater than that in the same path in the original system.
The two main drawbacks of the pipelining are increase in the number of latches
(area) and in system latency.
ASIC, Design and Implementation - M. Skerlj
32. Parallel Processing 32
To obtain a parallel processing system, the SISO (single input –
single output) system must be converted into a MIMO (multiple
input – multiple output).
In a parallelized system the critical path remain the same. It is
important to understand that in a parallel system the clock period
Tck and the sample period TS are different. In an M-level
parallelized system holds
Tck=M TS
ASIC, Design and Implementation - M. Skerlj
33. Pipelining and Parallel Processing 33
Dualism (1)
Parallel processing and pipelining techniques are duals of each
other. If a computation can be pipelined, it can also be processed
in parallel and vice versa.
While independent sets of computation are performed in an
interleaved manner in a pipelined system, they are computed in
parallel processing mode by means of duplicate hardware.
ASIC, Design and Implementation - M. Skerlj
34. Pipelining and Parallel Processing 34
Dualism (2)
y[2n]
x[2n]
x[n] y[n]
y[2n+1]
x[2n+1]
ASIC, Design and Implementation - M. Skerlj
35. Folding 35
It is important to minimize the silicon area of the integrated circuits,
which is achieved by reducing the number of functional units,
registers, multiplexers, and interconnection wires.
By executing multiple algorithm operations on a single functional unit,
the number of functional units in the implementation is reduced,
resulting in a smaller silicon area.
Folding provides a means for trading area for time in a DSP
architecture. In general, folding can be used to reduce the number of
hardware functional units by a factor N at the expense of increasing the
computation time by a factor of N.
ASIC, Design and Implementation - M. Skerlj
36. Folding Example 36
b(n) c(n)
a(n) y(n)
+ +
c(n)
b(n)
a(n)
y(n)
D
+
ASIC, Design and Implementation - M. Skerlj
37. Case Study: Frame Aligner 37
payload
FAW
N
payload
N
payload
Phase
2N
payload
FAW FAW
Rotator
FAW
FAW
payload
ASIC, Design and Implementation - M. Skerlj
38. Using for-loop 38
entity ROT_FOR7 is
Port (PHASE : In std_ulogic_vector (6 downto 0);
STACK : In std_ulogic_vector (255 downto 0);
DT_OUT : Out std_ulogic_vector (127 downto 0)
);
end ROT_FOR7;
architecture BEHAVIORAL of ROT_FOR7 is
CONSTANT N : Integer :=7;
signal INT_PHASE :integer range 0 to 127;
begin
INT_PHASE <= conv_integer(unsigned(PHASE));
p1 : process(INT_PHASE, STACK)
begin
for i in 0 to (2**N-1) loop
DT_OUT(i) <= STACK(i+INT_PHASE+1);
end loop;
end process;
end BEHAVIORAL;
ASIC, Design and Implementation - M. Skerlj
39. Using a low level description 39
architecture BEHAVIORAL of ROT_STK7 is
CONSTANT N : Integer :=7;
CONSTANT DIM0 : Integer := 2**(N+1) -1; -- 255
CONSTANT DIM1 : Integer := DIM0 - 2**(N-1); -- 191
[ ... ]
CONSTANT DIM7 : Integer := DIM6 - 2**(N-7); -- 128
begin
p1 : process(PHASE, STACK)
VARIABLE stack0 : std_ulogic_vector(DIM0-1 downto 0);
[...]
VARIABLE stack7 : std_ulogic_vector(DIM7-1 downto 0);
begin
stack0(DIM0-1 downto 0) := STACK(DIM0 downto 1);
IF (PHASE(N-1) = '1') THEN stack1(DIM1-1 downto 0) := stack0(DIM0-1 downto DIM0-DIM1);
ELSE stack1(DIM1-1 downto 0) := stack0(DIM1-1 downto 0); END IF;
IF (PHASE(N-2) = '1') THEN stack2(DIM2-1 downto 0) := stack1(DIM1-1 downto DIM1-DIM2);
ELSE stack2(DIM2-1 downto 0) := stack1(DIM2-1 downto 0); END IF;
IF (PHASE(N-3) = '1') THEN stack3(DIM3-1 downto 0) := stack2(DIM2-1 downto DIM2-DIM3);
ELSE stack3(DIM3-1 downto 0) := stack2(DIM3-1 downto 0); END IF;
IF (PHASE(N-4) = '1') THEN stack4(DIM4-1 downto 0) := stack3(DIM3-1 downto DIM3-DIM4);
ELSE stack4(DIM4-1 downto 0) := stack3(DIM4-1 downto 0); END IF;
IF (PHASE(N-5) = '1') THEN stack5(DIM5-1 downto 0) := stack4(DIM4-1 downto DIM4-DIM5);
ELSE stack5(DIM5-1 downto 0) := stack4(DIM5-1 downto 0); END IF;
IF (PHASE(N-6) = '1') THEN stack6(DIM6-1 downto 0) := stack5(DIM5-1 downto DIM5-DIM6);
ELSE stack6(DIM6-1 downto 0) := stack5(DIM6-1 downto 0); END IF;
IF (PHASE(N-7) = '1') THEN stack7(DIM7-1 downto 0) := stack6(DIM6-1 downto DIM6-DIM7);
ELSE stack7(DIM7-1 downto 0) := stack6(DIM7-1 downto 0); END IF;
DT_OUT <= stack7;
end process;
ASIC, Design and Implementation - M. Skerlj
40. Synthesis report: Area 40
synthesis report: area
90000
80000
70000
60000
50000 stack
for
40000 bus
30000
20000
10000
0
2 3 4 5 6 7
18 71.5 185 454 1087 2487.5
stack
70.5 242.5 1249 4514 15767 88585.5
for
30.5 117.5 391.5 1432 5550 21766.5
bus
ASIC, Design and Implementation - M. Skerlj
41. Synthesis: CPU Time 41
synthesis report: CPU time
3:21:36
2:52:48
2:24:00
1:55:12
STACK
FOR
BUS
1:26:24
0:57:36
0:28:48
0:00:00
1 2 3 4 5 6
0:00:20 0:00:08 0:00:09 0:00:14 0:00:24 0:00:48
STACK
0:00:35 0:00:32 0:00:51 0:05:52 0:11:32 3:07:57
FOR
0:00:19 0:00:13 0:00:13 0:00:36 0:02:34 0:17:03
BUS
ASIC, Design and Implementation - M. Skerlj
42. Functional Verification 42
start
p r e layout
design entry
sim u lation
(1)
(4)
logic
synthesis
(2)
system
p a r titioning
(3)
postlayout floor-
sim u lation planning
(9) (5)
placem e n t
(6)
circuit
routing
extraction
(7)
(8)
end
ASIC, Design and Implementation - M. Skerlj
43. Pre- and Post Layout Simulation 43
ASIC, Design and Implementation - M. Skerlj
44. Logic Synthesis 44
start
prelayout
design entry
simulation
(1)
(4)
logic
synthesis
(2)
system
partitioning
(3)
postlayout floor-
simulation planning
(9) (5)
placement
(6)
circuit
routing
extraction
(7)
(8)
end
ASIC, Design and Implementation - M. Skerlj
45. RTL Block Synthesis 45
Rewrite
Write RTL
HDL Code
N
Simulate
OK?
Y
Y
Synthesize
Major N Constraints & Attributes
HDL Code
Violations? Area & Timing Goals
To Gates
Met
N
Analysis Constraints?
Y
ASIC, Design and Implementation - M. Skerlj
46. Technology Library 46
Cell Name
cell ( AND2_3 ) {
area : 8.000 ;
Cell Area
pin ( Y ) {
direction : output;
timing ( ) {
related_pin : quot;Aquot; ; t
timing_sense : positive_unate ;
rise_propagation (drive_3_table_1) {
Y=A+B
values (quot;0.2616, 0.2608, 0.2831,..)
}
rise_transition (drive_3_table_2) {
values (quot;0.0223, 0.0254, ...)
....
} Nominal Delays
function : quot;(A & B)quot;;
max_capacitance : 1.14810 ;
Cell Functionality
min_capacitance : 0.00220 ;
}
pin ( A ) { Design Rules for
direction : input;
Output Pin
capacitance : 0.012000;
}
Electrical Characteristics of
....
Input Pins
ASIC, Design and Implementation - M. Skerlj
47. Wire-load Model 47
With the shrinking of process geometries, the delays incurred by the
switching of transistors become smaller. On the other hand, delays due to
physical characteristics (R, C) connecting the transistors become larger.
Logical synthesis tools do not take into consideration “physical” information
like placement when optimizing the design. Further the wire load models
specified in the technology library are based on statistical estimations.
In-accuracies in wire-load models and the actual placement and routing can
lead to synthesized designs which are un-routable or don’t meet timing
requirements after routing.
ASIC, Design and Implementation - M. Skerlj
48. Post layout timing analysis (FPGA) 48
ASIC, Design and Implementation - M. Skerlj
49. Timing Analysis 49
start
prelayout
design entry
simulation
(1)
(4)
logic
synthesis
(2)
system
partitioning
(3)
postlayout floor-
simulation planning
(9) (5)
placement
(6)
circuit
routing
extraction
(7)
(8)
end
ASIC, Design and Implementation - M. Skerlj
50. Timing Goals: Synchronous Designs 50
Synchronous Designs:
•
Data arrives from a clocked device
•
Data goes to a clocked device
•
Objective:
•
Define the timing constraints for all paths within a design:
•
all input logic paths
•
• the internal (register to register) paths, and
• all output paths
ASIC, Design and Implementation - M. Skerlj
51. Constraining the Input Paths 51
TO_BE_SYNTHESIZED
External Logic
Launch edge M N
A
triggers D Q D Q
data
Clk Next edge
Clk
captures data
TSETUP
TClk-q TM TN
Clk
Valid new data
A
(TClk-q + TM) (TN + TSETUP)
(Input Delay)
ASIC, Design and Implementation - M. Skerlj
52. Constraining Output Paths of a 52
Design
External Logic External
TO_BE_SYNTHESIZED
U3 Launches
Flip-Flop
Data U3 B T
S
captures
D Q D Q
data
Clk
Ts TT TSETUP
TClk-q
Launch Edge Capture Edge
Clk
Valid new data
B
TClk-q + TS TT + TSETUP
(Output Delay)
ASIC, Design and Implementation - M. Skerlj
53. Static Timing Analysis 53
Static Timing Analysis can determine if a circuit meets timing constraints
•
without dynamic simulation
This involves three main steps:
•
Design is broken down into sets of timing paths
•
The delay of each path is calculated
•
All path delays are checked to see if timing constraints have been met
•
Path 2
Path 1
A D Q Z
CLK
Path 3
ASIC, Design and Implementation - M. Skerlj
54. Calculating a Path Delay 54
To obtain the path delay you have to add all the net and cell
timing arcs along the path.
0.54
0.66
1.0 0.43
D1
0.32 0.23
U33
0.25
path_delay = (1.0 + 0.54 + 0.32 + 0.66 + 0.23 + 0.43 + 0.25) = 3.43 ns
ASIC, Design and Implementation - M. Skerlj
56. Test for Manufacturing Defects 56
The manufacturing test is created to detect manufacturing defects and
•
reject those parts before shipment
Debug manufacturing process
•
Improve process yield
•
ASIC, Design and Implementation - M. Skerlj
57. The importance of Test 57
Cost Operation description
$1 to fix an IC (throw it away)
$10 to find and replace a bad IC on a board
$100 to find a bad board in a system
$1000 to find a bad component in a fielded system
ASIC, Design and Implementation - M. Skerlj
58. Test Case Study 58
ASIC defect Defective Total PCB Defective Total repair cost
level ASICs repair cost boards at a system level
5% 5000 $1million 500 $5million
1% 1000 $200,000 100 $1milion
0.1% 100 $20,000 10 $100,000
0.01% 10 $2,000 1 $10,000
Assumptions
• the number of part shipped is 100,000;
• part price is $10;
• total part cost is $1million;
• the cost of a fault in an assembled PCB is $200;
• system cost is $5000;
•the cost of repairing or replacing a system due to failure is $10,000.
ASIC, Design and Implementation - M. Skerlj
59. Manufacturing Defects 59
Electrical Effects
Physical Defects
Shorts (Bridging Faults)
Silicon Defects l
l
l Opens
l Photolithography Defects
l Transistor Stuck On/Open
l Mask Contamination
l Resistive Short/Open
l Process Variations
l Changes in Threshold Voltage
l Defective Oxide
Logical Effects
Logic Stuck-at-0/1
l
l Slower Transitions (Delay Fault)
l AND-bridging, OR-bridging
ASIC, Design and Implementation - M. Skerlj
60. Fault models 60
Logical fault
Fault Physical fault Degradation Open-circuit Short-circuit
level fault fault fault
Chip
Leakage or short between package leads * *
Broken, misaligned, or poor wire bonding *
Surface contamination *
Metal migration, stress, peeling * *
Metallization (open/short) * *
Gate
Contact opens *
Gate to S/D junction short * *
Field-oxide parasitic device * *
Gate-oxide imperfection, spiking * *
Mask misalignement * *
ASIC, Design and Implementation - M. Skerlj
61. How is Manufacturing Test 61
Performed?
Automatic Test Equipment (ATE) applies input stimulus to the Device Under Test
•
(DUT) and measures the output response
Outputs
Inputs DUT
If the ATE observes a response different from the expected response, the DUT fails
•
manufacturing test
The process of generating the input stimulus and corresponding output response is
•
known as Test Generation
ASIC, Design and Implementation - M. Skerlj
62. ATE 62
ASIC, Design and Implementation - M. Skerlj
63. Stuck-at Fault Model 63
The single stuck-at fault (SSF) model assumes that there is just one fault in the
logic we are testing.
We use a SSF model because a multiple stuck-at fault model is too complicated
to implement.
In the SSF model we further assume that the effect of the physical fault is to
create only two kinds of logical fault (SA1 and SA0). The place where we inject
faults is called the fault origin (net/input/output faults).
When a fault changes the circuit behaviour, the change is called the fault effect.
Fault effects travel through the circuit to other logic cells causing other fault
effects (fault propagation).
ASIC, Design and Implementation - M. Skerlj
64. Single “Stuck-at” Fault Model: 64
Example
Model manufacturing defects with a “Stuck-at” Fault
SA0
ASIC, Design and Implementation - M. Skerlj
65. Controllability 65
Ability to set internal nodes to a specific value
1/0
0
ASIC, Design and Implementation - M. Skerlj
66. Observability 66
Ability to propagate the fault effect from an internal node to
a primary output port
1 1/0
1/0
0/1
0
1
1
-
ASIC, Design and Implementation - M. Skerlj
67. Fault collapsing 67
Stuck-at faults attached to different points may produce identical fault
effects.
Using fault collapsing we can group these equivalent faults into a fault-
equivalent class (representative fault).
If any of the test that detect a fault B also detects fault A, but only some of
the the test for fault A also detect fault B, we say that A is a dominant
fault (some texts uses the opposite definition). To reduce the number of
tests we will pick the test for the dominated fault B (dominant fault
collapsing).
Example: output SA0 for a two-input NAND dominates either input SA1
faults.
ASIC, Design and Implementation - M. Skerlj
68. Fault Simulation and Fault Coverage 68
We use fault simulation to see what happens in a design when deliberately introduce
faults. In a production test we only have access to the package pins: primary
inputs/outputs (PI/PO).
To test an ASIC we must devise a series of sets of input patterns that will detect any
faults.
If the simulation shows that th POs of the faulty circuit are different than the PIs of
the good circuit at any strobe time, then we have a detected fault; otherwise we have
an undetected fault. At the end of the simulation we can find the fault coverage
detected faults
fault coverage =
detectable faults
ASIC, Design and Implementation - M. Skerlj
69. Fault Coverage and Defect Coverage 69
Fault Coverage Average defect level Average Quality Level (AQL)
50% 7% 93%
90% 3% 97%
95% 1% 99%
99% 0.1% 99.9%
99.9% 0.01% 99.99%
These results are experimental and they are the only justification for our
assumptions in adopting the SSF model.
ASIC, Design and Implementation - M. Skerlj
70. Quiescent Leakage Current 70
A CMOS transistor in never completely off because of subthreshold and
leakage current.
• Subthreshold current: VGS = 0 but trough the transistor a current of few
pA/µm is flowing.
• Leakage current: The sources and drains of every transistor and the junctions
between the wells and substrate form parasitic diodes. Reverse-biased diodes
conducts a very small leakage current.
The quiescent leakage current (IDDQ) is the current measured when we test an
ASIC with no signal activity and must have the same order of magnitude than
the sum of the subthreshold and leakage current.
A measurement of more current than this in a non-active CMOS ASIC indicates
a problem with the chip manufacture (or the design).
ASIC, Design and Implementation - M. Skerlj
71. Measuring the IDDQ Externally 71
♦ With specific ATE (Automatic Test Equipment)
• no dedicated circuits on chip;
• no impact on chip performance;
• external ad-hoc ATPG;
• time consuming.
ASIC, Design and Implementation - M. Skerlj
72. Measuring the IDDQ on Chip 72
♦ With a current sensor (BICM)
• dedicated circuitry;
• internal ATPG or scan to lead the device in the quiescent
mode;
• impact on chip due to voltage drop over the BICM;
Vdd
Idd
BICM
In Out
CUT
Vss
ASIC, Design and Implementation - M. Skerlj
73. IDDQ Test 73
• The IDDQ test reveals shorts but not opens;
• A 100% coverage may be expensive;
• Multiple samples of the current are necessary for a meaning
test.
• Quiescent IDD depends from the design but also mainly
from process and package;
ASIC, Design and Implementation - M. Skerlj
74. Testing a Multistage, Pipelined 74
Design
Need to observe results at the
Test for SA0 fault here
output of the design.
1
0
0
1
Need to set input pins to specific values so that
nets within pipeline can be set to values which test
for a fault
Each fault tested requires a predictive means for both controlling the input and
observing the results downstream from the fault.
ASIC, Design and Implementation - M. Skerlj
75. Scan Chains 75
Gains:
l Scan chain initializes nets within the design (adds controllability);
l Scan chain captures results from within the design (adds observability).
Paid price:
l Inserting a scan chain involves replacing all Flip-Flops with scannable
Flip-Flops;
l Scan FF will affect the circuit timing and area.
ASIC, Design and Implementation - M. Skerlj
76. Inaccuracy Due to Scan Replacements 76
Larger area than non-scan registers; Additional fanout and
capacitive loading
TI
Larger setup time 1
1
TI
requirement DO DI
0
0
DI
TE
CLK
CLK
ASIC, Design and Implementation - M. Skerlj
77. Testability Violation: Example 77
D N
Q
SI
SE
SE
What would happen if, during test, a ‘1’ is shifted into the FF? We would
never be able to “clock” the Flip-Flop!
Therefore, the FF cannot be allowed to be part of a scan chain. Logic in the net
‘N’ cannot be tested.
The above circuit
l violates good ‘DFT’ practices;
l reduces the fault coverage.
ASIC, Design and Implementation - M. Skerlj
78. Synthesizing for Test Summary 78
Test is a design methodology: it has its own testability
•
design rules.
Most problems associated with test can be anticipated and
•
corrected in advance, during the initial compile of the HDL
code.
ASIC, Design and Implementation - M. Skerlj
79. Built-in Self-test 79
Built-in Self-test (BIST) is a set of structured-test techniques for combinatorial and
sequential logic, memories, etc.
The working principle is to generate test vectors, apply them to the circuit under
test (CUT) and then check the response. In order to produce long test vectors linear
feedback shift register (LFSR) are used. By correctly choosing the points at which
we take the feedback form an n-bit SR we can produce a pseudo random binary
sequence (PRBS) of a maximal length (2n-1).
CK CK
CK
ASIC, Design and Implementation - M. Skerlj
80. Signature Analysis 80
Q1 Q2
Q0
IN
CK CK
CK
If we apply a binary input sequence to IN, the shift register will perform data compression
on the input sequence. At the end of the input sequence the shift-register contents,
Q0Q1Q2, will form a pattern called signature.
If the input sequence and the serial-input signature register are long enough, it is
unlikely that two different input sequences will produce the same signature.
If the input sequence comes form logic under test, a fault in the logic will cause the input
sequence to change. This causes the signature to change from a known value and we
conclude that the CUT is bad.
ASIC, Design and Implementation - M. Skerlj
81. The IEEE 1149.1 Standard 81
In 1985 a group of European manufacturers formed the Joint European Test Action
Group, later renamed in JTAG (1986). The JTAG 2.0 test standard formed the basis
of the IEEE Standard 1149.1 Test Port and Boundary-Scan Architecture (1990).
Boundary-Scan test (BST) is a method for testing boards using a four-wire interface
(with a fifth optional master reset signal). The BST standard was designed to test
boards , but it’s also useful to test ASICs.
We can automatically generate test vectors for combinational logic, but ATPG
(Automatic Test Pattern Generation) is much harder to sequential logic.
In full scan design we replace every sequential element with a scan flip-flop. The result
is an internal form of boundary scan and we can use the IEEE 1149.1 TAP to access an
internal scan chain.
ASIC, Design and Implementation - M. Skerlj
82. Boundary Scan Chain 82
Each IO pin is replaced with a multi-purpose element called Boundary Scan
cell.
scan out
scan in
PINs
CORE
BS cell
ASIC, Design and Implementation - M. Skerlj
83. The BS Architecture 83
TDI TCK TMSTRST TDO
TAP CONTROLLER MUX
INSTRUCTION REGISTERS
TEST DATA REGISTERS
CORE
ASIC, Design and Implementation - M. Skerlj
84. The BS Cell 84
SERIAL OUT
DATAIN
DATAOUT
D Q D Q
CK CK
SERIALIN
MODE
SHIFT/LOAD
CLOCK
UPDATE
ASIC, Design and Implementation - M. Skerlj
85. BISR: Increasing the Process Yield 85
Increasing size, density and complexity in memory technologies
lead to higher defect density and, consequently, a decrease in
process yield.
A cost- and time-effective solution is built-in self-repair (BISR). It
consists of replacing, on silicon, the defective memory columns by
spare columns available next to the functional memory. BISR is
implemented at the column, row, block or bit level. Using non-
volatile blocks to store the memory reconfiguration improves the
memory production yield.
ASIC, Design and Implementation - M. Skerlj
86. BISR: Increasing Reliability 86
Reliability aspect is also considered by chip manufacturers. High
memory size and high-end memory technologies often lead to an
increasing number of defects that happen during the product life.
BISR solutions allow the memory to be tested in the filed and the
defective memory blocks to be replaced by redundant blocks that
are not defective. If the memory contains critical contents,
transparent BISR allows defective blocks to be tested and replaced
without losing the original memory content.
ASIC, Design and Implementation - M. Skerlj
87. Layout (ASICs) 87
Placement
•
Clock Tree Synthesis
•
Routing
•
Netlist Optimisation
•
Physical Analysis
•
Cross Talk
•
Signal Integrity
•
Electro Migration
•
IR Drop
•
ASIC, Design and Implementation - M. Skerlj
88. Layout & Floorplan (FPGAs) 88
ASIC, Design and Implementation - M. Skerlj