The document discusses how FPGAs can fail due to timing violations even when programmed correctly. It introduces Richard Feynman's "File Clerk Model" (FCM) as an intuitive way to understand these failures. Using the FCM analogy, the presentation explains how timing violations can cause errors by sensitizing logic and generating transient "maybe" states. It also discusses specific error cases like clock domain crossing and radiation-induced aging. The overall message is that timing constraints are crucial for reliable FPGA operation, and the FCM provides system-level insights into how timing errors can occur.
Slides fra InfInIT arrangement i interessegruppen for Embedded Systems Engineering
http://www.infinit.dk/dk/arrangementer/tidligere_arrangementer/sweet---a-tool-for-wcet-flow-analysis.htm
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2qoUklo.
Mark Price talks about techniques for making performance testing a first-class citizen in a Continuous Delivery pipeline. He covers a number of war stories experienced by the team building one of the world's most advanced trading exchanges. Filmed at qconlondon.com.
Mark Price is a Senior Performance Engineer at Improbable.io, working on optimizing and scaling reality-scale simulations. Previously, he worked as Lead Performance Engineer at LMAX Exchange, where he helped to optimize the platform to become one of the world's fastest FX exchanges.
Spyglass DFT is comprehensive process of resolving RTL Design issues, thereby ensuring high quality RTL with fewer design bugs.
Improves test quality by diagnosing DFT issues early at RTL or netlist.
Shortens test implementation time and cost by ensuring RTL or netlist is scan-compliant.
Slides fra InfInIT arrangement i interessegruppen for Embedded Systems Engineering
http://www.infinit.dk/dk/arrangementer/tidligere_arrangementer/sweet---a-tool-for-wcet-flow-analysis.htm
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2qoUklo.
Mark Price talks about techniques for making performance testing a first-class citizen in a Continuous Delivery pipeline. He covers a number of war stories experienced by the team building one of the world's most advanced trading exchanges. Filmed at qconlondon.com.
Mark Price is a Senior Performance Engineer at Improbable.io, working on optimizing and scaling reality-scale simulations. Previously, he worked as Lead Performance Engineer at LMAX Exchange, where he helped to optimize the platform to become one of the world's fastest FX exchanges.
Spyglass DFT is comprehensive process of resolving RTL Design issues, thereby ensuring high quality RTL with fewer design bugs.
Improves test quality by diagnosing DFT issues early at RTL or netlist.
Shortens test implementation time and cost by ensuring RTL or netlist is scan-compliant.
Scan design is currently the most popular structured DFT approach. It is implemented by Connecting selected storage elements present in the design into multiple shift registers, called Scan chains.
Scannability Rules -->
The tool perform basic two check
1) It ensures all the defined clocks including set/Reset are at their off-states, the sequential element remain stable and inactive. (S1)
2) It ensures for each defined clocks can capture data when all other defined clocks are off. (S2)
Working in teams is more effective than individual work, But the main obstacle that any corporate faces is the synchronization between each team, One of the functions that is affected by this obstacle is 'Coding', Working on massive and multidisciplinary projects which need the contribution of several teams specially at the coding phase is opposed by the miss coordination when running the mother code.
So corporate developed some tools to overcome this situation using code version control and Tracker System.
TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow
5W+1H Static Analysis Report Quality Measure
Maxim Menshchikov, Timur Lepikhin, Oktetlabs
For video follow the link: https://youtu.be/bjW6_rMCZB8
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa
Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro
Qualifying a high performance memory subsysten for Functional SafetyPankaj Singh
Addressing the Challenges of Safety verification for LPDDR4.
✓Avoid traditional approach of starting functional safety after functional verification : Iterative and expensive development phase
1. Functional Safety Need to be Architected and not added later.
2. Safety Analysis must start prior to implementation. ‘Design for safety/verification’
3. Reuse & Synergize : Nominal and Functional Safety Verification.
✓Fault optimization with formal and other techniques is necessary to overcome challenges with scaling simulation and analysis.
✓Integrated push button fault simulation flow is need of hour and saves verification engineers time.
✓Analog defect modelling and coverage can be performed based on IEEE P2427.
An Approach to Overcome Modeling Inaccuracies for Performance Simulation Sig...Pankaj Singh
RNM is finding prominence in functional verification signoff, However there is clear modeling gap when it comes to performance simulation of high-speed SerDes. Sometimes the pre-silicon simulation results show passing results with respect to Jitter tolerance (JTOL) specification which may not match the actual silicon validation results. These performance issues manifest due to inaccuracies of model where it may not comprehend the actual circuit behavior. There is no clear methodology to overcome these model gaps for performance simulation signoff.
This paper discusses in detail the techniques used to accurately model and verify high-speed SerDes systems for performance simulation.
2008-10-09 - Bits and Chips Conference - Embedded Systemen Architecture patternsJaap van Ekris
In the past, embedded software was intended to automate simple isolated tasks for dedicated purposes. However, there is a trend towards integrating embedded components into large networks which can perform complex tasks. Customers expect systems to be open and extensible, to prepare for future challenges. This introduces new challenges for embedded software engineers: the integration of components into larger integrated networks poses new demands upon component quality (how to prepare a component for all possible future assemblies) as well as an integrated system architecture viewpoint (how to construct a flexible but secure and reliable network).
In this presentation we show, based on practical examples, what the value of systematic thinking of software quality and systems architecture is in developing complex integrated embedded systems.
Scan design is currently the most popular structured DFT approach. It is implemented by Connecting selected storage elements present in the design into multiple shift registers, called Scan chains.
Scannability Rules -->
The tool perform basic two check
1) It ensures all the defined clocks including set/Reset are at their off-states, the sequential element remain stable and inactive. (S1)
2) It ensures for each defined clocks can capture data when all other defined clocks are off. (S2)
Working in teams is more effective than individual work, But the main obstacle that any corporate faces is the synchronization between each team, One of the functions that is affected by this obstacle is 'Coding', Working on massive and multidisciplinary projects which need the contribution of several teams specially at the coding phase is opposed by the miss coordination when running the mother code.
So corporate developed some tools to overcome this situation using code version control and Tracker System.
TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow
5W+1H Static Analysis Report Quality Measure
Maxim Menshchikov, Timur Lepikhin, Oktetlabs
For video follow the link: https://youtu.be/bjW6_rMCZB8
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa
Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro
Qualifying a high performance memory subsysten for Functional SafetyPankaj Singh
Addressing the Challenges of Safety verification for LPDDR4.
✓Avoid traditional approach of starting functional safety after functional verification : Iterative and expensive development phase
1. Functional Safety Need to be Architected and not added later.
2. Safety Analysis must start prior to implementation. ‘Design for safety/verification’
3. Reuse & Synergize : Nominal and Functional Safety Verification.
✓Fault optimization with formal and other techniques is necessary to overcome challenges with scaling simulation and analysis.
✓Integrated push button fault simulation flow is need of hour and saves verification engineers time.
✓Analog defect modelling and coverage can be performed based on IEEE P2427.
An Approach to Overcome Modeling Inaccuracies for Performance Simulation Sig...Pankaj Singh
RNM is finding prominence in functional verification signoff, However there is clear modeling gap when it comes to performance simulation of high-speed SerDes. Sometimes the pre-silicon simulation results show passing results with respect to Jitter tolerance (JTOL) specification which may not match the actual silicon validation results. These performance issues manifest due to inaccuracies of model where it may not comprehend the actual circuit behavior. There is no clear methodology to overcome these model gaps for performance simulation signoff.
This paper discusses in detail the techniques used to accurately model and verify high-speed SerDes systems for performance simulation.
2008-10-09 - Bits and Chips Conference - Embedded Systemen Architecture patternsJaap van Ekris
In the past, embedded software was intended to automate simple isolated tasks for dedicated purposes. However, there is a trend towards integrating embedded components into large networks which can perform complex tasks. Customers expect systems to be open and extensible, to prepare for future challenges. This introduces new challenges for embedded software engineers: the integration of components into larger integrated networks poses new demands upon component quality (how to prepare a component for all possible future assemblies) as well as an integrated system architecture viewpoint (how to construct a flexible but secure and reliable network).
In this presentation we show, based on practical examples, what the value of systematic thinking of software quality and systems architecture is in developing complex integrated embedded systems.
The engineering challenges of designing for low latency execution include tightly controlling the time it takes to detect the onset of latency excursion and a diagnosis of its most likely cause. In modern x-as-a-service (XaaS) forms of distributed applications, the points at which latency is experienced by a service consumer are separated by many layers of modular abstractions from the underlying system hardware. This separation makes it difficult to pinpoint the causes of latency pushouts and to apply corrective actions in a timely manner. The classic performance methodology to profile ‘cycles’ of work may be broadly successful in extracting higher levels of latency, but not very effective in determining causes of short-duration latency surges; and, to determine that, it is frequently necessary to:
• trace execution
• pinpoint when a significant latency stretch out occurs
• establish its correlation with a nearby precursor or a set of precursor events
Each of these steps can incur significant overheads; further, one has to be concerned that even modest overheads from tracing risk contributing to tail latencies. Not just the detection of the onset of a latency excursion, but the identification of why it occurs must be completed quickly so that if a corrective action is possible, it can be taken promptly. Similarly, if no recourse to curb the latency of a slice of computation is available at some point in time, then it is ideal that steps to minimize the impact of the exception are put into effect as early as possible
In our talk, we present an approach that complements the very low overhead software tracing provided by KUtrace. It uses eBPF to trigger a collection of additional data at very low overhead from the hardware performance monitoring unit (PMU) so that latency excursions within a span of execution can be examined in a timely manner. We will describe the use of PMU capabilities like precise events-based sampling (PEBS) and timed last branch records (Timed LBRs) in close proximity to events of interest to extract critical clues. We will further discuss planned future work to integrate in-band network telemetry (INT) into these tracing flows.
Automating the Hunt for Non-Obvious Sources of Latency SpreadsScyllaDB
False sharing references and power management can trigger wide latency spreads, but are neither directly observable nor easily traced to causes. This talk describes how to diagnose the problems quickly, and outlines several remedies.
Pragmatic Optimization in Modern Programming - Ordering Optimization ApproachesMarina Kolpakova
The slides give an idea about how to look pragmatically at software optimization and order optimization approaches according to this pragmatic point of view
FPGA based 10G Performance Tester for HW OpenFlow SwitchYutaka Yasuda
SDN operators need to measure the performance of OF HW switch on their site. Cause there is 1000 times differences in latency, depends on the specified flow entry. ASIC can forward in several μsecs but the software (CPU) may take msec.
To protect yourself from unexpected performance plunge, monitor your switches healthiness on your site.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
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!
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
How fpgas work when they don't
1. How FPGAs Work When They Don’t
- and how Feynman can help us understand
2. Summary
Clock domain crossing, timing violations, single event effects and accelerated aging in hostile environments, power supply fluctuations, etc. As if
the learning curve for HDL programming isn't steep already, as soon as we have mastered the archaic trade it is to write synthesizable code for
FPGAs, we find the physical reality intruding, breaking our assumptions, and removing any remaining illusions we might have about the soothing
comforts of deterministic programming. The physical reality is a nuisance; one we should deal with, but often do not. And understandably so. The
non-ideal behavior of CMOS is difficult to simulate, difficult to grasp, and a hassle to mitigate.
Fortunately, as we shall see in this presentation, the learning effort can be greatly reduced, as long as we apply the right perspective. One such is
Richard Feynman's File Clerk model (FCM), which is both intuitive and instructive when the goal is to understand "how FPGAs work when they
don't". With an outset in the FCM we go through the following topics:
● Basic computer organization in FPGAs
● Error mechanisms relevant in FPGA design
● Applying the FCM to explain
○ Clock domain crossing logic
○ SEE due to radiation
○ Timing violations
○ Voltage and frequency scaling
3. Resumé
Alex Birklykke, alex@space-inventor.com
● 2010: Msc.EE in Applied Signal Processing and Implementation
● 2015: PhD - Modeling and Predicting the behavior of computers operating without
guardbands (case study of FPGAs)
● 2013-2016: FPGA development at Rohde & Schwarz (WLAN layer-1)
● 2016-2017: FPGA development at GomSpace A/S
● 2017- : Newspace entrepreneur with Space Inventor
4. Research
● Empirical study of FPGA behavior when subject to
voltage and frequency scaling
● Based on 65 nm Spartan 3E
● Objective was to determine the cause of errors, as well as
model and predict errors.
● Research confirmed that
○ FPGAs are very noise immune devices
○ Timing violations are the cause of errors in
voltage/frequency scaled device
○ Precise error behavior is hard to predict
6. What could go wrong? Timing Closure
● Timing constraints not meet
● Multi-seed P&R or refactoring
don’t always solve problem.
Especially for systems with high
FPGA utilization
● Sometimes it is necessary to
ship systems with timing
violations
● How to assess the criticality of
timing violations?
7. What could go wrong? Clock domain crossings
● Clock domain crossings are commonly
encountered in FPGA applications
● Metastable behavior must be mitigated
● Error mechanism must be thoroughly understood
in order to mitigate problem
8. What could go wrong? Temperature effects and ageing
● Ring oscillator frequency in Virtex-5 FPGA vs:
○ Left) Location and temperature.
○ Right) Localized wearout
● Might lead to unforeseen timing violations
S. Zhang, Delay Characterization in
FPGA-based Reconfigurable
Systems. Master Thesis. 2013
9. What could go wrong? Radiation induced Ageing
● Microsemi SmartFusion2 SoC FPGA (65nm)
● Irradiated with Cobolt-60 gamma source
● Accelerated ageing observed
● For comparison, 20 krad ~ 5yrs in low Earth orbit
● 10% timing overhead must be introduced, to
ensure timing closure after 5 yrs
● Bad news: Other studies have found that the Flash
configuration memory cannot be reprogrammed
after a few krad’s
N. Rezzak, J. J. Wang, C. K. Huang, V. Nguyen and G. Bakker, "Total Ionizing Dose Characterization of 65 nm
Flash-Based FPGA," 2014 IEEE Radiation Effects Data Workshop (REDW), Paris, 2014, pp. 1-5.
10. What could go wrong? Chasing better performance
Voltage and/or frequency scaling results in timing errors
A. Birklykke, P. Koch, R. Prasad, L. Alminde and Y. Le Moullec, "Empirical verification
of fault models for FPGAs operating in the subcritical voltage region," 2013 23rd
International Workshop on Power and Timing Modeling, Optimization and Simulation
(PATMOS), Karlsruhe, 2013, pp. 16-23.
12. Feynman's Lectures on Computation
● Write-up of Feynman's lectures on computation
given at CalTech from 1983-1987
● Includes an introductory chapter on computation,
as well as five chapters addressing the limitation
of computers.
● Introduces the so-called “File Clerk Model” to
explain the system-level behavior of sequential
computers.
● Known as the as one of the great communicators
of science
13. The File Clerk Model
● Computers are data transfer machines first, and
only secondly an arithmetic device
● The file clerk is primarily a data transfer function.
Data processing is only secondary
● Feynman: Let’s use the file clerk as a metaphor
for understanding basic computer structure
14. The File Clerk Model
File clerk “total sales for California” procedure
Take out next “sales” card
If “Location” says California, then
Take out “total” card
Add sales number to number on card
Put “total” card back
Put “sales” card back
Repeat
Sales cards
Salesman: “Smith”
Location: “Tahoe”
Salary: 100
Sales: 1000
xxx.xx
Total card
File cabinet
15. The File Clerk Model
File clerk “total sales for California” procedure
Take out next “sales” card
If “Location” says California, then
Add sales number to S
Put “sales” card back
Repeat until end
Take out “total” card
Replace total with S
Put “total” card back
Sales cards
Salesman: “Smith”
Location: “Tahoe”
Salary: 100
Sales: 1000
xxx.xx
Total card
File cabinet
S : 0
Local scratch pad
Local scratch pad limits data
transfer, thus increasing file clerk
performance
16. The File Clerk Model - Stored Program Clerking
1. R2 <- 1
2. R3 <- ADD (R1) (R2)
3. R1 <- (R2)
4. R2 <- (R3)
5. R4 <- SUB 1000 (R3)
6. PC <- 8 IF (CARRY)
7. PC <- 2
8. HALT
Fetch instruction from address PC
PC <- (PC) + 1
Do instruction
R1 : 0
R2 : 0
R3 : 0
R4 : 0
User registers Program/Data
Memory
Fibonacci.exe
PC : 0
CARRY : 0
Control register
Generic file clerk with instruction set
17. The File Clerk Model with deadlines
● Same model, but where results must be available
at a certain deadline.
● Imagine an angry office manager dictating the
pace
● Claim: The time-dependence allow us to
intuitively explain how computers work when
they don’t
● Trick: Use sympathetic insight/empathy for
our file clerk
18. Intuitive Explanation of Errors using the File Clerk Model
Cause FCM eqv. FCM effect Reallife effect
Under-voltage Starving clerk Less effective clerk, more
time to do same task.
Unmet deadlines
Timing degradation
Overclocking Tight deadlines Less room for missteps Slack reduction
Electrical noise Office noise Processing errors more
likely, variable execution
time
Lower signal integrity,
probabilistic propagation
delay
Device Ageing Old file clerk Loss of vit and dexterity.
More time to do same job
Timing degradation
High temperature Uncomfortable clerk Harder to focus. More time
to do same job
Timing degradation
19. Adapting the File Clerk Model for FPGAs
● Timed FCM
● Think of a really simple-minded file clerk
● Vocabulary restricted to “yes”, “no”, and “maybe”
○ Maybe ~ Metastability
● Instructions limited to boolean expressions: file
clerk becomes LUTs
● Important differences:
○ Program is unrolled into one long pipeline
○ Registers and file clerks are distributed
Yes, no, maybe?
20. Adapting the File Clerk Model for FPGAs
● “File clerk production line”
● Information transfer is still dominating activity
● System-level intuition about FCM still hold
R
eg
R
eg
File clerks
Scratch pad
Input data
Output data
21. Mechanics of Timing Errors
Q: Assuming that we have timing violations, what
happens?
Q: What conditions must be met before a timing violation
result in a logic error?
Q: When do we have to worry?
22. Sensitization Criteria
Timing violations are a necessary condition for timing
errors, but not sufficient. The circuit must also be
exercised
FCM analogy: An idle “file clerk production line” does not
make errors
R
eg
R
eg
...,X2, X1
…,Y2, Y1
23. Patience solves all problems
R
eg
R
eg
...X ,X, X, X, X
…,Y, Y, #, @, ±
By repeating the input, the output will eventually settle
to the correct error-free value
24. Two Primary Error Modes
R
eg
R
eg
Transition from
X1 to X2
● Dynamic hazard when F(X1) != F(X2) → possible “stuck-at” error
● Static hazard when F(X1) == F(X2) → possible “bit-flip” error
F
F(X2), F(X1)
25. Generation of “Maybe’s”
● Register inputs must be stable during the setup
and hold period (aperture).
● Unstable signals during latching → probability of
meta-stabilities
● Given sufficient patiences, “maybe’s” will settle to
a fixed yes or no. However, there is no guarantee
that the value is correct (coin flip)
● With some probability, logic hazard can result in
“maybe’s”
26. Clock Domain Crossing
● Ubiquitous in FPGA designs
● Metastable behavior in receiving clock domain
● Critical for control signals
● Data signals are usually less critical (but it
depends)
● Constant signals usually not critical (e.g.
configuration signals for subsystem)
27. Clock Domain Crossing
Classical mitigation using synchronizer
● Decreases the probability of “maybe’s”
○ More levels, less probability
● No guarantee for correct signal transfer!!!
● To ensure signal integrity, the patience principle
must be applied
○ Sig1 must be repeated
28. When to worry about timing violations?
Evaluate and accept
● Some data signals
● Debug
● Configuration
● Low frequency signals re. fclk
Evaluate and avoid
● Mitigate
○ Switch to level signaling
○ Add synchronizers
● Refactor