data/full_repos/permissive/167580717/src/display/DisplayController.sv
 line:8: before: "cursor"
1: b'%Warning-MULTITOP: data/full_repos/permissive/167580717/src/display/DisplayController.sv:8: Multiple top level modules\n                                                                                          : ... Suggest see manual; fix the duplicates, or use --top-module to select top.\n                   ... Use "/* verilator lint_off MULTITOP */" and lint_on around source to disable this message.\n                                                                                          : ... Top module \'DisplayController\'\nmodule DisplayController (\n       ^~~~~~~~~~~~~~~~~\n                                                                                          : ... Top module \'Cursor_t\'\n    input   Cursor_t                    cursor,\n            ^~~~~~~~\n                                                                                          : ... Top module \'TextRamResult_t\'\n    input   TextRamResult_t             textRamResult,\n            ^~~~~~~~~~~~~~~\n                                                                                          : ... Top module \'TextRamRequest_t\'\n    output  TextRamRequest_t            textRamRequest,\n            ^~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:8: Unsupported: Interfaced port on top level module\n    input   Cursor_t                    cursor,\n                                        ^~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:9: Unsupported: Interfaced port on top level module\n    input   TextRamResult_t             textRamResult,\n                                        ^~~~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:10: Unsupported: Interfaced port on top level module\n    output  TextRamRequest_t            textRamRequest,\n                                        ^~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:16: Unsupported: Interfaced port on top level module\n    output  VgaSignal_t                 vga,\n                                        ^~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:8: Cannot find file containing interface: \'Cursor_t\'\n    input   Cursor_t                    cursor,\n            ^~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:9: Cannot find file containing interface: \'TextRamResult_t\'\n    input   TextRamResult_t             textRamResult,\n            ^~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:10: Cannot find file containing interface: \'TextRamRequest_t\'\n    output  TextRamRequest_t            textRamRequest,\n            ^~~~~~~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:16: Cannot find file containing interface: \'VgaSignal_t\'\n    output  VgaSignal_t                 vga,\n            ^~~~~~~~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:25: Can\'t find definition of \'Spare\' in dotted variable: \'n_vga.Spare\'\n  assign n_vga.Spare = 1\'b0;\n               ^~~~~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:26: Can\'t find definition of \'color\' in dotted scope/variable: \'n_vga.color\'\n  assign n_vga.color.red = videoR[2:0];\n               ^~~~~\n        ... Known scopes under \'n_vga\': <no cells found>\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:27: Can\'t find definition of \'color\' in dotted scope/variable: \'n_vga.color\'\n  assign n_vga.color.green = videoG[2:0];\n               ^~~~~\n        ... Known scopes under \'n_vga\': <no cells found>\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:28: Can\'t find definition of \'color\' in dotted scope/variable: \'n_vga.color\'\n  assign n_vga.color.blue = videoB[2:0];  \n               ^~~~~\n        ... Known scopes under \'n_vga\': <no cells found>\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:29: Can\'t find definition of \'de\' in dotted variable: \'n_vga.de\'\n  assign n_vga.de = ~(hblank | vblank);\n               ^~\n%Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:31: Found definition of \'n_vga\' as a CELL but expected a variable\n  assign vga = n_vga; \n               ^~~~~\n%Error: Internal Error: data/full_repos/permissive/167580717/src/display/DisplayController.sv:16: ../V3LinkDot.cpp:2055: Unlinked interface\n    output  VgaSignal_t                 vga,\n            ^~~~~~~~~~~\n'
module DisplayController (
    input                               clk,
	 input                               fclk,
    input                               rst,
    input                               blinkStatus,
    input   Cursor_t                    cursor,
    input   TextRamResult_t             textRamResult,
    output  TextRamRequest_t            textRamRequest,
    output  [8:0]             			vid_dati,
    output  [18:0]    						vid_addr_o,
	 output  [18:0]    						vid_addr_i,
	 output      								vid_wr,
	 input  [8:0]             				vid_dato,
    output  VgaSignal_t                 vga,
	 input										cur_sw
    );
	 
	 VgaSignal_t                 n_vga;

	 wire hblank,vblank;
	 wire [5:0] text_addr;
	 wire [3:0] videoR,videoG,videoB;
	 assign n_vga.Spare = 1'b0;
	 assign n_vga.color.red = videoR[2:0];
	 assign n_vga.color.green = videoG[2:0];
	 assign n_vga.color.blue = videoB[2:0];	 
	 assign n_vga.de = ~(hblank | vblank);
	 
	 assign vga = n_vga; 
			assign textRamRequest.data = 32'b11111111111111111111111111111111;
			assign textRamRequest.address = text_addr;

			assign textRamRequest.wren = 1'b0;
	 
	   vga_controller vga_controller
	(
      .reset     ( rst),
      .clk    ( clk),

      .Hsync       ( n_vga.hSync),
      .Vsync       ( n_vga.vSync),
		.Hblank		( hblank),
		.Vblank		( vblank),
		.vid_addr_o (vid_addr_o),

      .vid_dato (vid_dato),

		.videoR           ( videoR),
      .videoG           ( videoG),
      .videoB           ( videoB)
      );
		
		vga_textmode vga_textmode
		(
      .reset     ( rst),
      .clk    ( clk),

      .cursor_y             ( cursor.x[5:0]),
      .cursor_x           ( cursor.y[6:0]),
		.char_addr(fontRomAddress),
		.char_data(fontRomData),
		.display_mem_addr (text_addr),
      .display_mem_data (textRamResult),
		.vid_dati           ( vid_dati),
      .vid_addr_i           ( vid_addr_i),
      .vid_wr           ( vid_wr),
		.cur_sw				(cur_sw)
		);
		

    FontRomData_t fontRomData;
    FontRomAddress_t fontRomAddress;

    FontRom fontRom(
        .aclr(rst),
        .address(fontRomAddress),
        .clock(fclk),
        .q(fontRomData)
    );
		

endmodule
module DisplayController (
    input                               clk,
	 input                               fclk,
    input                               rst,
    input                               blinkStatus,
    input   Cursor_t                    cursor,
    input   TextRamResult_t             textRamResult,
    output  TextRamRequest_t            textRamRequest,
    output  [8:0]             			vid_dati,
    output  [18:0]    						vid_addr_o,
	 output  [18:0]    						vid_addr_i,
	 output      								vid_wr,
	 input  [8:0]             				vid_dato,
    output  VgaSignal_t                 vga,
	 input										cur_sw
    );

	 
	 VgaSignal_t                 n_vga;

	 wire hblank,vblank;
	 wire [5:0] text_addr;
	 wire [3:0] videoR,videoG,videoB;
	 assign n_vga.Spare = 1'b0;
	 assign n_vga.color.red = videoR[2:0];
	 assign n_vga.color.green = videoG[2:0];
	 assign n_vga.color.blue = videoB[2:0];	 
	 assign n_vga.de = ~(hblank | vblank);
	 
	 assign vga = n_vga; 
			assign textRamRequest.data = 32'b11111111111111111111111111111111;
			assign textRamRequest.address = text_addr;

			assign textRamRequest.wren = 1'b0;
	 
	   vga_controller vga_controller
	(
      .reset     ( rst),
      .clk    ( clk),

      .Hsync       ( n_vga.hSync),
      .Vsync       ( n_vga.vSync),
		.Hblank		( hblank),
		.Vblank		( vblank),
		.vid_addr_o (vid_addr_o),

      .vid_dato (vid_dato),

		.videoR           ( videoR),
      .videoG           ( videoG),
      .videoB           ( videoB)
      );
		
		vga_textmode vga_textmode
		(
      .reset     ( rst),
      .clk    ( clk),

      .cursor_y             ( cursor.x[5:0]),
      .cursor_x           ( cursor.y[6:0]),
		.char_addr(fontRomAddress),
		.char_data(fontRomData),
		.display_mem_addr (text_addr),
      .display_mem_data (textRamResult),
		.vid_dati           ( vid_dati),
      .vid_addr_i           ( vid_addr_i),
      .vid_wr           ( vid_wr),
		.cur_sw				(cur_sw)
		);
		

    FontRomData_t fontRomData;
    FontRomAddress_t fontRomAddress;

    FontRom fontRom(
        .aclr(rst),
        .address(fontRomAddress),
        .clock(fclk),
        .q(fontRomData)
    );
		

endmodule