International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 A Proficient and Secured System On-Chip Bus Protocol with OCP Interface V.likitha, R.Ravi kumar* # # Final Year B.Tech, Dept. of ECE, KL University, Vaddeswaram, AP, India * Associate Professor B.Tech, Dept. of ECE, KL University, Vaddeswaram, AP, India Address ABSTRACT: The implementation of a massive scale SoC (Systemon-chip) is becoming increasingly difficult task not only because of its complexity, but also the design of a more amount of IP addresses. A consensusinterface protocol for IP-cores are still significant even and predictable for a successful establishment SoC. OCP, with his frankness, coordinated, not-forprofit nature, and the inherent large industry membership, is quickly becoming a viable and preferable solution over a narrow or an in-house standard. In this project, well-defined interface standard, the Open Core Protocol (OCP), and focus on the design of the internal bus architecture. We develop an efficient bus architecture to the most advanced bus features defined in OCP, including burst transactions, lock transactions, pipelined transactions, and support. Out-of-order transactions on-chip bus transaction level modeling to treat the design flexibility and fast simulation speed is proposed in this project. Keywords: Soc, O.C.P, AMBA, AXI of data communication between the cores increase significantly. Consequently, the capacity of on-chip buses to cope with the large amount of data traffic is a dominant factor for the performance. The design of the on-chip buses can be divided into two parts: bus interface and bus architecture. The bus interface is a set of interface signals and their timing relationship, while the bus architecture refers to the internal components of the buses and the interconnections between IP cores. The generally accepted on-chip bus, AMBA AHB [1], defines to facilitate basic (single) and burst read / write operations. A set of bus interface AHB also determines the internal bus architecture, which is mainly composed of a shared bus multiplexors. The multiplexer-based bus architecture works well for a design with a small number of IP cores. When the number of integrated IP cores increases, the communication between the IP-cores also increase and it is very common for two or more master-IP's would ask the same time. Data from different slaves The shared bus architecture often can not provide an efficient communication. By comparing with previous now we can get acknowledgement for every time when we can send data since only one bus transaction can support simultaneously. I. INTRODUCTION As more and more IP cores, included in a SOC design, the flow of communication between IP cores drastically increased, and the efficiency of the onchip bus is a dominant factor for the performance of the system. A SOC chip usually contains a large number of IP cores that communicate with each other via on-chip buses. Since the VLSI process technology continuously advances, the frequency and the amount ISSN: 2231-5381 To solve this problem, two bus protocols recently proposed. One is the advanced protocol Extensible Interface (AXI) proposed by the ARM company. AXI defines five independent channels (write address, write data, write response, read address, and read data channels). Each channel includes a series of signals. AXI is the internal bus architecture is not limited and leave it to designers. Thus, designers can two IP cores with AXI integration between direct wire connection or by profession an internal bus. The other bus interface protocol is represented by a non- http://www.ijettjournal.org Page 1543 International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 profit organization, the Open Core Protocol International Partnership (OCP-IP) [2]. OCP is an interface (or bus) aims to standardize and simplify so. System integration problems It facilitates system integration through a series of concrete interface (I / O signals and handshaking) which is independent of the bus architecture. Based on this interface IP core designers can concentrate on designing the internal functionality of IP cores, bus designers to focus on the internal bus architecture, and system integrators can focus on system issues such as the requirement of bandwidth and the entire system architecture. For example, system integration is much more efficient. Most of the bus functionalities defined in AXI and OCP are quite similar. The most obvious difference between them is that divides the AXI address channel independent channel write address and read address channel such that read and write transactions can be processed simultaneously. However, the additional area of the channels separately address the punishment. Some previous work has examined onchip buses of various aspects. The work in [3] and [4] develops high-level AMBA bus models with fast simulation speed and high accuracy of the timing. The authors in [7] propose an automatic approach to generate high-level bus models from a formal channel model of OCP. In both of the above work, the authors focus on fast and accurate simulation high level, but gave no real hardware implementation details. In [9], the authors implement the AXI interface on the shared bus architecture. Even though it costs less in area, the advantage of AXI in communication efficiency are limited by the shared bus architecture. In this article we present a powerful on-chip bus design with OCP as bus interface. We choose OCP because it is open to the public and the OCP-IP has some free tools to check this Protocol. Our proposed bus architecture is characterized lat / partial crossbarbased interconnect and realizes most transactions within the meaning of OCP, including 1) some transactions, 2) burst transactions, 3) lock transactions, 4) pipelined transactions, and 5) out-of order transactions. Moreover, the proposed bus is so flexible that the bus architecture can adapt to the system requirements. ISSN: 2231-5381 The rest of this paper is as follows. Section 2The various advanced functionalities on-chip buses are described. Section 3 describes the operation of the OCP Block Diagram. Chapter 4 presents the implementation of OCP master / slave FSM. Section 5 experimental results show that the efficiency of both simulation speed and data communications. Conclusions are then drawn in Section 6. II. ON-CHIP BUS FUNCTIONALITY The different functionalities bus contains 1) Burst 2) Lock 3) pipeline and 4) Out-of-Order transactions. • Burst transactions The burst operations, the combination of multiple transactions that address a particular relationship, and can be divided into multi-application single-burst and burst request depending on how often the addresses are issued. Figure 1 shows the two types of burst read transactions. The multi-burst request as defined in AHB is illustrated in Figure 1 (a) where the address must be issued for each order of a burst transaction (eg, A11, A12, A13 and A14). This may cause some unnecessary overhead. In the more advanced bus architecture, is the single-burst request transaction is supported. As shown in Figure 1 (b), which is defined by the type of burst AXI is given once the address information is output each burst transaction. In our proposal we support both bus design burst transactions such that IP cores with different types of bursting the proposed on-chip bus can be used without change. Their initial burst behavior http://www.ijettjournal.org Page 1544 International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 • Lock transactions illustrated in Figure 3.In Figure 3 (a) which does not allow out-of-order transactions, the corresponding reactions of A21 and A31must are back after the reaction of the A11. With the support of the out-oforder transactions, as shown in Figure 3 (b), the reaction with reduced access latency (D21, D22 and D31) may be returned before those with longer latency (D11-D14) and thus the transactions can be completed. into fewer cycles Lock is a protection for bus masters that have low priorities. Without this mechanism, the read / write operations of the masters with lower priority would be interrupted if a higher priority master has requested. Lock transactions prevent an arbitrator of performing arbitration and ensure that the lowpriority masters are given transaction can be completed without being interrupted. Figure3. Out-of-order transactions Figure 1. Burst transactions • Pipelined transactions Figure 2 (a) and 2 (b) show the difference between the non-pipeline and pipeline (also excellent in AXI) read transactions. In Figure 2 (a), for a non-pipelined operation is a read data is to be returned after the corresponding address is delivered plus a latency period. For example, D21 A21 shipped immediately after delivery plus t. For a pipelined operation as shown in Figure 2 (b), this rigid coupling is not required. Thus A21 may be issued shall be issued without waiting for the return of the information requested by the A11 (ie, D11-D14) data. Immediately after A11 The architecture of the proposed on-chip bus is illustrated in Figure 4, we show an example where four four masters and slaves. A shot architecture, so that more than one master simultaneously communicate with more than one slave applied. If not all masters require the access paths to all slaves, is partial crossbar architecture also allowed. The main streets of the proposed bus architecture are described below. • Arbiter In the traditional shared bus architecture, resource contention occurs when more than one master may request the bus at the same time. For a cross-beam or partial crossbar architecture, resources conflict arises when there is more than one master is to provide concurrent access to the same slave. In the proposed design each slave IP is associated with an arbitrator that determines which master can access the slave. The arbitrator sends signal to grant the requested master. Figure 2. Pipeline transactions • Out-of-order transactions The out-of-order transactions may be different from the order of their request the return sequence of reactions. These operations can significantly improve the communication efficiency of a SOC system with IP cores with different access latencies, such as ISSN: 2231-5381 III. Functional blocks OCP THE BUS • Decoder http://www.ijettjournal.org Page 1545 International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 For more than a slave exists in the system, the decoder decodes the address and decides which slave return response to the target master. Moreover, the proposed decoder also checks whether the transaction address is illegal or nonexistent and reactions with an error message if necessary. • Multiplexer A multiplexer is used to solve the problem of resource contention when multiple answers to the same slave master. It selects the corresponding slave / master according to the specified selection lines. There are one multiplexers and address mux control and two are for data reading and writing. • Master / Slave Master and Slave are the entities from different Address and Data Locations. Only the master can send the commands and is the controlling entity. The Slave responds to commands presented to it, either by accepting data from the master, or that data to the master. • FSM-FSM-M & S FIGURE 4. OCP Block Diagram FSM-M serves as a general and generates the OCP signals from a master, while FSM-S acts as a slave and generates that of a slave. IV. IMPLEMENTATION OF OCP The request is given to slave by MCMD signal through the system. In Write operation, the input address and the data from the system will be given to the slave signal maddr and MData and when that information will be accepted, slave signal that causes the system to issue subsequent application give SCmdAccept. During the read operation, the system will request and address to slave which will enable SResp and remove the associated data that is given to the output via Sdata.The design of the Open Core Protocol begins with the first study which the development of the FSM (Finite State Machine) for the various support operation after developing VHDL FSM. FSM for OCP master: The Finite State Machine (FSM) was developed for the simple read and write operation of OCP Master. The simple writing and reading operation indicates that the control goes to idle after every operation. In principle, the operation will be held in two stages. Into the OCP • Phase Request • Response Phase Initially, the control will be in IDLE state (control = "000") showing all exits, as MCMD, maddr and MData are set to "do not care". The system will the ISSN: 2231-5381 http://www.ijettjournal.org Page 1546 International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 request to the master such that write request to the WRITE state (control = "001"). In this state, the address and the data to the slave that is to be written, and thus the process will be given as to when the SCmdAccept is asserted high. SCmdAccept If not set, it means that the write operation will still be in process and control in the WRITE state itself. Once the write operation is then the control goes to the IDLE state and then it will check for the next request. corresponding memory address location is controlled by the masters go. Once the write operation is complete, the SCmdAccept signal to high and given to the master. When MCMD is given as a read request, then the control goes to the READ state in which the data from the specific memory address location that is given by the master will be read. Hence the SCmdAccept is set to high and the SResp is set to the DVA representing that reading about operation and control goes to the IDLE state. Depending on whether a transaction is a read or write operation, the request and response processes are different. So for burst, burst count is specified that burst size for both reading and writing. Figure 5: FSM for OCP master When the read request is made, the control to the READ state (control = "010") and send it to the slave who in turn gives the SCmdAccept signal that the request phase ends the address. Once the SCmdAccept is set and SResp is not the data is valid (DVA), the control of the WAIT state will go and wait for the signal SResp. When the read operation beyond that represents the SResp is set to DVA and the data for the corresponding address is taken. Hence the SResp signal ends the response phase and the control will go IDLE state, then checks for the next request. FSM for OCP slave: the FSM for the OCP Slave which is simple write and read operation has been developed and is shown in the Figure 6 FIGURE 7. Burst transaction FIGURE 6. fsm for ocp slave The slave is set to the appropriate state based on the MCMD issued by the master and the slave output of this is that the SCmdAccept and SResp. Initially check will be in the IDLE state and when the master contract as write request, and then control the WRITE state in which the data is written to the ISSN: 2231-5381 http://www.ijettjournal.org Page 1547 International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013 [4] James Aldis, “Use of OCP in OMAP 2420”, http://www.ocpip.org/, 2005. FIGURE 8. Out-of-Order transaction being performed and the basic commands and how it can be identified on the basis of which the signal flow diagram and specifications are developed for the design of the OCP using VHDL. Cores with OCP interfaces and OCP interconnect systems enable true modular, plug-and-play integration. The simulation result shows that the communication between different IP cores with OCP is appropriate. On the basis of the result obtained, the burst extension as seen to automate the address generation. Only the first address is delivered to the protocol. We can check errors easily by comparing with previous work V. RESULTS The proposed design is coded in VHDL language and simulated using Xilinx ISE tool. The simulated waveforms for burst operations in Figure 7, and out of order operations in Figure 8 will be displayed. The pipeline system is also apparent from both the results. VI. CONCLUSION This project work presents the OCP (Open Core Protocol) design that acts as an interface between two different IP cores. In this work, initially the research in the OCP [5] G. Schirner and R. Domer, “Quantitative Analysis of Transaction Level Models for the AMBA Bus,” Design, Automation, and Test in Europe, 6 pages, 2006. [6] David C.-W. Chang, I.-T. Liao, J.-K. Lee, W.-F. Chen, S.-Y. Tseng and C.-W. Jen, “PAC DSP Core and Application Processors,” International Conference on Multimedia and Expo, pages 289-292, 2006. [7] Partha Pratim Pande, Cristian Grecu, Michael Jones, Andr´e vanov, and Resve Saleh, “Performance evaluation and design trade-offs for network-on-chip interconnect architectures”, IEEE Trans. Computers, vol. 54, no. 8, pp. 1025–1040, Aug. 2005. [8] IBM Corporation, “Prioritization of Out-of-Order Data Transfers on Shared Data Bus,” US Patent No. 7,392,353, 2008. [9] N.Y.-C. Chang, Y.-Z. Liao and T.-S. Chang, “Analysis of Shared-link AXI,” IET Computers & Digital Techniques, Volume 3, Issue 4, pages 373383, 2009. V. likitha: REFERENCES [1] Advanced Microcontroller Bus Architecture (AMBA) Specification Rev 2.0 & 3.0, ttp://www.arm.com. [2] Open Core Protocol (OCP) Specification, http://www.ocpip.org/home. R. Ravi Kumar: [3] Y.-T. Kim, T. Kim, Y. Kim, C. Shin, E.-Y. Chung, K.-M. Choi, J.-T. Kong, S.-K. Eo, “Fast and Accurate Transaction Level Modeling of an Extended AMBA2.0 Bus Architecture,” Design, Automation, and Test in Europe, pages 138139, 2005. ISSN: 2231-5381 http://www.ijettjournal.org Page 1548