Interprocess Communication

Size: px
Start display at page:

Download "Interprocess Communication"

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. 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 D architecture model interprocess communication is information exchange between processing elements MicroLab, VLSI-31 (1/61) MicroLab, VLSI-31 (2/61) page 1

2 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. Shared Memory Communication: test-and 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 PE2 Memory write read MicroLab, VLSI-31 (3/61) need of atomic test-and 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 MicroLab, VLSI-31 (4/61) page 2

3 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 and-set operation to repeatedly test a location that holds a memory lock release semaphore: V(); V() resets the memory lock 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... /* non-protected memory access is here */ P(); /* wait for semaphore */ /* do protected memory access here */ V(); /* release semaphore */ /* non-protected memory access is here */ PE1 send/receive message PE2 send/receive... MicroLab, VLSI-31 (5/61) MicroLab, VLSI-31 (6/61) page 3

4 Signals Data Dependencies 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 OS/PE2 signal send receive 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 to-one one relation between source and destination of video system audio MicroLab, VLSI-31 (7/61) MicroLab, VLSI-31 (8/61) page 4

5 Deadlocks The Four-Cycle Cycle-Handshake 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 the four-cycle 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 device 1 (master) req ack rw device 2 (slave) P 1 P 2 P 3 R 2 MicroLab, VLSI-31 (9/61) MicroLab, VLSI-31 (10/61) page 5

6 device 1 device 2 The Four-Cycle Cycle-Handshake: predefined master/slave four-cycle cycle-handshake for sending: rw req ack valid request phase store phase stored acknowledge phase end phase four-cycle cycle-handshake for receiving: rw 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) device 1 req stored device 2 ack valid request phase achnowledge phase store phase end phase MicroLab, VLSI-31 (11/61) MicroLab, VLSI-31 (12/61) page 6

7 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 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 top priority processing element (CPU) clock r/w addr en addr rdy priorities clock A B C D E F G H r/w wait state addr en priorities A B C D E F G H addr rdy addr valid addr valid valid valid MicroLab, VLSI-31 (13/61) read write MicroLab, VLSI-31 (14/61) page 7

8 Bus With DMA Controller direct memory access (DMA) controllers perform direct transfers between devices without CPU involvement four-cycle 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 System Bus embedded systems-on 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 high-speed bus CPU bridge low-speed I/O device low-speed bus device 2 memory high-speed processing element low-speed processing element MicroLab, VLSI-31 (15/61) MicroLab, VLSI-31 (16/61) page 8

9 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) external memory interface (highbandwidth) low-power latched address and control simple interface suitable for many peripherals DMA on-chip RAM (highbandwidth) AHB or ASB CPU processing element (high-speed) bridge PIO UART APB MicroLab, VLSI-31 (17/61) Keypad Timer 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 MicroLab, VLSI-31 (18/61) page 9

10 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) 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] 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 HCLK HADDR[31:0] control HWDATA[31:0] HREADY addr phase (A) phase (A) A B C D ctrl A ctrl B ctrl C ctrl D A B C decoder HRDATA[31:0] A B C MicroLab, VLSI-31 (19/61) MicroLab, VLSI-31 (20/61) page 10

11 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 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 4 wrapping burst INCR4 ( 011 ): 4-beat 4 incrementing burst WRAP8 ( 100 ): 8-beat 8 wrapping burst INCR8 ( 101 ): 8-beat 8 incrementing burst WRAP16 ( 110 ): 16-beat wrapping burst INCR16 ( 111 ): 16-beat incrementing burst Burst must not cross 1kB address boundary HCLK C1 C2 C3 C4 C5 C6 C7 C8 HCLK HTRANS[1:0] NONSEQ SEQ NONSEQ SEQ SEQ SEQ HTRANS[1:0] NONSEQ BUSY SEQ SEQ SEQ SEQ HADDR[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34 HADDR[31:0] 0x20 0x24 0x24 0x28 0x2C 0x30 HBURST[2:0] INCR WRAP4 HBURST[2:0] HWDATA[31:0] INCR 0x20 0x24 0x28 0x2C 0x30 HWRITE HSIZE[2:0] HPROT[3:0] SIZE=halfword control for burst, SIZE=word HREADY HWDATA[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34 HRDATA[31:0] 0x20 0x24 0x28 0x2C 0x30 HREADY HRDATA[31:0] 0x70 0x72 0x38 0x3C 0x30 0x34 MicroLab, VLSI-31 (21/61) MicroLab, VLSI-31 (22/61) page 11

12 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 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 HCLK C1 C2 C3 C4 C5 C6 C7 C8 HBUSREQ_M2 HGRANT_M1 HTRANS[1:0] NONSEQ SEQ IDLE NONSEQ SEQ IDLE NONSEQ HGRANT_M2 HADDR[31:0] A A+4 B B+4 B HMASTER[3:0] Mx M1 M2 HWDATA[31:0] A B HTRANS[1:0] IDLE IDLE NONSEQ SEQ SEQ SEQ NONSEQ HREADY HADDR[31:0] A A+4 A+8 A+12 B HRESP[1:0] OKAY ERROR ERROR OKAY RETRY RETRY HWDATA[31:0] A A+4 A+8 A+12 HREADY MicroLab, VLSI-31 (23/61) MicroLab, VLSI-31 (24/61) page 12

13 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 master # 1 HADDR_M1[31:0] master # 2 HADDR_M2[31:0] HADDR decoder HSEL_S1 HSEL_S2 HSEL_S3 MicroLab, VLSI-31 (25/61) slave # 1 slave # 2 slave # 3 address select address and control reset clock arbiter grant transfer response reset clock arbiter requests and locks address and control reset clock AHB Interface Diagrams HRDATA[31:0] HSELx HADDR[31:0] HWRITE HTRANS[1:0] HSIZE[2:0] HBURST[2:0] HWDATA[31:0] HRESETn HCLK HMASTER[3:0] HMASTLOCK HGRANTx HREADY HRESP[1:0] HRDATA[31:0] HRESETn HCLK HBUSREQx1 HLOCKx1 HBUSREQx2 HLOCKx2 HADDR[31:0] HSPLITx[15:0] HTRANS[1:0] HBURST[2:0] HRESP[1:0] HREADY HRESTEn HCLK AHB decoder AHB slave split-capable slave AHB master AHB arbiter HSELx1 HSELx2 HREADY HRESP[1:0] HRDATA[31:0] HSPLIT[15:0] HBUSREQx HLOCKx HTRANS[1:0] HADDR[31:0] HWRITE HSIZE[2:0] HBURST[2:0] HPROT[3:0] HWDATA[31:0] HGRANTx1 HGRANTx2 HMASTER[3:0] HMASTLOCK MicroLab, VLSI-31 (26/61) select transfer response arbiter transfer type address and control arbiter grants page 13

14 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 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 (non- pipelined) zero-power interface during non-peripheral bus activity timing can be provided by decode with strobe timing (un- clocked interface) write valid for the whole access (allowing glitch-free transparent latch implementation) master slave #2 slave #3 MicroLab, VLSI-31 (27/61) highbandwidth external memory interface DMA bus master highbandwidth on-chip RAM AHB or ASB CPU high-speed processing device bridge PIO Keypad APB UART Timer MicroLab, VLSI-31 (28/61) page 14

15 APB Basic Transfers APB Interface Diagrams write transfer PCLK PADDR[31:0] PWRITE C1 C2 C3 C4 addr A reset clock PRDATA[31:0] PRESETn PCLK APB bridge PSEL1 PSEL2 PENABLE PADDR[31:0] PWRITE PWDATA[31:0] selects strobe address & control write PSEL PENABLE PWDATA[31:0] read transfer A IDLE SETUP ENABLE IDLE recommended to implement APB bus as multiplexed or OR-bus schema tri-state is possible but not recommended C1 C2 C3 C4 PCLK PADDR[31:0] PWRITE PSEL addr A select strobe address & control PSELx PENABLE PADDR[31:0] PWRITE PWDATA[31:0] APB slave PENABLE PRDATA[31:0] PRDATA[31:0] read PRDATA[31:0] A IDLE SETUP ENABLE IDLE reset clock PRESETn PCLK MicroLab, VLSI-31 (29/61) MicroLab, VLSI-31 (30/61) page 15

16 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 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 HCLK &PCLK C1 C2 C3 C4 C5 C6 C7 C8 C8 dedicated module inputs application module dedicated module outputs HADDR[31:0] addr A addr A+4 addr A+8 addr A+12 addr A+12 HWRITE HRDATA[31:0] (A) (A+4) (A+8) (A+12) test stimuli bus interface test results HREADY AMBA bus PADDR[31:0] addr A addr A+4 addr A+8 addr A+12 PWRITE PSEL control address AMBA bus PENABLE PRDATA[31:0] (A) (A+4) (A+8) (A+12) Test Interface Controller (TIC) External Bus Interface (EIB) MicroLab, VLSI-31 (31/61) TCLK TREQA TREQB TACK TBUS[31:0] MicroLab, VLSI-31 (32/61) page 16

17 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 TREQA C1 C2 C3 C4 C5 C6 C7 C8 C9 Introduction to Networks motivation for distributed embedded systems: if processing tasks are physically distributed, processing power can be implemented there (eg ( eg.. automotive) reduction by signal pre-processing processing for reduction (eg ( 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 TREQB TACK TBUS[31:0] HTRANS[31:0] addr write1 write2 write3 addr IDLE NONSEQ SEQ SEQ IDLE sensor/ actuator PE #1 32-bit RISC PE #2 32-bit RISC PE #3 HADDR[31:0] control HWDATE[31:0] A A+4 A+8 HBURST[2:0],HWRITE,HSIZE[2:0],HPROT[3:0] A A+4 A+8 sensor/ actuator PE #4 DSP PE #5 SoC PE #6 network HREADY MicroLab, VLSI-31 (33/61) MicroLab, VLSI-31 (34/61) page 17

18 Switching-Based Architectures crossbar: higher bandwidth compared to bus-based based architectures major drawback is its expense omega: PEout1 PEout2 PEout3 PEout4 PEin1 PEin2 PEin3 PEin4 crosspoint switch higher bandwidth compared to bus-based based architectures, but lower than crossbar more expense than bus, but less expensive than crossbar OSI Network Abstraction Model open system interconnection reference model (OSI) OSI defines communication formats, contents and meanings: connection-oriented 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: machine #1 process A machine #2 process B 7 6 application presentation end-user interface format application presentation PEout1 PEin1 5 4 session transport application dialog format connections session transport PEout2 PEin2 3 network end-to-end service network PEout3 PEin3 2 1 link physical reliable transport mechanical, electrical link physical PEout4 2 x 2 switch PEin4 MicroLab, VLSI-31 (35/61) MicroLab, VLSI-31 (36/61) page 18

19 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 each layer has its own protocol that can be changed independently of the other ones technology improvement message bits that actually appear on the network this independence makes layer protocols attractive the collection of protocols in a particular system is called protocol stack MicroLab, VLSI-31 (37/61) The Physical Layer: The OSI Layers 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 to-end transmission by routing The Transport Layer: defines connection-oriented 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 MicroLab, VLSI-31 (38/61) page 19

20 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 request 6 client server 5 request/reply µkernel reply 4 µkernel 3 network 2 link 1 physical MicroLab, VLSI-31 (39/61) 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 client µkernel address refers to a process network address refers to a mailbox network server addr µkernel server µkernel addr MicroLab, VLSI-31 (40/61) page 20

21 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 1st request 7 6 client 3rd reply server 5 request/reply 2nd ACK 4 transport µkernel 4rd ACK µkernel 3 2 link network 1 physical reliable message passing using acknowledgment principle client 1st request 2rd reply/ack 3rd ACK server µkernel µkernel network 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 2 bus multi-master/slave master/slave operation open drain/open collector lines structure of an I2C bus system master #1 transmitter & receiver SCL SDA physical layer SCL SDA master #2 transmitter slave #1 transmitter & receiver I2C driver clock input assert clock input assert slave #2 receiver MicroLab, VLSI-31 (41/61) MicroLab, VLSI-31 (42/61) page 21

22 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 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 VDD1=3.3V VDD2=5V SCL1 g s d d g s SCL2 SCL1 g s d SCL2 SDA1 g s d d g s SDA2 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 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 lower voltage section higher voltage section MicroLab, VLSI-31 (43/61) MicroLab, VLSI-31 (44/61) page 22

23 I2C Bus: Data Link Layer transmitting one byte (start) - byte - acknowledge (stop) I2C Bus: Data Link Layer Transfer Formats master write format (2 bytes) 7-bit slave address 0 can be repeated n times SCL Start addr Write Ack Ack Ack Stop SDA MSB start condition 8-bit byte ack stop condition master read format (2 bytes) 7-bit slave address 1 can be repeated n times Start addr Read Ack Ack NAck Stop SCL master SDA transmitter SDA receiver who activates the bus lines MSB transmitter stays off the bus during acknowledgement acknowledgement signal from receiver trasnsmitter takes bus ( or stop) 2 succeeding master write formats can be repeated n times Start addr Write Ack Ack Start addr Ack Stop no proceeding Stop condition MicroLab, VLSI-31 (45/61) MicroLab, VLSI-31 (46/61) page 23

24 The CAN Bus Control Area Network (CAN): ISO standard high-integrity 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 master #1 transmitter & receiver master #2 transmitter & receiver slave #1 transmitter & receiver slave #2 transmitter & receiver 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 MicroLab, VLSI-31 (47/61) MicroLab, VLSI-31 (48/61) page 24

25 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 CAN Network: Data Link Layer principles of exchange no nodes are addressed content-oriented oriented addressing schema: - identifier of message content (unique in network) - identifier defines priority V dd_n transceiver V dd_m transceiver 2-wire differential lines (up to 1 Mbaud) CAN node #1 (receiver) accept CAN node #2 (transceiver) prepare CAN node #3 (receiver) accept CAN node #4 (receiver) V gnd_n V gnd_m CAN controller node #n CAN controller node #m CAN bus V dd bus pull-up select receive message send message select receive message select receive message CAN bus single wire line (only 33.3 kbaud) CAN controller node #1 CAN controller node #2 MicroLab, VLSI-31 (49/61) MicroLab, VLSI-31 (50/61) page 25

26 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 node #1 node #2 node #3 CAN node #1 CAN bus CAN node #2 CAN node #3 interframe space 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) to start arbitration field identifier RTR bit control field identifier extension r0 Standard Data Frame length code field RTR: remote transmission request r0: reserved CRC field CRC field CRC delimiter ack field ACK slot ACK delimiter end of frame inter frame space node #1 loses node #3 loses MicroLab, VLSI-31 (51/61) MicroLab, VLSI-31 (52/61) page 26

27 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 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 reference message reserved for future TTCAN expansion exclusive window Basic Cycle exclusive window arbitration window free window reference message MicroLab, VLSI-31 (53/61) MicroLab, VLSI-31 (54/61) page 27

28 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 wait time maximum length defined by exp weighting nodes ability to detect factor collisions. random dithered times # of attempts 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 sender receiver node # 1 preamble start frame sender receiver node # 2 destination address source address sender receiver node # 3 sender receiver node # 4 length padding CRC service stack FTP HTTP SMTP Telnet SNMP TCP UDP IP transmission control protocol file transfer protocol hypertext transport protocol simple mail transfer protocol user gram protocol simple network management MicroLab, VLSI-31 (55/61) MicroLab, VLSI-31 (56/61) page 28

29 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 = t y d + t m network availability delay t d contention: fixed-priority: network may be blocked fair arbitration (round-robin): robin): t = d N(t +t x +t arb ) P1 Network-Based Design 1 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: implementation with rescheduling: d1 P2 d2 PE1 PE2 P1 P2 PE3 P3 network d1 d2 time PE1 P1 P3 PE2 P2 PE3 network d3 d3 d3 d3 d1d2d1d2d1d2d1d2 time MicroLab, VLSI-31 (57/61) MicroLab, VLSI-31 (58/61) page 29

30 System Performance Analysis no interference t p1 t p2 nt x t p1 +nt x +t p2 P1 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 P4 P3 PE1 PE2 PE3 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 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 MicroLab, VLSI-31 (59/61) MicroLab, VLSI-31 (60/61) page 30

31 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 =147µs m MicroLab, VLSI-31 (61/61) page 31

VLSI Systems Design. Connection and Communication Models

VLSI Systems Design. Connection and Communication Models 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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

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

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

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

Adaptors Communicating. Link Layer: Introduction. Parity Checking. Error Detection. Multiple Access Links and Protocols

Adaptors Communicating. Link Layer: Introduction. Parity Checking. Error Detection. Multiple Access Links and Protocols Link Layer: Introduction daptors ommunicating hosts and routers are nodes links connect nodes wired links wireless links layer-2 packet is a frame, encapsulates datagram datagram controller sending host

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

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 Internetwork Programming. Introduction and Overview ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?

More information