SystemVerilog RTL model for 4-bit Johnson Counter

profileCR680610
4-bitJohnsonCounter.docx

Develop SystemVerilog RTL model for 4-bit Johnson Counter and perform following mentioned :

· Synthesize Johnson counter

· Run simulation using Johnson counter testbench provided

· Review synthesis results (resource usage and RTL netlist/schematic)

· Note : Explanation of resource usage in report is not mandatory to provide.

· Review input and output signals in simulation waveform.

About Johnson Counter :

· Similar to Straight Ring counter with below mentioned difference

· Johnson counter connects the complement of the output of the last shift register to the input of the first register and circulates a stream of ones followed by zeros around the ring

· Johnson Counter has 2N states (if N is 4, then total states for counting is 8. And 4-bit pattern will repeat after 8 cycles).

4-bit Johnson Counter with initial load count value = 4’b0000

4-bit pattern repeats every 8 cycles

Submit report (PDF file) which should include:

· SystemVerilog design and testbench code

· Synthesis resource usage and schematic generated from RTL netlist viewer

· Simulation snapshot and explain simulation result to confirm it works as a Johnson counter

· Resource usage explanation and post mapping schematic is optional to submit.

Note:

· When creating RTL model for Johnson Counter, name SystemVerilog Module name as : johnson_counter

· Assume below mentioned Primary Ports for Johnson Counter

· Input clk (clock)

· Input clear (asynchronous reset / negedge signal)

· Input preset (synchronous and active low singal)

· Input load_cnt (value gets loaded when !preset)

· Output count (output count value)

Johnson Counter

clk

clear

count[0]

count[1]

count[2]

count[3]

preset

load_cnt

4-bit pattern repeats every 8 cycles

Note :

· Assume initial load_cnt signal value is set to 4’b0000 in testbench code provided.

· Students can update johnson_counter_testbench.sv code including initial load_cnt value which can be changed or any other stimulus under initial block, and more.