Fringe Session (CPA2009)Fringe Session (CPA2009) 1
Supervisor:
Dr Alistair A. McEwan
E mbe dde d Syste ms L abor ator y (Applie d F
- r
mal Me thods)
Irfan F. Mir
(PhD Student)
Irfan F. Mir Supervisor: Dr Alistair A. McEwan (PhD Student) Fringe - - PowerPoint PPT Presentation
Irfan F. Mir Supervisor: Dr Alistair A. McEwan (PhD Student) Fringe Session E mbe dde d Syste ms L abor ator y (CPA2009)Fringe Session (Applie d F or mal Me thods) (CPA2009) 1 Contents Motivation, aims, and scope Formal
Fringe Session (CPA2009)Fringe Session (CPA2009) 1
Supervisor:
E mbe dde d Syste ms L abor ator y (Applie d F
mal Me thods)
(PhD Student)
Fringe Session (CPA2009) 2
Fringe Session (CPA2009) 3
High‐integrity systems – detailed understanding of behaviours and
misbehaviours!
We need verification techniques that ensure the reliability and
understanding of these classes of systems
High‐integrity systems
Fringe Session (CPA2009) 4
To develop techniques and a tool for verifying real‐time
To propose a novel methodology using “Timed CSP” to
FPGA‐based high‐integrity systems that may have soft or
Handel‐C is used as a high level language for FPGA
Fringe Session (CPA2009) 5
Fringe Session (CPA2009) 6
CSP: Communicating Sequential Processes ACL2: Application Common Lisp, a computational logic Esterel: Synchronous reactive programming HyTech: Hybrid technology – an automatic tool for analysis of
embedded systems
Fringe Session (CPA2009) 7
Fringe Session (CPA2009) 8
Handel‐C, System‐C, Mobius, Impuse‐C, Streams‐C,
No support for real‐time constraints! Ada95 is a language that has been used extensively in
FPGAs are more suitable as compare to processors for
Fringe Session (CPA2009) 9
Fringe Session (CPA2009) 10
Fringe Session (CPA2009) 11
Hybrid of CSP and C languages, designed to target
Fully synchronous – each statement executes in one
So timing can be calculated by counting statements, but… This is not a complete real‐time analysis.
No explicit time constructs in Handel‐C, but… We can follow designs real‐time constraints!
Fringe Session (CPA2009) 12
Development of a real‐time pre‐processor for Handel‐C
Fringe Session (CPA2009) 13
Digital Clock (Handel-C ver.1) Digital Clock (Handel-C ver.2)
Fringe Session (CPA2009) 14
Annotated real‐time constraints
without changing the actual design timing
Add RTCpreprocessor that have
real‐time constraints’ definitions
Analyse timing constraints using
debugger of DK suite
Synthesis design with DK Implement design with FPGA
tool
Timing simulation with
ModelSim
FPGA configuration
RTC Preprocessor Handel-C Preprocessor Handel-C Source code RTC Tool Handel-C Simulator for Analysis Handel-C Synthesis (gate-netlist) FPGA implementation (P&R) FPGA configuration Real-time Constraints Xilinx On-Chip Debugger Xilinx Timing Simulation Handel-C code Modify & Debug Xilinx User Constraint File (UCF)
Fringe Session (CPA2009) 15
Fringe Session (CPA2009) 16
Of1s
PreDivider (1 second)
Clk Rst
Enb Ovf
Cnt MEnb Of10s
SecLo_Cnt (10 second)
Clk Rst
Enb Ovf
Cnt Of1s lo_sec Of1m
SecHi_Cnt (1 minute)
Clk Rst
Enb Ovf
Cnt Of10s hi_sec
Of10m minLo_Cnt (10 minute)
Clk Rst
Enb Ovf
Cnt
Of1m
lo_min Of1hr
minHi_Cnt (1 hour)
Clk Rst
Enb Ovf
Cnt
Of10m
hi_min
Of10hr hrLo_Cnt (10 hour)
Clk Rst
Enb Ovf
Cnt Of1hr lo_hr
hrHi_Cnt (24 hour)
Clk Rst
Enb Ovf
Cnt
Of10hr
hi_hr seconds minutes hours Clk Rst Enb
Block Diagram (Digital Clock)
Fringe Session (CPA2009) 17
Design digital clock in DK suite using
channel communication
Embed real‐time constraints (RTC) in
HC code
Simulate and verify the RTC with DK
debugger
DK directly compile HC blocks
to EDIF
Xilinx P&R tool for Sparatn‐3A
target platform
Simulate and verify the RTC of P&R
design model with ModelSim i l
RTC Preprocessor Handel-C Preprocessor Handel-C Source code RTC Tool Handel-C Simulator for Analysis Handel-C Synthesis (gate-netlist) FPGA implementation (P&R) FPGA configuration Real-time Constraints Xilinx On-Chip Debugger Xilinx Timing Simulation Handel-C code Modify & Debug Xilinx User Constraint File (UCF)
Fringe Session (CPA2009) 18
Fringe Session (CPA2009) 19
Fringe Session (CPA2009) 20
Fringe Session (CPA2009) 21
In the first version, timing analysis revealed a clock
This means that the real‐time constraints were not
Timing analysis of the second version shows this clock
This is a very subtle error that a constraint verifier
Fringe Session (CPA2009) 22
Fringe Session (CPA2009) 23
With suitable amendments, Handel‐C can be used in some real‐
time high integrity system development
We propose a constraint meta‐language and design flow to
improve the timing analysis and verification of these systems
Design the constraint meta‐language and implement a tool which
automates the analysis and verification process.
Investigate the implementation of Timed CSP in Handel‐C,
augmented with the constraint meta‐language.
Fringe Session (CPA2009) 24
Fringe Session (CPA2009) 25