Verilog Поведенческое моделирование - PullRequest
0 голосов
/ 08 марта 2020
 module seven_seg1 ( in , o );
 input [2:0]in ;
 output [6:0]o ;
 always@(*)
 begin
   case (in) 
            0:  o=7'b1111110 ;
            1:  o=7'b0110000 ;
            2:  o=7'b1101101 ;
            3:  o=7'b1111001 ;
            4:  o=7'b0110011 ;
            5:  o=7'b1011011 ;
            6:  o=7'b0011111 ;
            7:  o=7'b1110000 ;
            8:  o=7'b1111111 ;
            9:  o=7'b1110011 ;
      default: o= 7'b0000000 ;
   endcase   
 end
endmodule

Я написал вышеупомянутый код, но ModelSim показывает ошибку, говоря:

Ошибка: (vlog-13069) C: / Modeltech_pe_edu_10.4a / examples / beh .v (18): около «конца»: синтаксическая ошибка, неожиданный конец.

1 Ответ

0 голосов
/ 08 марта 2020

Я не получаю эту ошибку при запуске Modelsim. Я получил незаконную ссылку на o. Это потому, что вы делаете процедурные назначения для провода. Вам нужно сделать o переменной, объявив ее reg.

module seven_seg1 (
 input [2:0]in ,
 output reg [6:0]o );
 always@(*)
 begin
   case (in) 
            0:  o=7'b1111110 ;
            1:  o=7'b0110000 ;
            2:  o=7'b1101101 ;
            3:  o=7'b1111001 ;
            4:  o=7'b0110011 ;
            5:  o=7'b1011011 ;
            6:  o=7'b0011111 ;
            7:  o=7'b1110000 ;
            8:  o=7'b1111111 ;
            9:  o=7'b1110011 ;
      default: o= 7'b0000000 ;
   endcase   
 end
endmodule
...