Download Uncle (Unified NCL Environment)

Transcript
2
Contents
Uncle (Unified NCL Environment) ............................................................................................................ 1
1
Installation and Requirements .......................................................................................................... 4
2
Methodology Introduction................................................................................................................ 5
3
4
5
6
2.1
Justification/Goals..................................................................................................................... 5
2.2
Uncle Flow Overview ................................................................................................................ 6
2.3
Dual Rail Combinational Logic in NCL ....................................................................................... 7
2.4
Data-driven vs. Control-driven Design Styles............................................................................ 8
2.5
Data-driven Control and Registers ............................................................................................ 8
2.6
Control-driven Control and Registers ..................................................................................... 10
Data-driven Examples ..................................................................................................................... 11
3.1
RTL Constructs......................................................................................................................... 12
3.2
RTL Restrictions ....................................................................................................................... 13
3.3
First example: clk_up_counter.v to ncl_up_counter.v walkthrough....................................... 13
3.4
Second Example: GCD16 (clkspec_gcdsimple.v) ..................................................................... 22
Control-driven Examples ................................................................................................................. 26
4.1
First control-driven example: up_counter.v to ncl_up_counter.v .......................................... 26
4.2
While-loops, choice ................................................................................................................. 30
4.3
GCD control-driven example: gcd16bit.v to uncle_gcd16bit.v ............................................... 34
4.4
Control-driven divider circuit – two methods (contrib. by Ryan A. Taylor) ........................... 36
Optimizations .................................................................................................................................. 40
5.1
Net Buffering ........................................................................................................................... 40
5.2
Latch Balancing ....................................................................................................................... 41
5.3
Relaxation ............................................................................................................................... 44
5.4
Cell Merging ............................................................................................................................ 45
Miscellaneous Examples ................................................................................................................. 45
6.1
A simple ALU, use of demuxes and merge gates .................................................................... 45
6.2
Multi-block Design: clkspec_gcd16_16.v, clkspec_mod16_16.v............................................. 50
6.3
A simple CPU, use of register files .......................................................................................... 58
RBR/V0.2.6/June 2013