What is RISC-V?
Reduced Instruction Set Computer Architecture (RISC) is an instruction set architecture (ISA) which implies a basic bridge between hardware and software. RISC enables the communication between an assembly language programmer and a processor by defining a set of simple instructions that are combined to perform various complex instructions.
Both RISC and Complex Instruction Set Computer (CISC) approaches try to optimize a CPU’s processing time. In RISC, cycles required per instruction are reduced while instructions per program are increased. But in CISC, the number of instructions per program are reduced while cycles per instruction are increased.
Execution time = # of instructions per program X # of cycles per instruction
As a result, RISC is more of a software-based ISA as the software must take care of sending necessary simple instructions to execute an application. While CISC is a hardware-based ISA as instruction in CISC is complex and therefore needs complex instruction decoding.
RISC-V is an open standard instruction set architecture based on established RISC principles. Unlike most other ISA designs, RISC-V is provided under open-source licensing, which allows for broad use across the industry.
Understanding the role of TileLink in RISC-V Architecture
The developers of RISC-V developed a parametrizable SoC generator called RocketChip which uses the TileLink specification as an interconnect for its multiprocessors, accelerators, and DMA engines, etc.
TileLink is an open-source chip scale interconnect standard providing coherent memory-mapped access to memory and other devices. It is also a fast and scalable interconnect which provides both low latency and high throughput transfers.
Key Benefits of TileLink:
How does the TileLink Network Works?
An example of a basic TileLink network is shown in the figure below. An agent containing a driver interface is connected to another agent containing a receiver interface over a Link. The driver agent sends a request to a receiver agent, the receiver agent will respond to the original requestor confirming that sent data or permissions are received.
Within every link, Tilelink defines five channels that are logically independent of each other over which messages can be exchanged by agents. The TileLink specification defines priority amongst the channel messages in the order of “A << B << C << D << E”, increasing priority which must be strictly enforced to make sure messages within the TileLink network never enters a routing or hold-and-wait loop thereby avoiding deadlock.
Messages in TileLink are composed of beats, each beat contains the following:
Beats are regulated by channel specific independent “ready” & “valid” signals. The sender and receiver need to provide valid and ready signals respectively to enable bit transfer. Once the request message has been initiated its corresponding response message may be sent at any of the following times:
TileLink forbids timeouts within the TileLink network, guaranteeing that a TileLink network will never deadlock. TileLink protocol defines rules known as forward processing rules that govern the conditions under which a receiving agent may reject a beat of a message by changing the ready signal.
Synopsys VIP for TileLink
Synopsys® Verification IP for TileLink provides a comprehensive set of protocol, methodology, verification, and productivity features, enabling users to achieve accelerated verification closure.
Features of Synopsys TileLink VIP Include:
An example of a basic architecture where Synopsys Verification IP for TileLink can be used in a multi-level cache memory application is shown in the figure below. Each component (core, cache L1, cache L2, main memory) connected to the TileLink interconnect through the TileLink driver or receiver interface can be integrated with its corresponding driver or receiver Verification IP agent.
As shown, when multiple cores with separate cache memory are sharing the main memory or a higher-level cache, the TileLink crossbar agent can be used to maintain the cache coherence between them.
Even though RISC-V is not the very first attempt at free and open-source processor IP, it has been the first to intrigue the industry on such a large scale. This has given TileLink specification flexibility and an open approach, generating huge innovation and growth potential.
Synopsys VIP for TileLink can be integrated, configured, and customized with minimal effort.
Synopsys VIP is natively integrated with the Synopsys Verdi® Protocol Analyzer debug solution as well as Synopsys Verdi® Performance Analyzer. Running system-level payload on SoCs requires a faster hardware-based pre-silicon solution. Synopsys transactors, memory models, hybrid and virtual solutions based on Synopsys IP enable various verification and validation use-cases on the industry’s fastest verification hardware, Synopsys ZeBu® and Synopsys HAPS® systems.
You can read a previous TileLink blog here for even more information. To learn more about Synopsys VIP for TileLink please visit http://synopsys.com/vip