forked from tanchou/Verilog
Refactor distance data type from 15 bits to 9 bits in ultrasonic_fpga module and update related testbench for consistency
This commit is contained in:
29
Semaine 1/Distance_display_led/distance_display_led.v
Normal file
29
Semaine 1/Distance_display_led/distance_display_led.v
Normal file
@@ -0,0 +1,29 @@
|
||||
module distance_display_led (
|
||||
input wire [8:0] distance,
|
||||
output reg [5:0] leds
|
||||
);
|
||||
|
||||
// Constante
|
||||
parameter MIN_DIST = 2;
|
||||
parameter MAX_DIST = 349;
|
||||
parameter LEVELS = 5;
|
||||
parameter PART_SIZE = (MAX_DIST - MIN_DIST + 1) / LEVELS;
|
||||
|
||||
always @(*) begin
|
||||
if (distance <= MIN_DIST + PART_SIZE*0)
|
||||
leds = 6'b111111;
|
||||
else if (distance <= MIN_DIST + PART_SIZE*1)
|
||||
leds = 6'b111110;
|
||||
else if (distance <= MIN_DIST + PART_SIZE*2)
|
||||
leds = 6'b111100;
|
||||
else if (distance <= MIN_DIST + PART_SIZE*3)
|
||||
leds = 6'b111000;
|
||||
else if (distance <= MIN_DIST + PART_SIZE*4)
|
||||
leds = 6'b110000;
|
||||
else if (distance <= MIN_DIST + PART_SIZE*5)
|
||||
leds = 6'b100000;
|
||||
else
|
||||
leds = 6'b000000;
|
||||
end
|
||||
|
||||
endmodule
|
Reference in New Issue
Block a user