summaryrefslogtreecommitdiffstats
path: root/content/zettel/5a2b.md
blob: 4bde16c72c41a0dd061aba9ef9d05fc9d40d7529 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
+++
title = "Travelling CE"
author = "Yann Herklotz"
tags = []
categories = []
backlinks = ["5a2a"]
forwardlinks = ["5a2c"]
zettelid = "5a2b"
+++

One solution to the requirement of constant rate of the input data, is
to have a travelling enable signal that sets each stage to be true
sequentially. This can be formulated as the following:

``` verilog
initial o_ce = 1'b0;
always @(posedge i_clk)
  if (i_reset)
    o_ce <= 1'b0;
  else
    o_ce <= i_ce;
always @(posedge i_clk)
  if (i_ce)
    o_output <= $func(i_input);
```