A patient with a fractured to the left upper tibia was treat…

A patient with a fractured to the left upper tibia was treated with a plaster cast. A few days later she started to develop progressive numbness over the dorsum of the foot and weakness in dorsiflexion. The cast was quickly changed, and the signs were attributed to nerve compression. The compressed nerve was most likely the….

Make a counter module that counts from 0 up to MaxVal and th…

Make a counter module that counts from 0 up to MaxVal and then once it gets to MaxVal stops counting. For this counter, after reaching MaxVal the count doesn’t change on additional clock cycles. (if MaxVal is 5 it would count 0,1,2,3,4,5,5,5,5,5,5 … of course you can’t assume MaxVal is 5 this is just an example to make sure you understand the problem) Your counter will need clk, and reset inputs, and you need to output the current count, use an array named Count. Use parameter Size for the width of output Count, and input MaxVal. Use a default parameter Size of 3 bits. For full credit write the module instantiating the D register you designed above. By instantiating the D register module you should not need to have an always block in the counter module, and points may be deducted. If you duplicate the function of instances in procedural code, it will be counted incorrect. Your solution should be succinct and well organized. For full credit Indent all blocks for full credit. Your code should be efficient and succinct. For full credit you must productively use  instances to make the counter count. Use System Verilog, always_ff, and always_comb, and don’t use reg datatype. (hint: see cheat sheet) Declare all variables, avoid errors or warnings that would occur during compilation, simulation or synthesis. Indent all blocks for full credit. Your code should be efficient and succinct. Don’t use compiler directives or short cuts.

Make a counter module that counts from 0 up to MaxVal and th…

Make a counter module that counts from 0 up to MaxVal and then it resets to 0 and continues counting. For this counter, after reaching MaxVal the count doesn’t change on additional clock cycles. (if MaxVal is 5 it would count 0,1,2,3,4,5,0,1,2, … of course you can’t assume MaxVal is 5 this is just an example to make sure you understand the problem) Your counter will need clk, and reset inputs, and you need to output the current count, use an array named Count. Use parameter Size for the width of output Count, and input MaxVal. Use a default parameter Size of 4 bits. For full credit write the module instantiating the D register you designed above. By instantiating the D register module you should not need to have an always block in the counter module, and points may be deducted.  If you duplicate the function of instances in procedural code, it will be counted incorrect. Your solution should be succinct and well organized. For full credit Indent all blocks for full credit. Your code should be efficient and succinct. For full credit you must productively use  instances to make the counter count. Use System Verilog, always_ff, and always_comb, and don’t use reg datatype. (hint: see cheat sheet) Declare all variables, avoid errors or warnings that would occur during compilation, simulation or synthesis. Indent all blocks for full credit. Your code should be efficient and succinct. Don’t use compiler directives or short cuts.