mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-24 22:07:43 -04:00
28 lines
1.2 KiB
ReStructuredText
28 lines
1.2 KiB
ReStructuredText
.. _getting-started:
|
|
|
|
Getting Started with Ibex
|
|
=========================
|
|
|
|
This page discusses initial steps and requirements to start using Ibex in your design.
|
|
|
|
Register File
|
|
-------------
|
|
|
|
Ibex comes with two different register file implementations.
|
|
Depending on the target technology, either the implementation in ``ibex_register_file_ff.sv`` or the one in ``ibex_register_file_latch.sv`` should be selected.
|
|
For more information about the two register file implementations and their trade-offs, check out :ref:`register-file`.
|
|
|
|
Clock Gating Cell
|
|
-----------------
|
|
|
|
Ibex requires clock gating cells.
|
|
This cells are usually specific to the selected target technology and thus not provided as part of the RTL design.
|
|
It is assumed that the clock gating cell is wrapped in a module called ``prim_clock_gating`` that has the following ports:
|
|
|
|
* ``clk_i``: Clock Input
|
|
* ``en_i``: Clock Enable Input
|
|
* ``test_en_i``: Test Enable Input (activates the clock even though ``en_i`` is not set)
|
|
* ``clk_o``: Gated Clock Output
|
|
|
|
Inside Ibex, clock gating cells are used both in ``ibex_core.sv`` and ``ibex_register_file_latch.sv``.
|
|
For more information on the expected behavior of the clock gating cell when using the latch-based register file check out :ref:`register-file`.
|