|
1
|
|
|
2
|
- Micropipeline Pitfalls
- Token Occupancy in Pipeline
- C Element Extensions and Generalisations
- Taxonomy of Latch Controllers and Examples
- Micropipeline/Simple 4-phase studied earlier
- Analysis completed in this slide set
- Semi-Decoupled
- Fully-Decoupled
- De-synchronisation
- IPCMOS/GaSP?
- S-Covering vs. PTnet based Implementation
|
|
3
|
|
|
4
|
- So far focused on Linear Pipelines
- A Latch Controller Ring is a very useful structure
- Data tokens go around the ring
- Represents basic iterative computation
- May include entry/exit points
- How do I build a ring?
- Connect Rout/Aout of RHS controller to Rin/Ain of a LHS controller
- Does it always work with micropipelines?
|
|
5
|
- PTnet Cycles with no tokens è Deadlock!!!
- Commoner’s Theorem:
- Deadlocked systems include an unmarked cycle
- Can I find a valid marking to make it live?
|
|
6
|
- Two-stage Micropipeline FSMs:
- Ring è Rin = Rout,
Ain = Aout
- Never LIVE!!!
|
|
7
|
- Deadlocked at initial (original) marking
|
|
8
|
- Three-stage Micropipeline Ring FSMs:
- Now: Rin = Rout, Ain = Aout
- Live when? Rout’, Ry’, Rx initial states
|
|
9
|
- Live Marking Shown: Rin+, Rx+, Ry-
|
|
10
|
|
|
11
|
|
|
12
|
|
|
13
|
|
|
14
|
- Define:
- SET, KEEP and RESET functions which are feedback free
- RESET = U – SET (OFF-set of SET), or
- RESET ∩ SET = Ø
- KEEP = RESET’
- Sole feedback of f is on the f line (feeds back to input)
- Form 1 (Set and Keep):
- f = (SET function) + f (KEEP function)
- Form 2 (Set and Reset):
- f = (SET function) + f (RESET function)’
- Example
- Asymmetric C Element:
- f = bc (SET) + f (ab’)’ (RESET)’
|
|
15
|
- Based on the C-Element Boolean Equation:
- 2-input C-Element’s Logic Function is:
c = ab + c(a + b) = ab + bc + ac
- n-input C-Element is:
c = a1a2…an + c(a1
+ a2 + … + an)
- It can be shown that C gates are composable using their set, keep
functions:
- c3_set = a1a2a3, c3_keep = a1 + a2 + a3
- c2_set = a1a2, c2_keep = a1 + a2
- o_set = a1a2, o2_keep = a1 + a2
- output_set = (o_set . a3), output_keep
= (o_keep + a3)
- Thus:
- o_set = c3_set, output_keep = c3_keep
|
|
16
|
- In certain cases, the Set and Reset logic of a C element is not
identical
- Obvious from PTnet specification of a controller
- Asymmetric C elements are an extension of the basic C
- Equivalent to SR Latch or Boolean feedback circuit as well
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
|
|
21
|
- A is redundant – ignore
- Lt is for active-low latch,
|
|
22
|
|
|
23
|
- C-gate Set, Reset functions may be inferred from STG/PTnet specification
of the controller
|
|
24
|
- Notice how critical cycle contains two “P”s
- (i.e., processing steps involving delay lines)
|
|
25
|
|
|
26
|
- A again is redundant
- Lt is for active-low latch,
- B is internal signal
- Needed for implementation
|
|
27
|
- Latch Control
- Signal INT,
- Transitions INT+/INT-
- Internal
- For implementation purposes only
|
|
28
|
- Note Tradeoff between Concurrency and Circuit Complexity
- PTnet concurrency is not confluent with circuit
|
|
29
|
|
|
30
|
- Master Latch Enable: M = (Ain != Rout) [XOR gate]
- Slave Latch Enable: S = (Rout == Aout) [XNOR gate]
|
|
31
|
- C elements obvious from PTnet Signal dependencies
|
|
32
|
- Need multiple instantiations of M, S signals
- Per control signal transition
|
|
33
|
|
|
34
|
- Reduction to Latch Control Signals (Verify)
- Characteristic Pattern:
|
|
35
|
|
|
36
|
|