How it Works
content
whats on the site?
The RTLery site contents are generic components widely used in the chip design industry by the design and verification community. The components include a Verilog RTL design source code, simple simulation environment and documentation about component specifications, application notes, implementation details and details of the verification testing done to verify the design.
what is a component?
A component is defined as an encapsulated module with a defined interface, providing limited functionality. RTLery Components are generic pieces of source code such as FIFOs, synchronizers, clock dividers, arbitration algorithms, memory wrappers, lists, queues, counters, ECC blocks, PRBS, handshake protocols and many more. Those blocks can be found in many different semiconductor ASICs and SOCs and are used in different contexts and applications. RTLery provides those components along with their source code, documentation and verification information.
quality
The components on the RTLery site were designed and verified by experienced engineers under a strict coding style and verification guidelines. The quality of a design component is always only as good as its verification planning and execution, therefore, The RTLery components are verified to a high standard and a copy of the verification plan done for the component is available on the site. The overall quality of the block design would increase as the level of details used for testing of the component cannot be reached in the context of the entire block.
documentation
The components in the RTLery site are targeted at providing the designer valuable knowledge that can later be applied in other designs and therefore, are properly documented. Understanding that not all applications are alike and every device has its own timing, layout conditions and constraints, the RTLery components documentation is written for the purpose of facilitating changes to the code with minimal functional risk.
The RTLery components documentation contains a detailed list of assumptions regarding the external interfaces of the components and their respective logical behaviour and restrictions. This information should be used to check that the surrounding logic does not violate the component assumptions. The expected functionality of the component should be verified in the context of the block level environment. It is remains the designer’s responsibility to make sure there is no mismatch between the expected component functionality and the actual behaviour in the context of the block.
language
All RTLery components are written in plain Verilog RTL with the main purpose of allowing the designer to modify it for specific needs, timing fixes and other limitations.
The RTLery library is maintained and updated with additional features constantly and can serve to reduce the variation of similar implementations across a team and prevent the risky "cut-modify-use" practice of code re-use between the engineers. The library would have its own coding style so designs can be easily understood by all team members using them.
Motivations
The RTLery website enables logic design and verification engineers to leverage knowledge available in the design community when coming to design logical components that are in wide use. The designer can use the site both as a learning tool where knowledge can be acquired, and as a reference design example serving to shorten the design and time. The components on the site are documented and verified, allowing simple reuse and fast integration. The code examples are open for modifications so the designer can adopt the design to specific needs with minimal effort.
benefits
The benefits to the logic designer from using the site stem from the ability to concentrate on the block functionality and architectural requirements, rather than the details of implementing and debugging low level generic components. The result is a higher level of abstraction and better understanding of the architectural requirements.
audiance
The site is targeted for design and verification engineers from design teams of medium and large fabless semiconductor companies, as well as design teams in startups, design service providers and freelancers. Practically all design engineers can use the site to speed up their design time while keeping the quality high and upgrading their knowledge.
usage
credits
The RTLery website uses “Credits” as internal currency. The “credits” are used as a means of payment for design components where each component has a specific price, listed in credits. Buying a credit package adds a number of credits to the user’s “credit balance” according to the specific credit package. The credits can then be used for downloading the desired components.
team credit purchasing
The typical purchasing process of large organizations goes through purchase orders and few levels of management confirmations before it is executed. Therefore, RTLery’s credit method allows team managers to buy credits for their team and transfer them to the different users. Alternatively, if an engineer can get refunded for the purchase and have a manager approval, he can purchase some credits for himself through the site credit packages page using his Paypal account or credit card.
payment
Credits are purchased in the RTLery site through a Paypal payment gateway where you can use your Paypal account or enter your credit card number in the Paypal secured website. At the end of the purchasing process the user’s credit balance would reflect the number of credits bought.
To see RTLery pricing go here
To purchase credits go here
File download
Once you selected the component you need and checked the different examples provided, you can download the component code and additional information. Each ZIP file contains the Verilog code and a simulation environment written in either Verilog or SystemVerilog. You should use your browser to download the file to your PC, open it and copy the directory inside to your work area. Once you push the download button, you will be prompted to approve the credits reduced from you credit balance. In the case you do not have sufficient credits, you will be requested to buy some credits and return to the download page later.
RTLery keeps a record of your previous downloads for you under you “my account” in the main menu. This will allow you to return and download again components you have downloaded in the passing year. Furthermore, if a fix, a feature addition or enhancement causes the modification of the component file, you will be notified and will have the option to update you design with the new version.
Your “My credits” tab on the main menu will record the usage of credits and you will be able to see each credit transaction you have made recently. If you are a part of a group, the credit balance would also record the credits transferred to you by your group owner or by other members of the group.
invite a friend
The RTLery site enables the users to gain credits by inviting their colleagues to join as RTLery user. Once the invitee registers to the site, the inviter receives a number of credits to be used for downloading site content.
have question about the site functionality? use our FAQ page
need clarifications? please contact us
