IP Based DesignIntroductionCore TypesDesign IssuesIP Specification – JAVACAD DOMIPCHINOOK - Modal ProcessesControl Composition - Wrist WatchMode Manager SynthesisCore ImplementationModelsCommunication SynthesisSlide 12Interface SynthesisProtocol specificationProtocol specification exampleSynthesis AlgorithmSimulations and VerificationsConclusionReferences01/13/19 1IP Based DesignJin-seong Jeong and Ram KumarEE202A Fall 2001Student Presentation01/13/19 2IntroductionIP – Intellectual PropertyPre-designedPre-verifiedRe-usableH/W S/W Functional BlocksExamplesProcessor – Leon Sparc, IBM PPCMultimedia – MPEG Decoder, JPEG CompressionControllers – USB, PCINetworking - Ethernet01/13/19 3Core TypesSoft CoresHDL DescriptionFlexible – Can be changed to suit an applicationTechnology Independent – Can be re-synthesized across processesFirm CoresGate-level netlists to be placed and routedHard CoresReady to useInclude layout and timing (Tech. Dependant)Mostly processors and memory01/13/19 4Design IssuesIP SpecificationIP ImplementationReusabilityCustomizable/PortableValidationCommunication/Interface SynthesisSocketing StandardsCommunication between software modulesSimulation and VerificationIP Protection01/13/19 5IP Specification – JAVACAD DOMIP ComponentIP ComponentIP RepositoryIP ImplementationIP SpecificationIP ComponentBehavior CodeIP ImplementationRTL CodeIP SpecificationAreaClockPowerThroughputTiming ConstraintsPort MapPORT MAPClockInput PortOutput PortInOut PortPORT LISTPort APort BTIMINGPort ASetupHoldPort BSetupHoldVERILOGTEXT DATAJAVA CLASS01/13/19 6IPCHINOOK - Modal ProcessesConcurrent Interacting modules: Ports, Handlers and modesPorts: Logical communication contact points for inter-process comm.Mode: State of a process, maps inputs to handlersHandlers: Code with run to completion semanticsDispatch message to output portsVote for activation-deactivation of modesMODALPROCESSMODALPROCESSMESSAGESIO PORTHANDLERSMODALPROCESS01/13/19 7Control Composition - Wrist WatchWATCHSTOPWATCHALARMSHOWNSHOWNSHOWNWATCH-UISTOPWATCH-UIALARM-UIWSSSASseqLoopACTModal ProcessModeAbstract Control Types (ACTs)Control co-ordination between componentsEstablish automatically maintained relationships between modes.01/13/19 8Mode Manager SynthesisCoordinating between processesPart of run-time system managing control communication according to ACTsHandles state maintenance taskCentralized or distributed mode managerDepends on target architectureUni-processor or Multi-processorCentralized mode managerExecuted on a uni-processorProcesses run mode-synchronouslyProcesses blocked, No handlers run till mode changes are resolved01/13/19 9Core ImplementationSynopsys DesignWare FlowRTL CodingIn adherence to the Re-use Methodology ManualUnit-level verificationSmall “throw away” test bench for exhaustive unit test prior to integration with top-level IP-blockCode coverage analysisLine CoverageToggle CoverageCondition CoverageIntegration and Verification of core01/13/19 10ModelsA representation of a IP-block used in a particular step of the design or verification flowBus Functional ModelSimulation model used to verify interfaces around coreFull Functional ModelSimulation model representing the full functionality of the coreInstruction Set Architecture ModelArchitecture level model for testing the architecture specific software for a processor core01/13/19 11Communication SynthesisAbstract communication protocols on targetAbstract SpecificationOutput Port: Blocking style, deadline constraintInput Port: Queue size, overflow behaviorMulti-hop deadline distributionHop-processes: Route messagesDistribute deadline along message pathPartitioning takes global view by accounting all bus traffic in systemBus protocol attribute synthesisMessage Ids, Processor Ids, prioritiesDevice driver synthesis01/13/19 12Communication SynthesisProducerProcessOutPortDeviceDriverComm.ChipComm.ChipDeviceDriverMessageRouterInportConsumerProcess01/13/19 13Interface SynthesisProblemGiven two communicating design actors exchanging data, and a description of the two protocols that each one of them uses to transfer the data, determine an interface so that data transfers are consistent with both protocols.01/13/19 14Protocol specificationProtocol : legal sequences of values that may appear on the ports from the onset to the end of the data transferSymbol : a tuple composed of the values on the portsProtocol is simply a set of strings of symbolsThe GoalTo obtain a FSM that when placed between the two modules implementing the specified protocols would make the communication possible01/13/19 15Protocol specification exampleType byte bit[7:0]Type yow { byte a; byte b}Protocol serial of type yow {Master bit start, byte bus;Term null() { 0, - }Term one(byte b) { 1, b }Term two(byte b) { 0, b}Serial(yow y) { null()*, one(y.a), two(y.b) }}Protocol handshk of type yow {master bit trigger, byte bus;term wait(bit t){ t, - }term get(bit t, byte b) { t, b }handshk(yow y) { wait(0)*,get(1,y.a)+,get(0,y.b)+ }}01/13/19 16Synthesis Algorithm01/13/19 17Simulations and VerificationsSimulationsAble to simulate at each design abstract levelsCo-simulationVerificationFunctionality tests to verify the basic operation of the IP and compliance to any standards Deep corner cases to verify the correct functionality of the IP under unusual conditionsRandom testing Silicon prototyping01/13/19 18ConclusionIP component selection and matchingStandards to promote IP reuseVSIA – Virtual Socket Interface AllianceRetargetability through communication and interface synthesisComprehensive hardware/software co-synthesis frameworkEfficient simulation techniques let designers validate their design at different stages of synthesis01/13/19 19ReferencesZhang, T.; Benini, L.; De Micheli, G. Component selection and matching for IP-based design Design, Automation and Test in Europe, 2001. Conference and Exhibition 2001. Proceedings , 2001 Page(s): 40 –46Kucukcakar, K. Analysis of emerging core-based design lifecycle Computer-Aided Design, 1998. ICCAD 98. Digest of Technical Papers. 1998 IEEE/ACM International Conference on , 1998 Page(s): 445 –449Pai Chou; Ortega, R.; Hines, K.;
View Full Document