Skip to content

Commit 33bf29c

Browse files
committed
Fix: Add bullet points to Input and Output Signals sections in all READMEs
1 parent fe3c737 commit 33bf29c

34 files changed

Lines changed: 248 additions & 180 deletions

File tree

ip/01_Simple_Router/README.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,25 @@ The input has an enable signal (din_en), which allows the input to be forwarded
1212

1313
### Input and Output Signals
1414

15-
`din` - Input data
16-
`din_en` - Enable signal for din. Forwards data from input to an output if 1, does not forward data otherwise
17-
`addr` - Two bit destination address. For example addr = b11 = 3 indicates din should be forwarded to output value 3 (dout3)
18-
`dout0` - Output 0. Corresponds to addr = b00
19-
`dout1` - Output 1. Corresponds to addr = b01
20-
`dout2` - Output 2. Corresponds to addr = b10
21-
`dout3` - Output 3. Corresponds to addr = b11
15+
- `din` - Input data
16+
- `din_en` - Enable signal for din. Forwards data from input to an output if 1, does not forward data otherwise
17+
- `addr` - Two bit destination address. For example addr = b11 = 3 indicates din should be forwarded to output value 3 (dout3)
18+
- `dout0` - Output 0. Corresponds to addr = b00
19+
- `dout1` - Output 1. Corresponds to addr = b01
20+
- `dout2` - Output 2. Corresponds to addr = b10
21+
- `dout3` - Output 3. Corresponds to addr = b11
2222

2323
> [!NOTE]
2424
> For the complete problem description, please visit:
2525
> <https://chipdev.io/question/1>
2626
2727
## Description
2828

29-
Combinational router using a `case` statement to decode the 2-bit address and route input data to one of four outputs. All outputs default to zero, then the selected output is conditionally assigned when `din_en` is high. Synthesises to a simple 4:1 demultiplexer with AND gates gating the enable signal.
29+
Combinational router using a `case` statement to decode the 2-bit address and route input data to one of four outputs.
30+
All outputs default to zero, then the selected output is conditionally assigned when `din_en` is high.
31+
Synthesises to a simple 4:1 demultiplexer with AND gates gating the enable signal.
32+
33+
---
3034

3135
## Source
3236

ip/02_Second_Largest/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ When the reset-low signal (`resetn`) goes low, all previous values seen in the i
1010

1111
### Input and Output Signals
1212

13-
`clk` - Clock signal
14-
`resetn` - Synchronous reset-low signal
15-
`din` - Input data sequence
16-
`dout` - Second-largest value seen so far
13+
- `clk` - Clock signal
14+
- `resetn` - Synchronous reset-low signal
15+
- `din` - Input data sequence
16+
- `dout` - Second-largest value seen so far
1717

1818
### Output signals during reset
1919

20-
`dout` - 0 when resetn is active
20+
- `dout` - 0 when resetn is active
2121

2222
> [!NOTE]
2323
> For the complete problem description, please visit:

ip/03_Rounding_Division/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Divide an input number by a power of two and round the result to the nearest int
88

99
### Input and Output Signals
1010

11-
`din` - Input number
12-
`dout` - Rounded result
11+
- `din` - Input number
12+
- `dout` - Rounded result
1313

1414
> [!NOTE]
1515
> For the complete problem description, please visit:
@@ -22,6 +22,8 @@ The division is accomplished via right-shift by `DIV_LOG2` positions.
2222
The rounding logic examines the bit at position `DIV_LOG2-1` (representing the 0.5 threshold) - if this bit is set, it adds 1 to the quotient.
2323
The `resize()` function handles saturation when the result overflows the output width.
2424

25+
---
26+
2527
## Source
2628

2729
This quest is from [chipdev.io](https://chipdev.io/question/3).

ip/04_Bit_Reverser/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ When the reset-low signal (resetn) goes to 0, the Gray code sequence should rest
1919

2020
### Input and Output Signals
2121

22-
`clk` - Clock signal
23-
`resetn` - Synchronous reset-low signal
24-
`out` - Gray code counter value
22+
- `clk` - Clock signal
23+
- `resetn` - Synchronous reset-low signal
24+
- `out` - Gray code counter value
2525

2626
### Output signals during reset
2727

28-
`out` - 0 when resetn is active
28+
- `out` - 0 when resetn is active
2929

3030
> [!NOTE]
3131
> For the complete problem description, please visit:
@@ -36,6 +36,8 @@ When the reset-low signal (resetn) goes to 0, the Gray code sequence should rest
3636
Combinational bit-reversal circuit using a loop that maps `dout(i) <= din(din'high - i)` to mirror the input vector.
3737
Synthesises to pure wiring with no logic gates required.
3838

39+
---
40+
3941
## Source
4042

4143
This quest is from [chipdev.io](https://chipdev.io/question/4).

ip/05_Gray_Code_Converter/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Reverse the bits of an input value's binary representation.
88

99
### Input and Output Signals
1010

11-
`din` - Input value
12-
`dout` - Bitwise reversed value
11+
- `din` - Input value
12+
- `dout` - Bitwise reversed value
1313

1414
> [!NOTE]
1515
> For the complete problem description, please visit:
@@ -21,6 +21,8 @@ Sequential Gray code counter implemented as a binary counter with conversion out
2121
Each clock cycle increments a binary counter variable, then converts it to Gray code using the standard formula: `gray = count XOR shift_right(count, 1)`.
2222
This produces the characteristic Gray code property where consecutive values differ by only one bit.
2323

24+
---
25+
2426
## Source
2527

2628
This quest is from [chipdev.io](https://chipdev.io/question/5).

ip/06_Edge_Detector/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ Bonus - can you enhance your design to pulse `dout` on the same cycle as the ris
1010

1111
### Input and Output Signals
1212

13-
`clk` - Clock signal
14-
`resetn` - Synchronous reset-low signal
15-
`din` - Input signal
16-
`dout` - Output signal
13+
- `clk` - Clock signal
14+
- `resetn` - Synchronous reset-low signal
15+
- `din` - Input signal
16+
- `dout` - Output signal
1717

1818
### Output signals during reset
1919

20-
`dout` - `0` when `resetn` is active
20+
- `dout` - `0` when `resetn` is active
2121

2222
> [!NOTE]
2323
> For the complete problem description, please visit:
@@ -28,6 +28,8 @@ Bonus - can you enhance your design to pulse `dout` on the same cycle as the ris
2828
Rising edge detector that registers the previous input value each clock cycle and outputs a single-cycle pulse when `din='1'` and differs from the registered value.
2929
The comparison `din /= din_reg` detects the transition, while the `din = '1'` check ensures it's specifically a rising edge.
3030

31+
---
32+
3133
## Source
3234

3335
This quest is from [chipdev.io](https://chipdev.io/question/6).

ip/07_Serialiser/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ When reset (`resetn`) is active, the input value that is being shifted is treate
1414

1515
### Input and Output Signals
1616

17-
`clk` - Clock signal
18-
`resetn` - Synchronous reset-low signal
19-
`din` - Input signal
20-
`din_en` - Enable signal for input data
21-
`dout` - Output signal
17+
- `clk` - Clock signal
18+
- `resetn` - Synchronous reset-low signal
19+
- `din` - Input signal
20+
- `din_en` - Enable signal for input data
21+
- `dout` - Output signal
2222

2323
### Output signals during reset
2424

25-
`dout` - `0` when `resetn` is active
25+
- `dout` - `0` when `resetn` is active
2626

2727
> [!NOTE]
2828
> For the complete problem description, please visit:
@@ -39,6 +39,8 @@ Serializer that captures a parallel input word when `din_en` asserts and shifts
3939
A `bit_index` counter tracks which bit to output, incrementing from 0 to `DATA_WIDTH-1`.
4040
The captured data remains in `din_reg` until the entire word is transmitted, then zeros out.
4141

42+
---
43+
4244
## Source
4345

4446
This quest is from [chipdev.io](https://chipdev.io/question/7).

ip/08_Deserialiser/README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ Once the number of input bits received is larger than `DATA_WIDTH`, only the `DA
1010

1111
### Input and Output Signals
1212

13-
`clk` - Clock signal
14-
`resetn` - Synchronous reset-low signal
15-
`din` - Input signal
16-
`dout` - Output signal
13+
- `clk` - Clock signal
14+
- `resetn` - Synchronous reset-low signal
15+
- `din` - Input signal
16+
- `dout` - Output signal
1717

1818
### Output signals during reset
1919

20-
`dout` - `0` when `resetn` is active
20+
- `dout` - `0` when `resetn` is active
2121

2222
> [!NOTE]
2323
> For the complete problem description, please visit:
@@ -34,6 +34,8 @@ Deserialiser that reconstructs a parallel word from serial input.
3434
Each clock cycle shifts the output register left and inserts the new `din` bit at the LSB position using the concatenation `dout <= dout(dout'high - 1 downto 0) & din`.
3535
After `DATA_WIDTH` clock cycles, the complete word appears at the output.
3636

37+
---
38+
3739
## Source
3840

3941
This quest is from [chipdev.io](https://chipdev.io/question/8).

ip/09_Fibonacci_Generator/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ The sequence should be produced when the active low signal (`resetn`) becomes ac
1818

1919
### Input and Output Signals
2020

21-
`clk` - Clock signal
22-
`resetn` - Synchronous reset-low signal
23-
`out` - Current Fibonacci number
21+
- `clk` - Clock signal
22+
- `resetn` - Synchronous reset-low signal
23+
- `out` - Current Fibonacci number
2424

2525
### Output signals during reset
2626

27-
`out` - `1` when `resetn` is active (the first `1` of the Fibonacci sequence)
27+
- `out` - `1` when `resetn` is active (the first `1` of the Fibonacci sequence)
2828

2929
> [!NOTE]
3030
> For the complete problem description, please visit:
@@ -41,6 +41,8 @@ Fibonacci sequence generator using a 2-element pipeline holding the previous two
4141
Each clock cycle computes `sum = fib[1] + fib[0]`, then shifts the pipeline left, discarding the oldest value and inserting the new sum.
4242
The pipeline initialises to `[1, 1]` and produces the sequence 1, 1, 2, 3, 5, 8, 13...
4343

44+
---
45+
4446
## Source
4547

4648
This quest is from [chipdev.io](https://chipdev.io/question/9).

ip/10_Counting_Ones/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Given an input binary value, output the number of bits that are equal to `1`.
88

99
### Input and Output Signals
1010

11-
`din` - Input value
12-
`dout` - Number of `1`'s in the input value
11+
- `din` - Input value
12+
- `dout` - Number of `1`'s in the input value
1313

1414
> [!NOTE]
1515
> For the complete problem description, please visit:
@@ -21,6 +21,8 @@ Population count (popcount) circuit that returns the number of '1' bits in the i
2121
Implemented using the `get_amount_of_state()` utility function from the utils package which counts occurrences of a specified bit state.
2222
The output width is `ceil(log2(DATA_WIDTH))` bits to accommodate the maximum possible count.
2323

24+
---
25+
2426
## Source
2527

2628
This quest is from [chipdev.io](https://chipdev.io/question/10).

0 commit comments

Comments
 (0)