SlideShare a Scribd company logo
?
A semantic model for VHDL-AMS
Natividad Mart´ınez Madrid, Peter T. Breuer, Carlos Delgado Kloos
Universidad Carlos III de Madrid
<nmadrid,ptb,cdk>@it.uc3m.es
CHARME ’97, Montr´eal, Canada - October 1997 1
Objectives ?
• explain behaviour of VHDL-AMS processes
– not a detailed syntactic mapping
– provide sufficient primitives
• present an underlying model that . . .
– extends existing model for VHDL
CHARME ’97, Montr´eal, Canada - October 1997 2
Content of the talk ?
• Introduction
• A process algebraic analysis
• Semantics
• The analog solver with example
CHARME ’97, Montr´eal, Canada - October 1997 3
Main idea ?
VHDL semantics analog extension
imperative
discrete-event
diff. equations
real time domain
declarative
continuous-time
ց ւ
INTEGRATION
CHARME ’97, Montr´eal, Canada - October 1997 4
Name space division & Properties ?
VARIABLES assigned
instantaneously
not scheduled
SIGNALS at least δ-delayed preemptively
scheduled
QUANTITIES assigned
instantaneously
governed by diff. eqns.
PROCESSES invariant invariant
CHARME ’97, Montr´eal, Canada - October 1997 5
Semantics of assignment ?
00
00
00
0
0000000000000000000000000
11
11
11
1
1111111111111111111111111
0000000000000000000000000
0000000000000000000000000
0000000000000000000000000
00000000000000000000000000000000000000000000000000
1111111111111111111111111
1111111111111111111111111
1111111111111111111111111
11111111111111111111111111111111111111111111111111
000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000
0000000000000000000000000
111111111111111111111111111111111111111111111111111111111111111111111111111
1111111111111111111111111
1111111111111111111111111
00000000000000000000000000
0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
11111111111111111111111111
1111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111
00000111110011 "Forced" signal assignment
a <= 1 after 4
00000000000000000000
00000000000000000000
00000000000000000000
11111111111111111111
11111111111111111111
11111111111111111111
a
000000000000000000000000000000000000000000000000000000000000000000000000000000
111111111111111111111111111111111111111111111111111111111111111111111111111111
.
v =
x
.
00000111110011 "Relaxed" quantity update
0
00
000
0000
1
11
111
1111
0
00
000
0000
1
11
111
1111
000
111
000
111000000000000000000000000000000000000000000000000000000000000000000000000000000
111111111111111111111111111111111111111111111111111111111111111111111111111111x
a
= v
CHARME ’97, Montr´eal, Canada - October 1997 6
Semantic Domains ?
WorldLine = Time → State
State = Id → V alue
VHDL Statements
Semantics = (WorldLine, Time) ↔ (WorldLine, Time)
Time = Int
VHDL-AMS Statements
Semantics = (EqnSet, WorldLine, Time) ↔ (EqnSet, WorldLine, Time)
Time = Real
CHARME ’97, Montr´eal, Canada - October 1997 7
Parallel decomposition ?
LRM view of basic VHDL compositionality:
• processes in parallel (+ kernel)
• process body loops continuously
• imperative commands in process body run sequentially
Our view:
• no kernel
CHARME ’97, Montr´eal, Canada - October 1997 8
VHDL-AMS: integer time → real time
Analog Solver
Process algebraic analysis ?
000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000
111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111
00000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
11111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
Ai
Aj
Σj
Σi
Σj
Pj’
Pi’
Pi
Pj
Ki
Kj
Σi
00000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000
11111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
1111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111
000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000
111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
AS
Ai
Aj
Σj
Σi
Σj
Pj’
Pi’
Pj
Ki
Kj
Σi
Pi
CHARME ’97, Montr´eal, Canada - October 1997 9
Process algebraic analysis (II) ?
000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111
000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000
000000000000000000000000000000000000000
111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111
111111111111111111111111111111111111111
00000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
00000000000000000000
000000000000000000000000000000000000000000000000000000000000
11111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
11111111111111111111
111111111111111111111111111111111111111111111111111111111111
00000000000000000000
00000000000000000000
000000000000000000000000000000000000000000000000000000000000
00000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000
11111111111111111111
11111111111111111111
111111111111111111111111111111111111111111111111111111111111
11111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
1111111111111111111111111111111111111111
iΣ
Σj
’iΣ
’jΣ
K’i
Σ
Σ
Q
AS
Q
AS
KAj
KAi
Pi
Pj
Ai
Aj K’j
Pj’
Pi’
CHARME ’97, Montr´eal, Canada - October 1997 10
Denotational semantics ?
S[a; b] = S[a]; S[b]
P[a; b] = P[a] ∪ S[a]; P[b]
S[while(true)do a end] = { }
P[while(true)do a end] = P[a] ∪ S[a]; P[while(true)do a end]
= µR : Semantics . R = P[a] ∪ S[a]; R
S[a||b] = S[a] ∩ S[b]
P[a||b] = P[a] ∩ P[b]
CHARME ’97, Montr´eal, Canada - October 1997 11
Wait & Assignment semantics ?
Wait Semantics
(e, w0, t0)S[wait until p](e, w1, t1) = w0 = w1
∧ wt1 |= p ∧ ∀t ∈ [t0, t1) . wt |= p
(e, w0, t0)P[wait until p](e, w1, t1) = w0 = w1
∧ ∀t ∈ [t0, t1] . wt |= p
Assignment Semantics
(e, w0, t0)S[x ⇐ y after τ](e, w1, t1) = t0 = t1
∧ w1 = relax(e, t0)(force assign(w0))
P[x ⇐ y after τ] = { }
CHARME ’97, Montr´eal, Canada - October 1997 12
Wait semantics ?
0
00
00
0
000
0
00
1
11
11
1
111
1
11
00000000000000000000
0000000000000000000000000000000000000000
11111111111111111111
1111111111111111111111111111111111111111
Generalized Wait
a
x
wait until a = 1
on signals -> discrete time
00000000000000000000
0000000000000000000000000000000000000000
11111111111111111111
1111111111111111111111111111111111111111
00
0
0
000
0
000
0
11
1
1
111
1
111
1
00000000000000000000
00000000000000000000
00000000000000000000
11111111111111111111
11111111111111111111
11111111111111111111
0
0
00
0
0
000
0
00
1
1
11
1
1
111
1
11
wait until x >= 2/3
on quantities -> continuous time
CHARME ’97, Montr´eal, Canada - October 1997 13
Sequential composition ?
;
000000000000111111111111
000000000000
0000
0000
00000000
00000000
00000000
00000000
0000
000000000000
0000
000000000000
0000
000000000000
0000
0000
111111111111
1111
1111
11111111
11111111
11111111
11111111
1111
111111111111
1111
111111111111
1111
111111111111
1111
1111
a
x
000000
000
000
000000000
000
000000
000000
000
000000000
000
000000000
000
000
111111
111
111
111111111
111
111111
111111
111
111111111
111
111111111
111
111
00000000000001111111111111
0000
00
00
000000
00
0000
0000
00
000000
00
000000
00
00
1111
11
11
111111
11
1111
1111
11
111111
11
111111
11
11
000000000000111111111111
000000000000111111111111
000000000000
0000
0000
00000000
00000000
00000000
00000000
0000
000000000000
0000
000000000000
0000
000000000000
0000
0000
111111111111
1111
1111
11111111
11111111
11111111
11111111
1111
111111111111
1111
111111111111
1111
111111111111
1111
1111
a
x
000000
000
000
000000000
000
000000
000000
000
000000000
000
000000000
000
000
111111
111
111
111111111
111
111111
111111
111
111111111
111
111111111
111
111
00000000000001111111111111
0000
00
00
000000
00
0000
0000
00
000000
00
000000
00
00
1111
11
11
111111
11
1111
1111
11
111111
11
111111
11
11
000000000000111111111111
000000000000111111111111
000000000000
0000
0000
00000000
00000000
00000000
00000000
0000
000000000000
0000
000000000000
0000
000000000000
0000
0000
111111111111
1111
1111
11111111
11111111
11111111
11111111
1111
111111111111
1111
111111111111
1111
111111111111
1111
1111
a
x
000000
000
000
000000000
000
000000
000000
000
000000000
000
000000000
000
000
111111
111
111
111111111
111
111111
111111
111
111111111
111
111111111
111
111
00000000000001111111111111
0000
00
00
000000
00
0000
0000
00
000000
00
000000
00
00
1111
11
11
111111
11
1111
1111
11
111111
11
111111
11
11
000000000000111111111111
.
v =
x
. a
= v
wait until x >= 2/3wait until x >= 2/3wait until x >= 2/3a <= 1 after 4
CHARME ’97, Montr´eal, Canada - October 1997 14
Analog solution ?
Bouncing ball example
ds
dt = v
dv
dt = −g ± av2
Local approximation s(t) = 1
v(t) = −gt
origin at
s = 1
v = 0
t = 0
Linear approximation (s, v) = (s0, v0) + (t − t0)(v0, −g ± av2
0)
Recursion
(s, v)(t0,s0,v0)(t) ∼



(s0, v0) + (t − t0)(v0, −g ± av2
0) t ∈ [t0, t1)
(s, v)(t1,s1,v1)(t)
s1 = s0 + v0∆t
v1 = v0 + (−g ± av2
0)∆t
t1 = t0 + ∆t
CHARME ’97, Montr´eal, Canada - October 1997 15
Example ?
proc [qty s := 1.0, v := 0.0, g := 9.8, a := 0.1 ]
ds/dt == v;
dv/dt == -g + if v<0 then a else -a end * v * v;
begin
wait until s < 0;
v := -v;
s := 0 ;
end
∆t = 0.02
CHARME ’97, Montr´eal, Canada - October 1997 16
Example Cont. ?
proc [qty s := 1.0, v := 0.0, g := 9.8, a := 0.1 ]
ds/dt == v;
dv/dt == -g + if v<0 then a else -a end * v * v;
begin
wait until s < 0;
v := 1.4142 * (g * s + 0.5 * v * v)**0.5 ;
s := 0 ;
end
g ∗ 0 + v′2
2 =
g ∗ s + v2
2
∆t = 0.06
CHARME ’97, Montr´eal, Canada - October 1997 17
Example Cont. (II) ?
Height
Speed
∆t = 0.06
CHARME ’97, Montr´eal, Canada - October 1997 18
Unresolved areas ?
• Implementation of the parallel composition of pro-
cesses if quantities are shared between processes
• Errors in the analog solver may require us to rewrite
our program
• The proper execution of the analog solver in δ time
when the processes are in parallel
CHARME ’97, Montr´eal, Canada - October 1997 19
Conclusion ?
• What? Extension of our VHDL semantics to cover
VHDL-AMS
• How? Embedding of the VHDL semantics in a bigger,
continuous time domain, which contains an oracular
analog solver
• Why? Clarify the draft standard document
CHARME ’97, Montr´eal, Canada - October 1997 20

More Related Content

PDF
Process Algebras and Petri Nets are Discrete Dynamical Systems
PDF
Towards a quantum lambda-calculus with quantum control
PDF
Cryptanalysis with a Quantum Computer - An Exposition on Shor's Factoring Alg...
PDF
A Brief History of Stream Processing
PDF
Grovers Algorithm
PDF
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
PPTX
Ph.D. Defense
PDF
NIACFDS2015-09-29_HiroNishikawa_HNS20
Process Algebras and Petri Nets are Discrete Dynamical Systems
Towards a quantum lambda-calculus with quantum control
Cryptanalysis with a Quantum Computer - An Exposition on Shor's Factoring Alg...
A Brief History of Stream Processing
Grovers Algorithm
Merged Talk: A Verified Optimizer for Quantum Circuits & Verified Translation...
Ph.D. Defense
NIACFDS2015-09-29_HiroNishikawa_HNS20

What's hot (7)

PDF
PDF
CRDTs and Redis
PPTX
Shor’s algorithm the ppt
PDF
MMath Paper, Canlin Zhang
PDF
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
PDF
Chapter04
PDF
Resource theory of asymmetric distinguishability
CRDTs and Redis
Shor’s algorithm the ppt
MMath Paper, Canlin Zhang
no U-turn sampler, a discussion of Hoffman & Gelman NUTS algorithm
Chapter04
Resource theory of asymmetric distinguishability
Ad

Viewers also liked (20)

PDF
Ddhdl 15
PPT
Data Flow Modeling
PDF
Vhdl introduction
PDF
Introduction to Pandas
PPTX
Introduction to VHDL
PPTX
Modeling Style and Delay Model of VHDL By Ap
PPT
Vlsi_vhdl and pcb designing ppt
PPT
PPTX
How to design Programs using VHDL
PPTX
Synthesis
PPTX
Combinational Circuits & Sequential Circuits
PDF
Basic structures in vhdl
PDF
Introduction to FPGA, VHDL
PDF
Sequential circuits in digital logic design
PPTX
SEQUENTIAL AND COMBINATIONAL CIRCUITS,DIGITAL LOGIC DESIGN
PPT
Digital 1 8
PDF
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
PPTX
Pcb designing
PPT
STLD-Combinational logic design
PPT
Chap 2 behaviour models
Ddhdl 15
Data Flow Modeling
Vhdl introduction
Introduction to Pandas
Introduction to VHDL
Modeling Style and Delay Model of VHDL By Ap
Vlsi_vhdl and pcb designing ppt
How to design Programs using VHDL
Synthesis
Combinational Circuits & Sequential Circuits
Basic structures in vhdl
Introduction to FPGA, VHDL
Sequential circuits in digital logic design
SEQUENTIAL AND COMBINATIONAL CIRCUITS,DIGITAL LOGIC DESIGN
Digital 1 8
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Pcb designing
STLD-Combinational logic design
Chap 2 behaviour models
Ad

Similar to A Semantic Model for VHDL-AMS (CHARME '97) (20)

PDF
A Semantic Model For VHDL-AMS
PDF
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
PPTX
System Approximation: Concept and Approaches
PPTX
myppt for health issues at IITB. Don't come to IITB
PDF
Time Series Processing with Solr and Spark
PDF
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
PDF
Time Series Analysis
PDF
01 CS316_Introduction.pdf5959695559655565
PDF
lecture-4-location-models-2.pdf
PPTX
Data streaming algorithms
PPTX
ANN ARIMA Hybrid Models for Time Series Prediction
PDF
Searching Informed Search.pdf
PPT
recursion.ppt
PPTX
Module_2_rks in Artificial intelligence in Expert System
PPTX
Algorithm analysis.pptx
PDF
Data Vault 2.0: Using MD5 Hashes for Change Data Capture
PDF
Qadence: A differentiable interface for digital-analog quantum programs
PPTX
PDF
lec6_mips-instructions-III.pdf21rewrwaef
PPTX
Fast Single-pass K-means Clusterting at Oxford
A Semantic Model For VHDL-AMS
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
System Approximation: Concept and Approaches
myppt for health issues at IITB. Don't come to IITB
Time Series Processing with Solr and Spark
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Analysis
01 CS316_Introduction.pdf5959695559655565
lecture-4-location-models-2.pdf
Data streaming algorithms
ANN ARIMA Hybrid Models for Time Series Prediction
Searching Informed Search.pdf
recursion.ppt
Module_2_rks in Artificial intelligence in Expert System
Algorithm analysis.pptx
Data Vault 2.0: Using MD5 Hashes for Change Data Capture
Qadence: A differentiable interface for digital-analog quantum programs
lec6_mips-instructions-III.pdf21rewrwaef
Fast Single-pass K-means Clusterting at Oxford

More from Peter Breuer (9)

PDF
Avoiding Hardware Aliasing
PDF
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
PDF
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
PDF
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
PDF
Higher Order Applicative XML (Monterey 2002)
PDF
Raiding the Noosphere
PDF
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
PDF
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
PDF
Open Source Verification under a Cloud (OpenCert 2010)
Avoiding Hardware Aliasing
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
Higher Order Applicative XML (Monterey 2002)
Raiding the Noosphere
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Open Source Verification under a Cloud (OpenCert 2010)

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
History, Philosophy and sociology of education (1).pptx
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
PPTX
Lesson notes of climatology university.
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Computing-Curriculum for Schools in Ghana
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Complications of Minimal Access Surgery at WLH
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PPTX
Unit 4 Skeletal System.ppt.pptxopresentatiom
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
Final Presentation General Medicine 03-08-2024.pptx
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
Final Presentation General Medicine 03-08-2024.pptx
History, Philosophy and sociology of education (1).pptx
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
UNIT III MENTAL HEALTH NURSING ASSESSMENT
Lesson notes of climatology university.
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Computing-Curriculum for Schools in Ghana
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Complications of Minimal Access Surgery at WLH
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Weekly quiz Compilation Jan -July 25.pdf
A systematic review of self-coping strategies used by university students to ...
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
Unit 4 Skeletal System.ppt.pptxopresentatiom
LDMMIA Reiki Yoga Finals Review Spring Summer
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3

A Semantic Model for VHDL-AMS (CHARME '97)

  • 1. ? A semantic model for VHDL-AMS Natividad Mart´ınez Madrid, Peter T. Breuer, Carlos Delgado Kloos Universidad Carlos III de Madrid <nmadrid,ptb,cdk>@it.uc3m.es CHARME ’97, Montr´eal, Canada - October 1997 1
  • 2. Objectives ? • explain behaviour of VHDL-AMS processes – not a detailed syntactic mapping – provide sufficient primitives • present an underlying model that . . . – extends existing model for VHDL CHARME ’97, Montr´eal, Canada - October 1997 2
  • 3. Content of the talk ? • Introduction • A process algebraic analysis • Semantics • The analog solver with example CHARME ’97, Montr´eal, Canada - October 1997 3
  • 4. Main idea ? VHDL semantics analog extension imperative discrete-event diff. equations real time domain declarative continuous-time ց ւ INTEGRATION CHARME ’97, Montr´eal, Canada - October 1997 4
  • 5. Name space division & Properties ? VARIABLES assigned instantaneously not scheduled SIGNALS at least δ-delayed preemptively scheduled QUANTITIES assigned instantaneously governed by diff. eqns. PROCESSES invariant invariant CHARME ’97, Montr´eal, Canada - October 1997 5
  • 6. Semantics of assignment ? 00 00 00 0 0000000000000000000000000 11 11 11 1 1111111111111111111111111 0000000000000000000000000 0000000000000000000000000 0000000000000000000000000 00000000000000000000000000000000000000000000000000 1111111111111111111111111 1111111111111111111111111 1111111111111111111111111 11111111111111111111111111111111111111111111111111 000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000 0000000000000000000000000 111111111111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111 1111111111111111111111111 00000000000000000000000000 0000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000 11111111111111111111111111 1111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111 00000111110011 "Forced" signal assignment a <= 1 after 4 00000000000000000000 00000000000000000000 00000000000000000000 11111111111111111111 11111111111111111111 11111111111111111111 a 000000000000000000000000000000000000000000000000000000000000000000000000000000 111111111111111111111111111111111111111111111111111111111111111111111111111111 . v = x . 00000111110011 "Relaxed" quantity update 0 00 000 0000 1 11 111 1111 0 00 000 0000 1 11 111 1111 000 111 000 111000000000000000000000000000000000000000000000000000000000000000000000000000000 111111111111111111111111111111111111111111111111111111111111111111111111111111x a = v CHARME ’97, Montr´eal, Canada - October 1997 6
  • 7. Semantic Domains ? WorldLine = Time → State State = Id → V alue VHDL Statements Semantics = (WorldLine, Time) ↔ (WorldLine, Time) Time = Int VHDL-AMS Statements Semantics = (EqnSet, WorldLine, Time) ↔ (EqnSet, WorldLine, Time) Time = Real CHARME ’97, Montr´eal, Canada - October 1997 7
  • 8. Parallel decomposition ? LRM view of basic VHDL compositionality: • processes in parallel (+ kernel) • process body loops continuously • imperative commands in process body run sequentially Our view: • no kernel CHARME ’97, Montr´eal, Canada - October 1997 8
  • 9. VHDL-AMS: integer time → real time Analog Solver
  • 10. Process algebraic analysis ? 000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000 111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111 00000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 11111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 Ai Aj Σj Σi Σj Pj’ Pi’ Pi Pj Ki Kj Σi 00000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000 11111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111 11111111111111111111111111111 000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 AS Ai Aj Σj Σi Σj Pj’ Pi’ Pj Ki Kj Σi Pi CHARME ’97, Montr´eal, Canada - October 1997 9
  • 11. Process algebraic analysis (II) ? 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000 111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111 000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000 000000000000000000000000000000000000000 111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111 111111111111111111111111111111111111111 00000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 00000000000000000000 000000000000000000000000000000000000000000000000000000000000 11111111111111111111 1111111111111111111111111111111111111111 1111111111111111111111111111111111111111 1111111111111111111111111111111111111111 11111111111111111111 111111111111111111111111111111111111111111111111111111111111 00000000000000000000 00000000000000000000 000000000000000000000000000000000000000000000000000000000000 00000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 11111111111111111111 11111111111111111111 111111111111111111111111111111111111111111111111111111111111 11111111111111111111 1111111111111111111111111111111111111111 1111111111111111111111111111111111111111 1111111111111111111111111111111111111111 iΣ Σj ’iΣ ’jΣ K’i Σ Σ Q AS Q AS KAj KAi Pi Pj Ai Aj K’j Pj’ Pi’ CHARME ’97, Montr´eal, Canada - October 1997 10
  • 12. Denotational semantics ? S[a; b] = S[a]; S[b] P[a; b] = P[a] ∪ S[a]; P[b] S[while(true)do a end] = { } P[while(true)do a end] = P[a] ∪ S[a]; P[while(true)do a end] = µR : Semantics . R = P[a] ∪ S[a]; R S[a||b] = S[a] ∩ S[b] P[a||b] = P[a] ∩ P[b] CHARME ’97, Montr´eal, Canada - October 1997 11
  • 13. Wait & Assignment semantics ? Wait Semantics (e, w0, t0)S[wait until p](e, w1, t1) = w0 = w1 ∧ wt1 |= p ∧ ∀t ∈ [t0, t1) . wt |= p (e, w0, t0)P[wait until p](e, w1, t1) = w0 = w1 ∧ ∀t ∈ [t0, t1] . wt |= p Assignment Semantics (e, w0, t0)S[x ⇐ y after τ](e, w1, t1) = t0 = t1 ∧ w1 = relax(e, t0)(force assign(w0)) P[x ⇐ y after τ] = { } CHARME ’97, Montr´eal, Canada - October 1997 12
  • 14. Wait semantics ? 0 00 00 0 000 0 00 1 11 11 1 111 1 11 00000000000000000000 0000000000000000000000000000000000000000 11111111111111111111 1111111111111111111111111111111111111111 Generalized Wait a x wait until a = 1 on signals -> discrete time 00000000000000000000 0000000000000000000000000000000000000000 11111111111111111111 1111111111111111111111111111111111111111 00 0 0 000 0 000 0 11 1 1 111 1 111 1 00000000000000000000 00000000000000000000 00000000000000000000 11111111111111111111 11111111111111111111 11111111111111111111 0 0 00 0 0 000 0 00 1 1 11 1 1 111 1 11 wait until x >= 2/3 on quantities -> continuous time CHARME ’97, Montr´eal, Canada - October 1997 13
  • 15. Sequential composition ? ; 000000000000111111111111 000000000000 0000 0000 00000000 00000000 00000000 00000000 0000 000000000000 0000 000000000000 0000 000000000000 0000 0000 111111111111 1111 1111 11111111 11111111 11111111 11111111 1111 111111111111 1111 111111111111 1111 111111111111 1111 1111 a x 000000 000 000 000000000 000 000000 000000 000 000000000 000 000000000 000 000 111111 111 111 111111111 111 111111 111111 111 111111111 111 111111111 111 111 00000000000001111111111111 0000 00 00 000000 00 0000 0000 00 000000 00 000000 00 00 1111 11 11 111111 11 1111 1111 11 111111 11 111111 11 11 000000000000111111111111 000000000000111111111111 000000000000 0000 0000 00000000 00000000 00000000 00000000 0000 000000000000 0000 000000000000 0000 000000000000 0000 0000 111111111111 1111 1111 11111111 11111111 11111111 11111111 1111 111111111111 1111 111111111111 1111 111111111111 1111 1111 a x 000000 000 000 000000000 000 000000 000000 000 000000000 000 000000000 000 000 111111 111 111 111111111 111 111111 111111 111 111111111 111 111111111 111 111 00000000000001111111111111 0000 00 00 000000 00 0000 0000 00 000000 00 000000 00 00 1111 11 11 111111 11 1111 1111 11 111111 11 111111 11 11 000000000000111111111111 000000000000111111111111 000000000000 0000 0000 00000000 00000000 00000000 00000000 0000 000000000000 0000 000000000000 0000 000000000000 0000 0000 111111111111 1111 1111 11111111 11111111 11111111 11111111 1111 111111111111 1111 111111111111 1111 111111111111 1111 1111 a x 000000 000 000 000000000 000 000000 000000 000 000000000 000 000000000 000 000 111111 111 111 111111111 111 111111 111111 111 111111111 111 111111111 111 111 00000000000001111111111111 0000 00 00 000000 00 0000 0000 00 000000 00 000000 00 00 1111 11 11 111111 11 1111 1111 11 111111 11 111111 11 11 000000000000111111111111 . v = x . a = v wait until x >= 2/3wait until x >= 2/3wait until x >= 2/3a <= 1 after 4 CHARME ’97, Montr´eal, Canada - October 1997 14
  • 16. Analog solution ? Bouncing ball example ds dt = v dv dt = −g ± av2 Local approximation s(t) = 1 v(t) = −gt origin at s = 1 v = 0 t = 0 Linear approximation (s, v) = (s0, v0) + (t − t0)(v0, −g ± av2 0) Recursion (s, v)(t0,s0,v0)(t) ∼    (s0, v0) + (t − t0)(v0, −g ± av2 0) t ∈ [t0, t1) (s, v)(t1,s1,v1)(t) s1 = s0 + v0∆t v1 = v0 + (−g ± av2 0)∆t t1 = t0 + ∆t CHARME ’97, Montr´eal, Canada - October 1997 15
  • 17. Example ? proc [qty s := 1.0, v := 0.0, g := 9.8, a := 0.1 ] ds/dt == v; dv/dt == -g + if v<0 then a else -a end * v * v; begin wait until s < 0; v := -v; s := 0 ; end ∆t = 0.02 CHARME ’97, Montr´eal, Canada - October 1997 16
  • 18. Example Cont. ? proc [qty s := 1.0, v := 0.0, g := 9.8, a := 0.1 ] ds/dt == v; dv/dt == -g + if v<0 then a else -a end * v * v; begin wait until s < 0; v := 1.4142 * (g * s + 0.5 * v * v)**0.5 ; s := 0 ; end g ∗ 0 + v′2 2 = g ∗ s + v2 2 ∆t = 0.06 CHARME ’97, Montr´eal, Canada - October 1997 17
  • 19. Example Cont. (II) ? Height Speed ∆t = 0.06 CHARME ’97, Montr´eal, Canada - October 1997 18
  • 20. Unresolved areas ? • Implementation of the parallel composition of pro- cesses if quantities are shared between processes • Errors in the analog solver may require us to rewrite our program • The proper execution of the analog solver in δ time when the processes are in parallel CHARME ’97, Montr´eal, Canada - October 1997 19
  • 21. Conclusion ? • What? Extension of our VHDL semantics to cover VHDL-AMS • How? Embedding of the VHDL semantics in a bigger, continuous time domain, which contains an oracular analog solver • Why? Clarify the draft standard document CHARME ’97, Montr´eal, Canada - October 1997 20