Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Rafael da Silva Pereira. 16/12/18
- * Classificador de nota.
- */
- // DESCRIPTION: Verilator: Systemverilog example module
- // with interface to switch buttons, LEDs, LCD and register display
- parameter NINSTR_BITS = 32;
- parameter NBITS_TOP = 8, NREGS_TOP = 32;
- module top(input logic clk_2,
- input logic [NBITS_TOP-1:0] SWI,
- output logic [NBITS_TOP-1:0] LED,
- output logic [NBITS_TOP-1:0] SEG,
- output logic [NINSTR_BITS-1:0] lcd_instruction,
- output logic [NBITS_TOP-1:0] lcd_registrador [0:NREGS_TOP-1],
- output logic [NBITS_TOP-1:0] lcd_pc, lcd_SrcA, lcd_SrcB,
- lcd_ALUResult, lcd_Result, lcd_WriteData, lcd_ReadData,
- output logic lcd_MemWrite, lcd_Branch, lcd_MemtoReg, lcd_RegWrite);
- logic opcaoDeExibicao; // uma variavel booleana representando em 1: a situacao do aluno, e em 0: sua nota.
- logic [3:0] nota;// representa a nota do aluno
- logic [6:0] resultado;
- always_comb begin // Aqui inicia-se um circuito combinacional responsavel de receber a entrada.
- opcaoDeExibicao <= SWI[7];
- nota <= SWI[3:0];
- end
- always_comb begin // Aqui inicia-se um circuito combinacional responsavel pela logica do negocio
- if(opcaoDeExibicao) begin
- if(nota < 4) begin
- resultado <= 'b1110011;
- end
- else if(nota >= 7) begin
- resultado <= 'b1110111;
- end
- else begin // always_comb nos obriga a coloca else em qualquer if
- resultado <= 'b1110001;
- end
- end else begin
- /*Esta parte do codigo verica se o valor em binario de notas, quando convertido para binario é uma das opcoes abaixo */
- case(nota)
- 1: resultado <= 'b0000110;
- 2: resultado <= 'b1011011;
- 3: resultado <= 'b1001111;
- 4: resultado <= 'b1100110;
- 5: resultado <= 'b1101101;
- 6: resultado <= 'b1111101;
- 7: resultado <= 'b0000111;
- 8: resultado <= 'b1111111;
- 9: resultado <= 'b1100111;
- default: resultado <= 'b0111111; // default é zero
- endcase
- end
- end
- /*Neste always_comb tratamos de mostrar a saida*/
- always_comb SEG[6:0] <= resultado;
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement