§ Код модуля
Этот модуль выполняет как динамическую индикацию, так и уменьшает яркость с помощью ШИМ.hex74 UnitHex1( .clk (clk), .a (4'h4), .b (4'h3), .c (4'h2), .d (4'h1), .dot (4'b0001), .o (hex) .e (en7) );
module hex74( input wire clk, // 100 mhz input wire [3:0] a, // Левый сегмент input wire [3:0] b, input wire [3:0] c, input wire [3:0] d, // Правый сегмент input wire [3:0] dot, // Точки output wire [7:0] o, output wire [3:0] e ); reg [17:0] pwm; always @(posedge clk) pwm <= pwm + 1; assign e = (pwm[15:14] == 2'b00) ? (4'b1 << pwm[17:16]) : 4'h0; wire [3:0] i = pwm[17:16] == 2'b00 ? a : pwm[17:16] == 2'b01 ? b : pwm[17:16] == 2'b10 ? c : d; assign o = { // Высвечивание точки !dot[ pwm[17:16] ], { // 6543210 i == 4'b0000 ? 7'b1000000 : // 0 i == 4'b0001 ? 7'b1111001 : // 1 i == 4'b0010 ? 7'b0100100 : // 2 i == 4'b0011 ? 7'b0110000 : // 3 i == 4'b0100 ? 7'b0011001 : // 4 i == 4'b0101 ? 7'b0010010 : // 5 i == 4'b0110 ? 7'b0000010 : // 6 i == 4'b0111 ? 7'b1111000 : // 7 i == 4'b1000 ? 7'b0000000 : // 8 i == 4'b1001 ? 7'b0010000 : // 9 i == 4'b1010 ? 7'b0001000 : // A i == 4'b1011 ? 7'b0000011 : // B i == 4'b1100 ? 7'b1000110 : // C i == 4'b1101 ? 7'b0100001 : // D i == 4'b1110 ? 7'b0000110 : // E 7'b0001110 // F } }; endmodule
22 мар, 2021
© 2007-2023 Ужас в том, что Жириновский закусывает под водой