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