Unformatted text preview:

Chip design has become too risky a businessTypical SOC ArchitectureIP re-use sounds great until you start to use it...New semantics for expressing behavior to reduce design complexityBluespec promotes compositionthrough guarded interfacesIn Bluespec SystemVerilog (BSV) …Bluespec: State and Rules organized into modulesProgramming withrules: A simple exampleGCD in BSVGCD Hardware ModuleGenerated Verilog RTL: GCDGenerated HardwareGenerated Hardware ModuleDesign a 802.11a TransmitterTransmitter OverviewReceiver OverviewIFFT RequirementsArea-Frequency TradeoffCombinational IFFTRadix-4 NodeBluespec code: Radix-4 NodeBluespec code for pure Combinational CircuitBluespec code for pure Combinational Circuit continuedPipelined IFFTBluespec code for Pipeline StageBluespec code for Pipeline StageCircular pipeline: Reusing the Pipeline StageBluespec Code for Circular PipelineBluespec Code for Circular PipelineJust one Radix-4 node!Bluespec Code for Extreme reuseBluespec Code for Extreme reuse-2Synthesis results Nirav Dave & Mike PellauerSynthesis results Steve Gerding, Elizabeth Basha & Rose LiuTwo circular pipelinesMarch 1, 2006 L-1Architecture exploration in BluespecArvind Computer Science & Artificial Intelligence LabMassachusetts Institute of TechnologyGuest Lecture 6.973 (lecture 7)Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-2Chip design has become too risky a businessEver increasing size and complexity Microprocessors: 100M gates ⇒ 1000M gates ASICs: 5M to 10M gates ⇒ 50M to 100M gatesEver increasing costs and design team sizes > $10M for a 10M gate ASIC > $1M per re-spin in case of an error (does not include the redesign costs, which can be substantial)18 months to design but only an eight-month selling opportunity in the market Fewer new chip-starts every year Looking for alternatives, e.g., FPGA’s⇒Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-3Typical SOC ArchitectureFor example: Cell phoneHardware/software development needs to be tightly coupled in order to meet performance/power/ cost goalsSystem validation for functionality and performance is very difficultStable platform for software developmentIP block reuse is essential to mitigate development costsIP = Intellectual PropertyCite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-4IP re-use sounds great until you start to use it...data_inpush_req_npop_req_nclkrstndata_outfullemptyExample: Commercially available FIFO IP blockNo machine verification of such informal constraints is feasibleThese constraints are spread over many pages of the documentation...Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-5New semantics for expressing behavior to reduce design complexity Decentralize complexity: Rule-based specifications (Guarded Atomic Actions) Let us think about one rule at a timeFormalize composition: Modules with guarded interfaces Automatically manage and ensure the correctness of connectivity, i.e., correct-by-construction methodology Retain resilience to changes in design or layout, e.g. compute latency ∆’s Promote regularity of layout at macro levelBluespecCite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-6Bluespec promotes compositionthrough guarded interfacestheModuleAnot fullnot emptynot emptynnrdyenabrdyenabrdyenqdeqfirstFIFOtheModuleBtheFifo.enq(value1);theFifo.deq();value2 = theFifo.first();theFifo.enq(value3);theFifo.deq();value4 = theFifo.first();theFifoEnqueuearbitration controlDequeuearbitration controlSelf-documenting interfaces; Automatic generation of logic to eliminate conflicts in use.Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].MarIn Bluespec SystemVerilog (BSV) …ch 1, 2006 L-7Power to express complex static structures and constraints Checked by the compiler“Micro-protocols” are managed by the compiler The compiler generates the necessary hardware (muxing and control) Micro-protocols need less or no verificationEasier to make changes while preserving correctnessÎ Smaller, simpler, clearer, more correct codeCite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].interfacemoduleMarcBluespec: State and Rules organized into modulesAll state (e.g., Registers, FIFOs, RAMs, ...) is explicit.Behavior is expressed in terms of atomic actions on the state:Rule: condition Î actionRules can manipulate state in other modules only via their interfaces.Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology.h 1, 2006 Downloaded on [DD Month YYYY].L-8March 1, 2006 L-9Programming withrules: A simple exampleEuclid’s algorithm for computing the Greatest Common Divisor (GCD):15 696subtract36subtract63swap33subtract03subtractanswer:Cite as: Vladimir Stojanovic, course materials for 6.973 Communication System Design, Spring 2006.MIT OpenCourseWare (http://ocw.mit.edu/), Massachusetts Institute of Technology. Downloaded on [DD Month YYYY].March 1, 2006 L-10GCD in BSVmodule mkGCD (I_GCD);Reg#(int) x <- mkRegU;Reg#(int) y <- mkReg(0);rule swap ((x > y) && (y != 0));x <= y; y <= x;endrulerule subtract ((x <= y) && (y != 0));y <= y – x;endrulemethod Action start(int a, int b) if(y==0);x <= a; y <= b;endmethodmethod int result() if (y==0);return


View Full Document

MIT 6 973 - Architecture exploration in Bluespec

Download Architecture exploration in Bluespec
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Architecture exploration in Bluespec and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Architecture exploration in Bluespec 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?