FPGA系统性学习笔记连载_Day6 医院护士灯之Intel Q和Xilinx S-6、 ZYNQ7020三个平台的实现及验证篇
连载《叁芯智能fpga设计与研发-第6天》 【医院护士灯实验】之【intel Cyclone IV、Xilinx Spartan-6、Xilinx ZYNQ7020三个平台的实现及验证】
原创作者:紫枫术河 转载请联系群主授权,否则追究责任
本实验,实现一个护士灯实验,要求输入4个按键,输出4个led灯,同一时间只能有一个led灯点亮,key有优先级 key1 > key2 > key3 > key4
一、基本思路
将4路按键信号的值进行判断,先判断key1-->key2-->key3-->key4,如果高优先级的按键按下,低优先级的就不用判断了,代码如下
doctor_leds.v
module doctor_leds(
input wire [3:0]keys,
output reg [3:0]leds
);
wire [3:0] keys_status;
assign keys_status = keys;
always @(*) begin
if(keys_status[0] == 1'b0)
leds = 4'b0001;
else if(keys_status[0]