summaryrefslogtreecommitdiffstats
path: root/content/zettel/1c6a1.md
blob: 326712f2603e4feefb7e597a1e40a124920713e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
+++
title = "Implementation of a Hardware Pipeline"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["1c6a"]
forwardlinks = ["1c6a2"]
zettelid = "1c6a1"
+++

A hardware pipeline can be directly inferred from the schedule that is
output by the modulo scheduling algorithm. This can be done by taking
the amounts of states, and generating a state machine inside of that
pipeline that will go from one state to the other. A controller can then
be added to handle the loop iterator and feed the pipeline with the
correct II.

However, this can also be handled inside of the pipeline itself, by
using the `ready` and `valid` signals. When the pipeline is in a state
that it can't accept another input in, then the `ready` signal is set to
0.