VLSI Systems Design. Connection and Communication Models

Size: px
Start display at page:

Download "VLSI Systems Design. Connection and Communication Models"

Transcription

1 VLSI Systems Design Connection and Communication Models Goal: You can make the link between the low level connection architectures and the higher level communication models and master their implementation. You are familiar with the most common buses and networks.

2 Interprocess Communication multitasking systems need mechanisms for communication between tasks real-time operating systems (RTOS) provide interprocess communication mechanisms in embedded systems definition of process element (PE): a piece of software running on an embedded processor a hardware unit executing an algorithm implemented for example as a FSM-D architecture model interprocess communication is information exchange between processing elements

3 Blocking/Non-Blocking Communication We distinguish between blocking and non-blocking communication: blocking communication: the process element initiating the communication goes in a waiting state until communication end. non-blocking communication: the process element initiating the communication can execute other useful tasks during an ongoing communication. both types of communication are useful.

4 Shared Memory Communication: test-and-set operation two major (logically equivalent) communication styles exist: shared memory message passing shared memory communication between processing elements using bus a structure message is stored in communication link PE1 shared location Memory PE2 write read need of atomic test-and-set operations, else: PE 1 reads flag location and sees not busy PE2 reads flag location and sees no busy PE1 sets flag location to busy writing and writes to the shared location PE2 erroneously sets flag busy writing and overwrites the left by PE1

5 Shared Memory Communication: Semaphores a semaphore is a language level synchronization element with semaphores guarded access to shared memory can be realized: wait for semaphore: P(); P() uses a test-and-set operation to repeatedly test a location that holds a memory lock release semaphore: V(); V() resets the memory lock... /* non-protected memory access is here */ P(); /* wait for semaphore */ /* do protected memory access here */ V(); /* release semaphore */ /* non-protected memory access is here */...

6 Message Passing Communication each communication entity has its own send/receive unit message is stored on endpoints of send/receive unit and not in communication link as at shared memory communication message passing is used at applications where units operate relatively autonomous: ex. car control system PE1 send/receive message PE2 send/receive

7 Signals major interprocess communication mechanisms: shared memory message passing simple interprocess communication mechanism: signal a signal does not pass beyond its existence a signal is analogous to hardware interrupt, but can entirely be implemented in software a signal is generated by a process and transmitted to another process by the operating system signal have fairly limited functionality: CPU exceptions to operating system operating system services termination of a process PE1 send signal OS/PE2 receive

8 Data Dependencies communication processes that execute exchange at identical rates: relationship shown using dependencies dependencies define a partial ordering of process execution directed acyclic graph (DAG): task graph P1 P3 P4 P2 communication processes that execute exchange at different rates: no one-to-one relation between source and destination of video system audio

9 Deadlocks US Kansas legislature law early last century: When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone. Dealing with deadlock problem: ignoring (very popular) detection and recovering (quite popular) preventing avoiding (not applicable) R 1 R 3 P 1 P 2 P 3 R 2

10 The Four-Cycle-Handshake the four-cycle-handshake ensures a correct communication between two devices predefined master/slave devices device 1 is master and initiates communication device 2 is slave send or receive is possible bus is bidirectional req device 1 (master) ack rw device 2 (slave)

11 The Four-Cycle-Handshake: predefined master/slave four-cycle-handshake for sending: rw device 1 req valid device 2 ack stored request phase store phase acknowledge phase end phase four-cycle-handshake for receiving: rw device 1 req stored device 2 ack valid request phase hnowledge phase store phase end phase

12 Bus Allocation complex SoC may have sharable resources: memories processing elements I/O devices buses bus allocation principles: allocation on a fixed time schedule bus allocation on the basis of need destructive bus allocation (Ethernet: Carrier Sense Multiple Access with Collision Detection CSMD/CD,...) non-destructive bus allocation (arbitration)

13 Bus Arbitration Algorithms arbitration is the method to grant the bus to a requesting master arbitration schemas: fixed priority (or rate-monotonic) algorithm round robin algorithm top priority priorities A B C D E F G H priorities A B C D E F G H

14 Typical Processor Bus a bus is a collection of wires as well as a protocol microprocessor buses build on handshake protocol basic bus operations are reading and writing system clock helps to increase transfer speed device 1 device 2 processing element (CPU) clock r/w addr en addr rdy clock r/w addr en wait state addr addr valid addr valid rdy valid valid read write

15 Bus With DMA Controller direct memory access (DMA) controllers perform direct transfers between devices without CPU involvement four-cycle-handshake with processor to get bus master (interrupt processor when finished) used for high speed requirements to prevent to block the processor too long, partial block transfer mode possible, 16, 32 or 256 words for example. bus DMA controller is a bus with 2 masters processing element (CPU) bus request bus grant DMA controller device 1 clock r/w addr en addr rdy device 2

16 System Bus embedded systems-on-chip use bus hierarchies: Avalon from Altera Inc., used for Nios (simple) AMBA TM bus from AMD Inc., used for ARM TM CoreConnect TM from IBM Inc., used for PowerPC TM features: high-speed buses provide wider connections high-speed buses require more expensive circuitry and connectors. The cost of low-speed devices can be held down by using lower-speed, lower-cost bus. The bridge may allow the buses to operate independently, thereby providing some parallelism in processing an I/O operations. bus bridge: slave at fast bus, master at slow bus CPU low-speed I/O device high-speed bus bridge low-speed bus memory high-speed processing element low-speed processing element

17 The AMBA System Bus advanced high-performance bus (AHB) high-performance pipelined operation multiple bus master burst transfer split transactions advanced high-performance system bus (ASB) dito, but no split transactions advanced peripheral bus (APB) low-power latched address and control simple interface suitable for many peripherals external memory interface (highbandwidth) DMA on-chip RAM (highbandwidth) AHB or ASB CPU processing element (high-speed) bridge PIO Keypad APB UART Timer

18 Advanced High-Performance Bus (AHB) The AHB bus consists of the following elements: AHB master: able to initiate read and write transfers only one bus master is allowed to control the bus AHB slave: responds to read and write operations in a given address space signals back to the master: success, failure or waiting of the transfer AHB arbiter: ensures that only one master at a time is allowed to control bus any arbitration algorithm can be used, like highest priority, fair access, etc AHB decoder: decodes address and generates device select signals single centralized decoder is required

19 Basic AHB Interconnection Schema arbiter determines bus master central multiplexor schema central decoder for read additional characteristics: single cycle bus master handover single clock edge operation non-tristate implementation wider bus configuration (64/128 bits) master # 1 master # 2 master # 3 HADDR HWDATA HRDATA HADDR HWDATA HRDATA HADDR HWDATA HRDATA arbiter HADDR HWDATA HRDATA HADDR HWDATA HRDATA HADDR HWDATA HRDATA HADDR HWDATA HRDATA slave # 1 slave # 2 slave # 3 slave # 4 decoder

20 Phases: Basic AHB Transfer address & control phase one or more phase Slave can delay transfer with HREADY address source is master: HADDR[31:0] source for write operations is master: HWDATA[31:0] source for read operations is slave: HRDATA[31:0] HCLK addr phase (A) phase (A) HADDR[31:0] A B C D control ctrl A ctrl B ctrl C ctrl D HWDATA[31:0] A B C HREADY HRDATA[31:0] A B C

21 AHB Transfer Example Master shows transfer type with HTRANS[1:0] IDLE ( 00 ): no transfer is required BUSY ( 01 ): master is delaying an ongoing transfer NONSEQUENTIAL ( 10 ): first transfer of a burst or single transfer SEQ ( 11 ): remaining transfers of a burst Delaying transfer master delays transfer with HTRANS[1:0] slave delays transfer with HREADY incremental burst of unspecified length is shown C1 C2 C3 C4 C5 C6 C7 C8 HCLK HTRANS[1:0] NONSEQ BUSY SEQ SEQ SEQ SEQ HADDR[31:0] HBURST[2:0] 0x20 0x24 0x24 0x28 0x2C 0x30 INCR HWDATA[31:0] 0x20 0x24 0x28 0x2C 0x30 HREADY HRDATA[31:0] 0x20 0x24 0x28 0x2C 0x30

22 AHB Transfer Example (4-beat wrapping burst) Master defines bus operation with HBURST[2:0] SINGLE ( 000 ): single transfer INCR ( 001 ): increment burst of unspecified length WRAP4 ( 010 ): 4-beat wrapping burst INCR4 ( 011 ): 4-beat incrementing burst WRAP8 ( 100 ): 8-beat wrapping burst INCR8 ( 101 ): 8-beat incrementing burst WRAP16 ( 110 ): 16-beat wrapping burst INCR16 ( 111 ): 16-beat incrementing burst Burst must not cross 1kB address boundary HCLK HTRANS[1:0] NONSEQ SEQ NONSEQ SEQ SEQ SEQ HADDR[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34 HBURST[2:0] INCR WRAP4 HWRITE HSIZE[2:0] HPROT[3:0] SIZE=halfword control for burst, SIZE=word HWDATA[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34 HREADY HRDATA[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34

23 AHB Transfer Example with Response slave can complete a transfer in a number of ways: complete the transfer immediately insert wait states signal an error to indicate transfer has failed delay the completion of the transfer, but allow master/slave to back off bus slave shows status of transfer with HRESP[1:0] in combination with HREADY OKAY: transfer is progressing normally ERROR: transfer has been unsuccessful RETRY and SPLIT: both indicate that transfer cannot complete immediately ERROR, RETRY and SPLIT are at least two-cycles C1 C2 C3 C4 C5 C6 C7 C8 HCLK HTRANS[1:0] NONSEQ SEQ IDLE NONSEQ SEQ IDLE NONSEQ HADDR[31:0] A A+4 B B+4 B HWDATA[31:0] A B HREADY HRESP[1:0] OKAY ERROR ERROR OKAY RETRY RETRY

24 AHB Bus Arbitration signals for bus arbitration: HBUSREQx: master sends bus request HGRANTx: arbiter issues bus grant HMASTER[3:0]: arbiter issues bus master number HLOCKx: master may request bus lock HMASTLOCKx: arbiter issues bus lock grant signal arbiter can terminate non size-limited bursts early master can require locked access if a master looses bus access in the middle of a burst it must re-assert HBUSREQx to regain access C1 C2 C3 C4 C5 C6 C7 C8 HCLK HBUSREQ_M1 HBUSREQ_M2 HGRANT_M1 HGRANT_M2 HMASTER[3:0] Mx M1 M2 HTRANS[1:0] IDLE IDLE NONSEQ SEQ SEQ SEQ NONSEQ HADDR[31:0] A A+4 A+8 A+12 B HWDATA[31:0] A A+4 A+8 A+12 HREADY

25 AHB Address Decoder Schematic slaves sample HSELx when HREADY is active minimum address space allocated to a slave is 1kB if system does not contain complete memory map, default slave (decoder) should respond to wrong addresses access attempt to nonexistent location will be answered by default slave: ERROR response to NONSEQUENTIAL or SEQUENTIAL zero wait state OKAY response to IDLE or BUSY Master determines transfer size with HSIZE[2:0] 000 : size is byte 001 : size is half-word 010 : size is word : size is 32 bytes slave # 1 master # 1 HADDR_M1[31:0] master # 2 HADDR_M2[31:0] HADDR HSEL_S1 decoder HSEL_S2 HSEL_S3 slave # 2 slave # 3

26 AHB Interface Diagrams select HSELx HADDR[31:0] HWRITE HTRANS[1:0] HSIZE[2:0] HBURST[2:0] HWDATA[31:0] HRESETn HCLK HMASTER[3:0] HMASTLOCK address and control reset clock HREADY HRESP[1:0] HRDATA[31:0] HSPLIT[15:0] AHB slave split-capable slave transfer response arbiter grant HGRANTx HREADY HRESP[1:0] HRDATA[31:0] HRESETn HCLK transfer response reset clock HBUSREQx HLOCKx HTRANS[1:0] HADDR[31:0] HWRITE HSIZE[2:0] HBURST[2:0] HPROT[3:0] HWDATA[31:0] AHB master address and control arbiter transfer type arbiter requests and locks HBUSREQx1 HLOCKx1 HBUSREQx2 HLOCKx2 HADDR[31:0] HSPLITx[15:0] HTRANS[1:0] HBURST[2:0] HRESP[1:0] HREADY HRESTEn address and control reset HGRANTx1 HGRANTx2 HMASTER[3:0] HMASTLOCK AHB arbiter arbiter grants HRDATA[31:0] HSELx1 HSELx2 AHB decoder select address

27 AHB-Lite AHB-Lite is a subset of full AHB specifications only one bus master thus no request/grant protocol for arbiter thus no split or retry response from slaves AHB-Lite enables faster design and verification compatibility: full AHB master can be used in AHB-Lite system AHB slaves can be used in AHB-Lite system, if they do not support split and retry AHB-Lite slaves can be used in full AHB system slave #1 master slave #2 slave #3

28 Advanced Peripheral Bus (APB) the APB is a low-power extension to the AHB/ASB APB appears as a local secondary bus encapsulated as a single AHB/ASB slave device APB bridge acts as slave and handles necessary handshake control and bus retiming APB bridge proves latching of all addresses, control and APB should be used to handle low-bandwidth devices APB slave devices have following characteristics: address and control valid throughout the access (nonpipelined) zero-power interface during non-peripheral bus activity timing can be provided by decode with strobe timing (unclocked interface) write valid for the whole access (allowing glitch-free transparent latch implementation) highbandwidth highbandwidth external memory interface DMA bus master AHB or ASB CPU high-speed processing bridge PIO Keypad APB UART Timer

29 write transfer APB Basic Transfers PCLK PADDR[31:0] PWRITE PSEL PENABLE PWDATA[31:0] C1 C2 C3 C4 addr A A IDLE SETUP ENABLE IDLE read transfer PCLK PADDR[31:0] PWRITE PSEL PENABLE PRDATA[31:0] C1 C2 C3 C4 addr A A IDLE SETUP ENABLE IDLE

30 APB Interface Diagrams reset clock PRDATA[31:0] PRESETn PCLK APB bridge PSEL1 PSEL2 PENABLE PADDR[31:0] PWRITE PWDATA[31:0] selects strobe address & control write recommended to implement APB bus as multiplexed or OR-bus schema tri-state is possible but not recommended select strobe address & control PSELx PENABLE PADDR[31:0] PWRITE PWDATA[31:0] APB slave PRDATA[31:0] PRDATA[31:0] read reset clock PRESETn PCLK

31 Read Transfer from AHB to APB for a write transfer the can be latched when: risinf edge of PCLK, when PSEL is high rising edge of PEANBLE, when PSEL is high C1 C2 C3 C4 C5 C6 C7 C8 C8 CLK &PCLK ADDR[31:0] HWRITE addr A addr A+4 addr A+8 addr A+12 addr A+12 RDATA[31:0] (A) (A+4) (A+8) (A+12) HREADY PADDR[31:0] addr A addr A+4 addr A+8 addr A+12 PWRITE PSEL PENABLE RDATA[31:0] (A) (A+4) (A+8) (A+12)

32 AMBA Test Interface AMBA test philosophy allows individual modules in the system to be tested in isolation modules are designed to be tested by bus transfers only test harness provides access to inputs/outputs of modules not already connected to bus dedicated module inputs application module dedicated module outputs test stimuli bus interface test results AMBA bus control Test Interface Controller (TIC) External Bus Interface (EIB) TCLK TREQA TREQB TACK address AMBA bus S[31:0]

33 AMBA Test Interface Write Cycle test control signals during normal operation TREQA TREQB TACK description normal operation enter test mode request test mode entered test control signals during test mode TREQA TREQB TACK description current access incomplete address, control or turnaround vector write vector read vector exit test mode HCLK C1 C2 C3 C4 C5 C6 C7 C8 C9 TREQA TREQB TACK TBUS[31:0] HTRANS[31:0] HADDR[31:0] control addr write1 write2 write3 addr IDLE NONSEQ SEQ SEQ IDLE A A+4 A+8 HBURST[2:0],HWRITE,HSIZE[2:0],HPROT[3:0] HWDATE[31:0] A A+4 A+8 HREADY

34 Introduction to Networks motivation for distributed embedded systems: if processing tasks are physically distributed, processing power can be implemented there (eg. automotive) reduction by signal pre-processing for reduction (eg: finger print feature recognition) modularity by encapsulating processing operations and not using local system bus interprocess communication in SoC shared memory is often used in distributed system networks shared memory is not available sensor/ actuator PE #1 32-bit RISC PE #2 32-bit RISC PE #3 sensor/ actuator PE #4 DSP PE #5 SoC PE #6 network

35 Switching-Based Architectures crossbar: higher bandwidth compared to bus-based architectures major drawback is its expense PEin1 PEin2 PEin3 PEin4 PEout1 PEout2 PEout3 crosspoint switch PEout4 omega: higher bandwidth compared to bus-based architectures, but lower than crossbar more expense than bus, but less expensive than crossbar PEout1 PEin1 PEout2 PEin2 PEout3 PEin3 PEout4 2 x 2 switch PEin4

36 OSI Network Abstraction Model open system interconnection reference model (OSI) OSI defines communication formats, contents and meanings: connection-oriented protocol: first connection is established and possibly protocol negotiated connectionless protocol: no setup necessary, message directly transmitted for modularization/encapsulation 7 layers are defined in OSI: process A machine #1 machine #2 process B 7 application end-user interface application 6 presentation format presentation 5 session application dialog format session 4 transport connections transport 3 network end-to-end service network 2 link reliable transport link 1 physical mechanical, electrical physical

37 The OSI Layer Message link layer header link layer trailer network layer header transport layer header session layer header presentation layer header application layer header message bits that actually appear on the network each layer has its own protocol that can be changed independently of the other ones technology improvement this independence makes layer protocols attractive the collection of protocols in a particular system is called protocol stack

38 The OSI Layers The Physical Layer: basic property of interface, mechanical, electrical and bit exchange procedure The Data Link Layer: primary purpose is error detection and correction group bits into frames, appends checksum The Network Layer: end-to-end transmission by routing The Transport Layer: defines connection-oriented services breaks message into packets, and guarantees delivery of whole message The Session Layer: enhanced version of transport layer adds checkpoints for crash handling The Presentation Layer: defines exchange formats The Application Layer: collection of miscellaneous protocols like , file transfer, etc

39 The Client-Server Model protocol overhead in OSI might be to high for LAN: traversing half a dozen layers up and down (acceptable for WAN) client-server model structures the cooperating processes: server: processes who offer services to users client: processes who consumes services use of connectionless request/reply protocol primary advantage: simplicity: no connection has to be established, reply message serves as acknowledge efficiency: protocol stack is shorter, only 3 OSI levels are necessary layer 7 client µkernel request reply server µkernel 6 5 request/reply 4 3 network 2 link 1 physical

40 Buffered vs. Un-Buffered Message Passing: Mailbox un-buffered message passing receive has to be issued before send primitive buffered message passing: mailbox serving processes install mailbox before using it client µkernel address refers to a process server addr µkernel network client µkernel address refers to a mailbox server µkernel addr network

41 Reliable Message Passing different approaches to reliable message passing: assume the message passing is unreliable (e.g. post office) reliable message passing using separate acknowledgement (compare four cycle handshake) layer client µkernel 1st request 3rd reply 2nd ACK 4rd ACK server µkernel request/reply 4 transport 3 network 2 link 1 physical reliable message passing using acknowledgment principle 1st request client 2rd reply/ack server µkernel 3rd ACK µkernel network

42 The I2C Bus: Physical Layer popular for initialization & command word exchange between up and peripherals like MP3, AD, smart sensor, small EEPROM, etc serial bi-directional 2-wire bus multi-master/slave operation open drain/open collector lines structure of an I2C bus system master #1 transmitter & receiver master #2 transmitter slave #1 transmitter & receiver slave #2 receiver SCL SDA physical layer I2C driver SCL SDA clock input assert clock input assert

43 Level Shifter for I2C Bus (Physical Layer) due to chip technology scaling single supply voltage is rarely seen today networks connecting devices of different voltage sections thus need level shifters VDD1=3.3V VDD2=5V SCL1 g s d SCL2 SDA1 g s d SDA2 3.3V I 2 C device 3.3V I 2 C device 5V I 2 C device 5V I 2 C device lower voltage section higher voltage section

44 Multiple Level Shifter for I2C Bus (Physical Layer) multiple power supplies power down of supply sections possible modular and extendable VDD3 = max(vddi) VDD1=3.3V VDD2=5V SCL1 g s d d g s SCL2 SDA1 g s d d g s SDA2 3.3V I 2 C device 3.3V I 2 C device 5V I 2 C device 5V I 2 C device lower voltage section higher voltage section

45 I2C Bus: Data Link Layer transmitting one byte (start) - byte - acknowledge (stop) SCL SDA MSB 8-bit byte ack start condition stop condition who activates the bus lines SCL master SDA transmitter SDA receiver MSB transmitter stays off the bus during acknowledgement acknowledgement signal from receiver trasnsmitter takes bus ( or stop)

46 I2C Bus: Data Link Layer Transfer Formats master write format (2 bytes) 7-bit slave address 0 can be repeated n times Start addr Write Ack Ack Ack Stop master read format (2 bytes) 7-bit slave address 1 can be repeated n times Start addr Read Ack Ack NAck Stop 2 succeeding master write formats can be repeated n times Start addr Write Ack Ack Start addr Ack Stop no proceeding Stop condition

47 The CAN Bus Control Area Network (CAN): ISO standard high-integrity serial communications bus for real-time applications operates at rates of up to 1 Mbit/sec excellent error detection and confinement capabilities originally developed by Bosch for use in cars, now being used in many other industrial automation and control applications features: message prioritization guarantee of latency time error detection and signaling, automatic retransmission of corrupted messages multi-master master #1 transmitter & receiver master #2 transmitter & receiver slave #1 transmitter & receiver slave #2 transmitter & receiver

48 physical layer The CAN Bus OSI Layer Structure not defined in CAN protocol but in ISO link layer object layer transfer layer Application Layer Data Link Layer (Object Layer) -message filtering -message and status handling (Transfer Layer) -fault confinement -error detection and signaling -message validation -acknowledgement -arbitration -message framing -transfer rates and timing Physical Layer -signal level and bit representation - transmission medium

49 CAN: Physical Layer application domain specific electrical characteristics voltage levels for automotive applications up to 36V wired-and logic on CAN bus lines separation between CAN controller an transceiver often seen CAN bus V diff C_H C_L bus termination V dd_n transceiver V dd_m transceiver 2-wire differential lines (up to 1 Mbaud) V gnd_n V gnd_m CAN controller node #n CAN controller node #m CAN bus V dd bus pull-up single wire line (only 33.3 kbaud) CAN controller node #1 CAN controller node #2

50 CAN Network: Data Link Layer principles of exchange no nodes are addressed content-oriented addressing schema: - identifier of message content (unique in network) - identifier defines priority CAN node #1 (receiver) CAN node #2 (transceiver) CAN node #3 (receiver) CAN node #4 (receiver) accept prepare accept select select select receive message send message receive message receive message CAN bus

51 node #1 loses node #3 loses CAN Network: Data Link Layer Bus Arbitration bus allocation: fast transmission asks for fast bus allocation non-destructive bitwise arbitration identifier defines arbitration priority wired-and priority: low value means high priority CSMA/AMP: Carrier Sense Multiple Access with Arbitration on Message Passing CAN bus CAN node #1 CAN node #2 CAN node #3 CAN bus node #1 node #2 node #3

52 CAN Network: Data Link Layer Message Frame Formats CAN supports two message frame formats: standard (CAN 2.0A): 11 bit identifier extended (CAN 2.0B): 29 bit identifier ( bit) interframe space Standard Data Frame to inter frame space start arbitration field control field field CRC field ack field end of frame identifier RTR bit identifier extension r0 length code CRC field CRC delimiter ACK slot ACK delimiter RTR: remote transmission request r0: reserved

53 CAN Network: Data Link Layer Error Handling detecting and signaling errors: CRC: x 15 + x 14 + x 10 + x 8 + x 7 + x 4 + x 3 +1 frame check ACK check error detection at bit level: monitoring: each transmitter checks locally send signals bit stuffing: after 5 identical consecutive bits the sender adds one complementary bit which will be removed by the receivers (used for bit synchronization) error handling: if error is detected, the current transmission is aborted by sending an error flag sender automatically re-attempts transmission CAN distinguishes between sporadic and permanent errors and thus localizing node failures (statistical assessment) automatic switch off failure nodes is possible

54 The CAN Bus: Time Triggered CAN event and time triggered protocol time division multiplexed access (TDMA) reference message send by time master control unit 4 bytes for global time, 4 bytes for message exclusive window reserved for one particular CAN message only arbitration window one arbitration arbitration losers: retransmitting is disabled free window reserved for future TTCAN expansion Basic Cycle reference message exclusive window exclusive window arbitration window free window reference message

55 Ethernet widely used as local area network for general purpose computing Carrier Sense Multiple Access with Collision Detection (CSMA/CD) non synchronized bus exponential backoff limits bus overload at high demand factors maximum length defined by nodes ability to detect collisions. wait time exp weighting factor random dithered times # of attempts sender receiver node # 1 sender receiver node # 2 sender receiver node # 3 sender receiver node # 4 preamble start frame destination address source address length padding CRC

56 Internet Protocol (IP) Internet protocol on OSI network level connectionless, packet-based communication real-time performance is hard to predict, except within embedded systems by simulation relationship between IP and network layers IP packet structure appliation... transport network link physical IP network link physical appliation... transport network link physical node A router node B service stack FTP HTTP SMTP Telnet SNMP TCP UDP IP transmission control protoco file transfer protocol hypertext transport protocol simple mail transfer protoco user gram protocol simple network managemen

57 design tasks Network-Based Design Communication Analysis scheduling computations and assigning them to PEs scheduling and allocating communication message delay no contention: t m = t x + t n + t r t x transmission delay, t n network transmission time, t r receiver side overhead with contention: t y = t d + t m t d network availability delay contention: fixed-priority: network may be blocked fair arbitration (round-robin): t d = N(t x +t arb )

58 Network-Based Design P11 Example PE1 PE2 PE3 Example: adjusting messages to improve network delay P1 is allocated to PE1, P2 to PE2, and P3 to PE3 processes and transmission times are 4 time units simple implementations: P2 d1 d2 P3 PE1 PE2 P1 P2 PE3 P3 network d1 d2 time implementation with rescheduling: PE1 PE2 P1 P2 PE3 network d3 d3 d3 d3 d1d2d1d2d1d2d1d2 time

59 System Performance Analysis no interference t p1 t p2 P1 nt x P2 t p1 +nt x +t p2 interference between tasks dependency from P1 to P2 translates uncertainty in execution time of P1 to start of P2 co-allocation of P2 and P3 to PE2 means that variations of start of P2 affects completion time of P3 dependency from P3 to P4 translates variations of completion time of P3 to start time of P4 P1 P2 P3 P4 PE1 PE2 PE3

60 Hardware Platform Design, Allocation & Scheduling use only as much hardware as is necessary choices: number and types of PEs number and types of networks procedure to construct scheduling and allocation: for I/O intensive systems start with I/O devices inventory required I/O processing with I/Os with short deadlines may need local processing, other I/O can be attached with simple interfaces determine which devices can share PE or network analyze communication times to determine whether critical communication may interfere with each other allocate minimum required PE to go with each I/O design the rest of the system shown as below for computing-intensive systems start with processes start with task with shortest deadline analyze communication times to determine whether critical communication may interfere with each other allocate lower-priority tasks to shared PEs where possible

61 Exercises: VLSI-31 Ex vlsi31.1: (difficulty: easy, short time): Assume that our I2C bus runs at 200kbits/s and we need to send one 2 bytes. Some of the instructions in the transmitter and receivers drivers namely the loops that send/receive bytes will run concurrently with the message transmission. If we assume that 20 instructions outside the loops are executed by the transmitter and receiver, overheads on a 20 MHz microcontroller have to be taken into account. Calculate the total message delay. Result: start bit + address byte + ack + byte + ack + byte + ack + stop bit; t m =147µs

Interprocess Communication

Interprocess Communication VLSI Systems Design Connection and Communication Models Goal: You can make the link between the low level connection architectures and the higher level communication models and master their implementation.

More information

Ref: AMBA Specification Rev. 2.0

Ref: AMBA Specification Rev. 2.0 AMBA Ref: AMBA Specification Rev. 2.0 1 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 2 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 3 BUS Brief In a

More information

Lecture 10 Introduction to AMBA AHB

Lecture 10 Introduction to AMBA AHB Lecture 10 Introduction to AMBA AHB Multimedia Architecture and Processing Laboratory 多媒體架構與處理實驗室 Prof. Wen-Hsiao Peng ( 彭文孝 ) pawn@mail.si2lab.org 2007 Spring Term 1 2 Reference AMBA Specification 2.0

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 6: AHB-Lite, Interrupts (1) September 18, 2014 Slides"developed"in"part"by"Mark"Brehob" 1" Today" Announcements"

More information

AMBA 3 AHB Lite Bus Architecture

AMBA 3 AHB Lite Bus Architecture AMBA 3 AHB Lite Bus Architecture 1 Module Syllabus What is a Bus Bus Types ARM AMBA System Buses AMBA3 AHB-Lite Bus Bus Operation in General AHB Bus Components AHB Bus Signals AHB Bus Basic Timing AHB

More information

Bus Interfaces and Standards. Zeljko Zilic

Bus Interfaces and Standards. Zeljko Zilic Bus Interfaces and Standards Zeljko Zilic Overview Principles of Digital System Interconnect Modern bus Standards: PCI, AMBA, USB Scalable Interconnect: Infiniband Intellectual Property (IP) Reuse Reusable

More information

1. INTRODUCTION OF AMBA

1. INTRODUCTION OF AMBA 1 1. INTRODUCTION OF AMBA 1.1 Overview of the AMBA specification The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on chip communications standard for designing high-performance

More information

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week?

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week? Announcements EECS 373 Homework #2 Where was I last week? Design of Microprocessor-Based Systems VLCS 14 MobiCom 14 HotWireless 14 Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses

More information

5. On-chip Bus

5. On-chip Bus 5. On-chip Bus... 5-1 5.1....5-1 5.2....5-1 5.2.1. Overview of the AMBA specification...5-1 5.2.2. Introducing the AMBA AHB...5-2 5.2.3. AMBA AHB signal list...5-3 5.2.4. The ARM-based system overview...5-6

More information

SoC Interconnect Bus Structures

SoC Interconnect Bus Structures SoC Interconnect Bus Structures COE838: Systems on Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University

More information

Buses. Maurizio Palesi. Maurizio Palesi 1

Buses. Maurizio Palesi. Maurizio Palesi 1 Buses Maurizio Palesi Maurizio Palesi 1 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single shared channel Microcontroller Microcontroller

More information

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others! Embedded Busses Large semiconductor ( IBM ) CoreConnect STBUS (STMicroelectronics) Core vendors (. Ltd AMBA (ARM Interconnect IP vendors ( Palmchip ) CoreFrame ( Silicore ) WishBone ( Sonics ) SiliconBackPlane

More information

Universität Dortmund. ARM Cortex-M3 Buses

Universität Dortmund. ARM Cortex-M3 Buses ARM Cortex-M3 Buses Modulo 2 No change in class organization Thursday aftenoon (17-19) Lectures (Rossi) Aprile Giugno (Mod 2) room 1.3 Friday afternoon (14-18) (Benatti): LAB2 Content natural prosecution

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

iimplementation of AMBA AHB protocol for high capacity memory management using VHDL

iimplementation of AMBA AHB protocol for high capacity memory management using VHDL iimplementation of AMBA AHB protocol for high capacity memory management using VHDL Varsha vishwarkama 1 Abhishek choubey 2 Arvind Sahu 3 Varshavishwakarma06@gmail.com abhishekchobey84@gmail.com sahuarvind28@gmail.com

More information

AHB-Lite Multilayer Interconnect IP. AHB-Lite Multilayer Interconnect IP User Guide Roa Logic, All rights reserved

AHB-Lite Multilayer Interconnect IP. AHB-Lite Multilayer Interconnect IP User Guide Roa Logic, All rights reserved 1 AHB-Lite Multilayer Interconnect IP User Guide 2 Introduction The Roa Logic AHB-Lite Multi-layer Interconnect is a fully parameterized soft IP High Performance, Low Latency Interconnect Fabric for AHB-Lite.

More information

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction.

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction. Volume 4, Issue 3, March 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Design of an Efficient

More information

VeriFlow Technologies India (P) Ltd

VeriFlow Technologies India (P) Ltd AHB Monitor VIP Version 0.3, Dec 05, 2008 Prabuddha Khare Rev. # Designer Description Date Released 0.1 Prabuddha Khare Initial Draft May 29, 2008 0.2 Prabuddha Khare Added more sections and TOC July 22,

More information

White Paper AHB to Avalon & Avalon to AHB Bridges

White Paper AHB to Avalon & Avalon to AHB Bridges White Paper AHB to & to AHB s Introduction For years, system designers have been manually connecting IP peripheral functions to embedded processors, taking anywhere from weeks to months to accomplish.

More information

Design And Implementation of Efficient FSM For AHB Master And Arbiter

Design And Implementation of Efficient FSM For AHB Master And Arbiter Design And Implementation of Efficient FSM For AHB Master And Arbiter K. Manikanta Sai Kishore, M.Tech Student, GITAM University, Hyderabad Mr. M. Naresh Kumar, M. Tech (JNTUK), Assistant Professor, GITAM

More information

Part A. Yunfei Gu Washington University in St. Louis

Part A. Yunfei Gu Washington University in St. Louis Tools Tutorials Part A Yunfei Gu Washington University in St. Louis Outline RISC-V Z-scale Architecture AHB-Lite protocol Synopsys VCS RISC-V Z-scale What is RISC-V Z-scale? Z-scale is a tiny 32-bit RISC-V

More information

Design of an Efficient FSM for an Implementation of AMBA AHB in SD Host Controller

Design of an Efficient FSM for an Implementation of AMBA AHB in SD Host Controller Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 11, November 2015,

More information

Verilog AHB Testbench User's Guide

Verilog AHB Testbench User's Guide Digital Logic and Electronic Systems Design Company Verilog AHB Testbench User's Guide Pulse Logic www.pulselogic.com.pl e-mail: info@pulselogic.com.pl Document version: 1.0 Document date: March 2010 Table

More information

Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design

Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design Developing a LEON3 template design for the Altera Cyclone-II DE2 board Master of Science Thesis in Integrated Electronic System Design DANIEL BENGTSSON RICHARD FÅNG Chalmers University of Technology University

More information

SoC Design Lecture 11: SoC Bus Architectures. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology

SoC Design Lecture 11: SoC Bus Architectures. Shaahin Hessabi Department of Computer Engineering Sharif University of Technology SoC Design Lecture 11: SoC Bus Architectures Shaahin Hessabi Department of Computer Engineering Sharif University of Technology On-Chip bus topologies Shared bus: Several masters and slaves connected to

More information

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1.

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1. Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and Real Time Systems Page 1 Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and

More information

Assertion Based Verification of AMBA-AHB Using System Verilog

Assertion Based Verification of AMBA-AHB Using System Verilog Assertion Based Verification of AMBA-AHB Using System Verilog N.Karthik M.Tech VLSI, CMR Institute of Technology, Kandlakoya Village, Medchal Road, Hyderabad, Telangana 501401. M.Gurunadha Babu Professor

More information

The CoreConnect Bus Architecture

The CoreConnect Bus Architecture The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached

More information

Design of Microprocessor-Based Systems Part II

Design of Microprocessor-Based Systems Part II Design of Microprocessor-Based Systems Part II Prabal Dutta University of Michigan Modified by Jim Huang 1 Aside: writing an architectural simulator QEMU source 2 System Memory Map

More information

Today. Last Time. Motivation. CAN Bus. More about CAN. What is CAN?

Today. Last Time. Motivation. CAN Bus. More about CAN. What is CAN? Embedded networks Characteristics Requirements Simple embedded LANs Bit banged SPI I2C LIN Ethernet Last Time CAN Bus Intro Low-level stuff Frame types Arbitration Filtering Higher-level protocols Today

More information

8. Networks. Why networked embedded systems General network architecture. Networks. Internet-enabled embedded systems Sensor networks

8. Networks. Why networked embedded systems General network architecture. Networks. Internet-enabled embedded systems Sensor networks 8. Networks Why networked embedded systems General network architecture ISO seven network layers Networks I 2 C, CAN, Ethernet Internet-enabled embedded systems Sensor networks Computers as Components

More information

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE Aparna Kharade 1 and V. Jayashree 2 1 Research Scholar, Electronics Dept., D.K.T.E. Society's Textile and Engineering Institute, Ichalkaranji, Maharashtra, India.

More information

Design and Verification of AMBA AHB- Lite protocol using Verilog HDL

Design and Verification of AMBA AHB- Lite protocol using Verilog HDL Design and Verification of AMBA AHB- Lite protocol using Verilog HDL Sravya Kante #1, Hari KishoreKakarla *2, Avinash Yadlapati #3 1, 2 Department of ECE, KL University Green Fields, Vaddeswaram-522502,

More information

VLSI Design of Multichannel AMBA AHB

VLSI Design of Multichannel AMBA AHB RESEARCH ARTICLE OPEN ACCESS VLSI Design of Multichannel AMBA AHB Shraddha Divekar,Archana Tiwari M-Tech, Department Of Electronics, Assistant professor, Department Of Electronics RKNEC Nagpur,RKNEC Nagpur

More information

CoreAHBtoAPB3 v3.1. Handbook

CoreAHBtoAPB3 v3.1. Handbook CoreAHBtoAPB3 v3.1 Handbook CoreAHBtoAPB3 v3.1 Handbook Table of Contents Introduction... 3 Core Overview... 3 Key Features... 3 Supported Microsemi FPGA Families... 3 Core Version... 4 Supported Interfaces...

More information

Design and Implementation of High-Performance Master/Slave Memory Controller with Microcontroller Bus Architecture

Design and Implementation of High-Performance Master/Slave Memory Controller with Microcontroller Bus Architecture Design and Implementation High-Performance Master/Slave Memory Controller with Microcontroller Bus Architecture Shashisekhar Ramagundam 1, Sunil R.Das 1, 2, Scott Morton 1, Satyendra N. Biswas 4, Voicu

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Ron Dreslinski University of Michigan Lecture 4: Bit of assembly, Memory-mapped I/O, APB January 16, 2018 1 Admin HW2 Due Thursday. HW1 answers posted as

More information

System Design Kit. Cortex-M. Technical Reference Manual. Revision: r0p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0479B (ID070811)

System Design Kit. Cortex-M. Technical Reference Manual. Revision: r0p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0479B (ID070811) Cortex-M System Design Kit Revision: r0p0 Technical Reference Manual Copyright 2011 ARM. All rights reserved. ARM DDI 0479B () Cortex-M System Design Kit Technical Reference Manual Copyright 2011 ARM.

More information

ISSN Vol.03, Issue.08, October-2015, Pages:

ISSN Vol.03, Issue.08, October-2015, Pages: ISSN 2322-0929 Vol.03, Issue.08, October-2015, Pages:1284-1288 www.ijvdcs.org An Overview of Advance Microcontroller Bus Architecture Relate on AHB Bridge K. VAMSI KRISHNA 1, K.AMARENDRA PRASAD 2 1 Research

More information

AMBA AHB Bus Protocol Checker

AMBA AHB Bus Protocol Checker AMBA AHB Bus Protocol Checker 1 Sidhartha Velpula, student, ECE Department, KL University, India, 2 Vivek Obilineni, student, ECE Department, KL University, India 3 Syed Inthiyaz, Asst.Professor, ECE Department,

More information

CoreAHB. Contents. Product Summary. General Description. Intended Use. Key Features. Benefits. Supported Device Families

CoreAHB. Contents. Product Summary. General Description. Intended Use. Key Features. Benefits. Supported Device Families Product Summary Intended Use Provides an AHB Bus Fabric and Is Intended for Use in an AMBA Subsystem where Multiple AHB Masters are Present Key Features Supplied in SysBASIC Core Bundle Implements a Multi-Master

More information

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks

More information

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS Nikhil B. Gaikwad 1, Vijay N. Patil 2 1 P.G. Student, Electronics & Telecommunication Department, Pimpri Chinchwad College of Engineering, Pune,

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Branden Ghena University of Michigan Lecture 4: Memory-Mapped I/O, Bus Architectures September 11, 2014 Slides developed in part by Mark Brehob & Prabal

More information

Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture

Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture Pravin S. Shete 1, Dr. Shruti Oza 2 1 Research Fellow, Electronics Department, BVDU College of Engineering, Pune, India. 2 Department

More information

ISSN: [IDSTM-18] Impact Factor: 5.164

ISSN: [IDSTM-18] Impact Factor: 5.164 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AN AREA EFFICIENT AHB SLAVE DESIGNING USING VHDL Hitanshu Saluja 1, Dr. Naresh Grover 2 1 Research Scholar, ECE, ManavRachnaInternational

More information

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP

CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP 133 CHAPTER 6 FPGA IMPLEMENTATION OF ARBITERS ALGORITHM FOR NETWORK-ON-CHIP 6.1 INTRODUCTION As the era of a billion transistors on a one chip approaches, a lot of Processing Elements (PEs) could be located

More information

CoreHPDMACtrl v2.1. Handbook

CoreHPDMACtrl v2.1. Handbook CoreHPDMACtrl v2. Handbook CoreHPDMACtrl v2. Handbook Table of Contents Introduction...5 General Description... 5 Key Features... 5 Core Version... 5 Supported Families... 5 Utilization and Performance...

More information

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp Design of High Speed AMBA APB Master Slave Burst Data Transfer for ARM Microcontroller Kottu Veeranna Babu 1, B. Naveen Kumar 2, B.V.Reddy 3 1 M.Tech Embedded Systems Student, Vikas College of Engineering

More information

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame Links Reading: Chapter 2 CS 375: Computer Networks Thomas Bressoud 1 Goals of Todayʼs Lecture Link-layer services Encoding, framing, and error detection Error correction and flow control Sharing a shared

More information

VERIFICATION ANALYSIS OF AHB-LITE PROTOCOL WITH COVERAGE

VERIFICATION ANALYSIS OF AHB-LITE PROTOCOL WITH COVERAGE VERIFICATION ANALYSIS OF AHB-LITE PROTOCOL WITH COVERAGE Richa Sinha 1, Akhilesh Kumar 2 and Archana Kumari Sinha 3 1&2 Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India 3 Department of Physics,

More information

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection: 1 Topics 2 LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS Multiple access: CSMA/CD, CSMA/CA, token passing, channelization LAN: characteristics, i basic principles i Protocol architecture Topologies

More information

Links. CS125 - mylinks 1 1/22/14

Links. CS125 - mylinks 1 1/22/14 Links 1 Goals of Today s Lecture Link-layer services Encoding, framing, and error detection Error correction and flow control Sharing a shared media Channel partitioning Taking turns Random access Shared

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 5: Memory-mapped I/O review, APB, start interrupts. Mostly APB though Sept. 19 th 2018 1 Today Memory-mapped I/O

More information

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT 1 Lecture 5: Computing Platforms Asbjørn Djupdal ARM Norway, IDI NTNU 2013 2 Lecture overview Bus based systems Timing diagrams Bus protocols Various busses Basic I/O devices RAM Custom logic FPGA Debug

More information

Communication Networks for the Next-Generation Vehicles

Communication Networks for the Next-Generation Vehicles Communication Networks for the, Ph.D. Electrical and Computer Engg. Dept. Wayne State University Detroit MI 48202 (313) 577-3855, smahmud@eng.wayne.edu January 13, 2005 4 th Annual Winter Workshop U.S.

More information

Chapter 2 The AMBA SOC Platform

Chapter 2 The AMBA SOC Platform Chapter 2 The AMBA SOC Platform SoCs contain numerous IPs that provide varying functionalities. The interconnection of IPs is non-trivial because different SoCs may contain the same set of IPs but have

More information

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties

More information

Course Introduction. Purpose. Objectives. Content. Learning Time

Course Introduction. Purpose. Objectives. Content. Learning Time Course Introduction Purpose This training course provides an overview of Message Frames and hardware issues of the Controller Area Network (CAN) technology used to build networked, multiprocessor embedded

More information

Pooja Kawale* et al ISSN: [IJESAT] [International Journal of Engineering Science & Advanced Technology] Volume-6, Issue-3,

Pooja Kawale* et al ISSN: [IJESAT] [International Journal of Engineering Science & Advanced Technology] Volume-6, Issue-3, Pooja Kawale* et al ISSN: 2250-3676 [IJESAT] [International Journal of Engineering Science & Advanced Technology] Volume-6, Issue-3, 161-165 Design of AMBA Based AHB2APB Bridge Ms. Pooja Kawale Student

More information

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus www.semargroups.org, www.ijsetr.com ISSN 2319-8885 Vol.02,Issue.08, August-2013, Pages:769-772 Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus P.GOUTHAMI 1, Y.PRIYANKA

More information

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

Lecture 25: Busses. A Typical Computer Organization

Lecture 25: Busses. A Typical Computer Organization S 09 L25-1 18-447 Lecture 25: Busses James C. Hoe Dept of ECE, CMU April 27, 2009 Announcements: Project 4 due this week (no late check off) HW 4 due today Handouts: Practice Final Solutions A Typical

More information

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik SoC Design Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik Chapter 5 On-Chip Communication Outline 1. Introduction 2. Shared media 3. Switched media 4. Network on

More information

Design of High Speed AMBA Advanced Peripheral Bus Master Data Transfer for Microcontroller

Design of High Speed AMBA Advanced Peripheral Bus Master Data Transfer for Microcontroller Design of High Speed AMBA Advanced Peripheral Bus Master Data Transfer for Microcontroller Ch.Krishnam Raju M.Tech (ES) Department of ECE Jogaiah Institute of Technology and Sciences, Kalagampudi, Palakol

More information

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip A Flexible SystemC Simulator for Multiprocessor Systemson-Chip Luca Benini Davide Bertozzi Francesco Menichelli Mauro Olivieri DEIS - Università di Bologna DEIS - Università di Bologna DIE - Università

More information

DISTRIBUTED EMBEDDED ARCHITECTURES

DISTRIBUTED EMBEDDED ARCHITECTURES DISTRIBUTED EMBEDDED ARCHITECTURES A distributed embedded system can be organized in many different ways, but its basic units are the Processing Elements (PE) and the network as illustrated in Figure.

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

Digital System Design

Digital System Design Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc350 Simon Fraser University i Slide Set: 15 Date: March 30, 2009 Slide

More information

The Link Layer and LANs. Chapter 6: Link layer and LANs

The Link Layer and LANs. Chapter 6: Link layer and LANs The Link Layer and LANs EECS3214 2018-03-14 4-1 Chapter 6: Link layer and LANs our goals: understand principles behind link layer services: error detection, correction sharing a broadcast channel: multiple

More information

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

EECS 373 Practice Midterm & Homework #2 Fall 2011

EECS 373 Practice Midterm & Homework #2 Fall 2011 Exam #: EECS 373 Practice Midterm & Homework #2 Fall 2011 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #

More information

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA Iqbalur Rahman Rokon, Toufiq Rahman, and Ahsanuzzaman Abstract - In this paper, the design of AMBA processor interface and its

More information

(ARM&Standard&Parallel&Bus) Introduction

(ARM&Standard&Parallel&Bus) Introduction ARM AMBA&Bus (ARM&Standard&Parallel&Bus) 1 Introduction Advanced*Microcontroller*Bus*Architecture*(AMBA) an*open*standard,*on:chip*bus*specification*by*arm describes*a*strategy*for*the*interconnection*and*management*of*

More information

2. System Interconnect Fabric for Memory-Mapped Interfaces

2. System Interconnect Fabric for Memory-Mapped Interfaces 2. System Interconnect Fabric for Memory-Mapped Interfaces QII54003-8.1.0 Introduction The system interconnect fabric for memory-mapped interfaces is a high-bandwidth interconnect structure for connecting

More information

or between microcontrollers)

or between microcontrollers) : Communication Interfaces in Embedded Systems (e.g., to interface with sensors and actuators or between microcontrollers) Spring 2016 : Communication Interfaces in Embedded Systems Spring (e.g., 2016

More information

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems PD215 Mechatronics Week 3/4 Interfacing Hardware and Communication Systems Interfacing with the physical world A compute device (microprocessor) in mechatronic system needs to accept input information

More information

Embedded Systems: Hardware Components (part II) Todor Stefanov

Embedded Systems: Hardware Components (part II) Todor Stefanov Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded

More information

AHB Slave Decoder. User Guide. 12/2014 Capital Microelectronics, Inc. China

AHB Slave Decoder. User Guide. 12/2014 Capital Microelectronics, Inc. China AHB Slave Decoder User Guide 12/2014 Capital Microelectronics, Inc. China Contents Contents... 2 1 Introduction... 3 2 AHB Slave Decoder Overview... 4 2.1 Pin Description... 4 2.2 Block Diagram... 5 3

More information

Lecture 6 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 6 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 6 The Data Link Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Link Layer: setting the context two physically connected devices: host-router, router-router, host-host,

More information

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

Applying the Benefits of Network on a Chip Architecture to FPGA System Design white paper Intel FPGA Applying the Benefits of on a Chip Architecture to FPGA System Design Authors Kent Orthner Senior Manager, Software and IP Intel Corporation Table of Contents Abstract...1 Introduction...1

More information

Bus AMBA. Advanced Microcontroller Bus Architecture (AMBA)

Bus AMBA. Advanced Microcontroller Bus Architecture (AMBA) Bus AMBA Advanced Microcontroller Bus Architecture (AMBA) Rene.beuchat@epfl.ch Rene.beuchat@hesge.ch Réf: AMBA Specification (Rev 2.0) www.arm.com ARM IHI 0011A 1 What to see AMBA system architecture Derivatives

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

Computer Networks Principles LAN - Ethernet

Computer Networks Principles LAN - Ethernet Computer Networks Principles LAN - Ethernet Prof. Andrzej Duda duda@imag.fr http://duda.imag.fr 1 Interconnection structure - layer 3 interconnection layer 3 router subnetwork 1 interconnection layer 2

More information

1 Contents. Version of EnSilica Ltd, All Rights Reserved

1 Contents. Version of EnSilica Ltd, All Rights Reserved 1 Contents 1 Contents 2 2 Overview 3 3 Hardware Interface 4 4 Software Interface 5 4.1 Register Map 5 4.2 FIFO Data Format 6 4.3 Interrupts 7 5 Revision History 8 Version 2.6.8 2 of 8 2012 EnSilica Ltd,

More information

CprE 488 Embedded Systems Design. Lecture 4 Interfacing Technologies

CprE 488 Embedded Systems Design. Lecture 4 Interfacing Technologies CprE 488 Embedded Systems Design Lecture 4 Interfacing Technologies Joseph Zambreno Electrical and Computer Engineering Iowa State University www.ece.iastate.edu/~zambreno rcl.ece.iastate.edu Never trust

More information

Chapter 6 Storage and Other I/O Topics

Chapter 6 Storage and Other I/O Topics Department of Electr rical Eng ineering, Chapter 6 Storage and Other I/O Topics 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Feng-Chia Unive ersity Outline 6.1 Introduction 6.2 Dependability,

More information

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to handle the STM32 peripheral data transfers. 1 The Direct

More information

ECE 551 System on Chip Design

ECE 551 System on Chip Design ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs

More information

Design & Implementation of AHB Interface for SOC Application

Design & Implementation of AHB Interface for SOC Application Design & Implementation of AHB Interface for SOC Application Sangeeta Mangal M. Tech. Scholar Department of Electronics & Communication Pacific University, Udaipur (India) enggsangeetajain@gmail.com Nakul

More information

6 Direct Memory Access (DMA)

6 Direct Memory Access (DMA) 1 License: http://creativecommons.org/licenses/by-nc-nd/3.0/ 6 Direct Access (DMA) DMA technique is used to transfer large volumes of data between I/O interfaces and the memory. Example: Disk drive controllers,

More information

Lecture 5 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 5 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 5 The Data Link Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Link Layer: setting the context two physically connected devices: host-router, router-router, host-host,

More information

Quantitative Analysis of Transaction Level Models for the AMBA Bus

Quantitative Analysis of Transaction Level Models for the AMBA Bus Quantitative Analysis of Transaction Level Models for the AMBA Bus Gunar Schirner and Rainer Dömer Center for Embedded Computer Systems University of California, Irvine Motivation Higher productivity is

More information

AHB2APB Bridge. User Guide. 11/2013 Capital Microelectronics, Inc. China

AHB2APB Bridge. User Guide. 11/2013 Capital Microelectronics, Inc. China AHB2APB Bridge User Guide 11/2013 Capital Microelectronics, Inc. China Contents Contents... 2 1 Introduction... 3 2 AHB2APB Bridge Overview... 4 2.1 Pin Description... 4 2.2 Parameter Description... 4

More information

Link Layer and LANs 안상현서울시립대학교컴퓨터 통계학과.

Link Layer and LANs 안상현서울시립대학교컴퓨터 통계학과. Link Layer and LANs 안상현서울시립대학교컴퓨터 통계학과 ahn@venus.uos.ac.kr Data Link Layer Goals: understand principles behind data link layer services: error detection, correction sharing a broadcast channel: multiple

More information

Link Layer and Ethernet

Link Layer and Ethernet Link Layer and Ethernet 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross traceroute Data Link Layer Multiple

More information

Universal Serial Bus Host Interface on an FPGA

Universal Serial Bus Host Interface on an FPGA Universal Serial Bus Host Interface on an FPGA Application Note For many years, designers have yearned for a general-purpose, high-performance serial communication protocol. The RS-232 and its derivatives

More information

Synchronous Bus. Bus Topics

Synchronous Bus. Bus Topics Bus Topics You should be familiar by now with the basic operation of the MPC823 bus. In this section, we will discuss alternative bus structures and advanced bus operation. Synchronization styles Arbitration:

More information

EECS 373 Practice Midterm / Homework #3 Fall 2014

EECS 373 Practice Midterm / Homework #3 Fall 2014 Exam #: EECS 373 Practice Midterm / Homework #3 Fall 2014 Name: Uniquename: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: Problem #

More information