On Verilog
On Verilog
endmodule
Vd 2 Nối 4 nút bấm (button) với 4 led đỏ. Cho biết khi bấm vào đèn tắt hay sáng?
module lab1_2(BUTTON,LEDR);
endmodule
module lab1_3(HEX0,HEX1,HEX2,HEX3,HEX4);
assign HEX4=7'b1001000;
assign HEX3=7'b0110000;
assign HEX1=7'b1110001;
assign HEX2=7'b1110001;
assign HEX0=7'b0000001;
endmodule
LAB2
module lab2_1(A,B,C,D,Y);
input A,B,C,D;
output Y;
assign Y = ~((~(A^B))|(C&D));
endmodule
input [3:0] SW ;
endmodule
LAB3
module Lab3_1(SW, HEX0, HEX1);
input [5:0] SW ;
endmodule
input [7:0] SW ;
endmodule
module Lab3_3(SW,HEX0,HEX1,HEX2);
wire[3:0] donvi,chuc,tram;
endmodule
Câu 4:
input [2:0] SW ;
endmodule
LAB4
input CLOCK_50;
output LEDR;
input SW;
input CLOCK_50;
endmodule
module lab4_3 (CLOCK_50, SW, LEDR);
input CLOCK_50;
always @(posedge Q)
endmodule
module lab4_4 (CLOCK_50,SW, HEX0,HEX1,HEX2,HEX3,HEX4,HEX5);
input CLOCK_50;
input [2:0]SW;
reg [2:0]X=3'b000;
assign Q= (SW[2:1]==2'b00)?counter[24]:
(SW[2:1]==2'b01)?counter[23]:
(SW[2:1]==2'b10)?counter[22]: counter[21];
always @(posedge Q)
if(SW[0])
begin
if (X<3'b101) X=X+3'b001;
else X=3'b000;
end
else
begin
if(X>3'b000) X=X-3'b001;
else X=3'b101;
end
always @(posedge Q)
if(X==3'b000)
begin
HEX2<=7'b1111111;
HEX3<=7'b1111111;
HEX4<=7'b1111111;
HEX5<=7'b1111111;
HEX0<=7'b1111001;
HEX1<=7'b1001000;
end
else if(X==3'b001)
begin
HEX5<=7'b1111111;
HEX4<=7'b1111111;
HEX3<=7'b1111111;
HEX0<=7'b1111111;
HEX1<=7'b1111001;
HEX2<=7'b1001000;
end
else if(X==3'b010)
begin
HEX0<=7'b1111111;
HEX4<=7'b1111111;
HEX5<=7'b1111111;
HEX1<=7'b1111111;
HEX2<=7'b1111001;
HEX3<=7'b1001000;
end
else if(X==3'b011)
begin
HEX5<=7'b1111111;
HEX1<=7'b1111111;
HEX0<=7'b1111111;
HEX2<=7'b1111111;
HEX3<=7'b1111001;
HEX4<=7'b1001000;
end
else if(X==3'b100)
begin
HEX2<=7'b1111111;
HEX1<=7'b1111111;
HEX0<=7'b1111111;
HEX3<=7'b1111111;
HEX4<=7'b1111001;
HEX5<=7'b1001000;
end
else
begin
HEX3<=7'b1111111;
HEX2<=7'b1111111;
HEX1<=7'b1111111;
HEX4<=7'b1111111;
HEX5<=7'b1111001;
HEX0<=7'b1001000;
end
endmodule
LAB5
Câu 1 : Thiết kế mạch dịch LED 10 bit từ phải sang trái (1 LED sáng chạy từ phải
sang trái). Ngõ ra là 10 LED đỏ
input CLOCK_50;
reg[25:0]counter;
counter<=counter+ 1'b1;
endmodule
Câu 2 Thiết kế mạch dịch LED 10 bit chạy từ ngoài vào giữa (2 LED sáng ở 2 đầu và dịch vào giữa
input CLOCK_50;
reg[25:0]counter;
counter<=counter+ 1'b1;
endmodule
Câu 3 Thiết kế mạch dịch LED 10 bit điều khiển bằng 3 nút gạt. Trong đó, 1 nút gạt xuống 0 thì
dịch từ trái sang phải, lên 1 thì dịch từ phải sang trái. 2 nút gạt còn lại điều khiển tốc độ dịch của
LED.
module lab5_3(CLOCK_50,SW,LEDR);
reg[25:0]counter;
input CLOCK_50;
input [2:0]SW;
reg K;
output reg[9:0]LEDR=10'b1;
counter<=counter+ 1'b1;
K= LEDR[0]+LEDR[1]+LEDR[2]+LEDR[3]+LEDR[4]+LEDR[5]+LEDR[6]+LEDR[7]+LEDR[8]+LEDR[9];
if (K==10'b1)
begin
if(SW[0])
LEDR={LEDR[8:0],LEDR[9]};
else
LEDR={LEDR[0],LEDR[9:1]};
end
else
LEDR=10'b1;
endmodule