⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb_mp3.v

📁 USBRTL电路的VHDL和Verilog代码
💻 V
📖 第 1 页 / 共 2 页
字号:
              );

pc3t01 u4_pc3t01 (
                .oen(disablebus),
                .i( wpb_out),  // gpiopin 
                .pad( wpb)
              );

pc3t01 u5_pc3t01 (
                .oen(disablebus),
                .i( clock_fc_out_out),
                .pad( clock_fc_out)
              );
// mcu 
pc3d01      u1_pc3d01 (              
                       .pad(data_in_mcu),
                       .cin(data_in_mcu_in)
                      );

pc3o01      u0_pc3o01 (              
                       .pad(data_out_mcu),
                       .i(data_out_mcu_out)
                      );

pc3o01      u1_pc3o01 (              
                       .pad(clk_mcu),
                       .i(clk_mcu_out)
                      );
// test 
pc3d01      u2_pc3d01 (  
                       .pad(test0),
                       .cin(test0_in)
                      );

pc3d01      u3_pc3d01 (  
                       .pad(test1),
                       .cin(test1_in)
                      );

pc3d01      u4_pc3d01 (  
                       .pad(test2),
                       .cin(test2_in)
                      );

pc3d01      u5_pc3d01 (  
/*
                       .pad(test3),
                       .cin(test3_in)
*/
                      );

pc3d01      u6_pc3d01 (  
                       .pad(test4),
                       .cin(test4_in)
                      );

pc3o01      u2_pc3o01 (              
                       .pad(test5),
                       .i(test5_out)
                      );

pc3o01      u3_pc3o01 (              
                       .pad(test6),
                       .i(test6_out)
                      );


// gpiopin 

pc3d01      u7_pc3d01 (  
                       .pad(gpiopin0),
                       .cin(gpiopin0_in)
                      );

pc3d01      u8_pc3d01 (  
                       .pad(gpiopin1),
                       .cin(gpiopin1_in)
                      );

pc3d01      u9_pc3d01 (  
                       .pad(gpiopin2),
                       .cin(gpiopin2_in)
                      );

pc3t01      u6_pc3t01 (
                .oen(disablebus),
                .i( gpiopin3_out),
                .pad( gpiopin3)
              );

pc3t01      u7_pc3t01 (
                .oen(disablebus),
                .i( gpiopin4_out),
                .pad( gpiopin4)
              ); 

pc3o01      u4_pc3o01 (              
                       .pad(gpiopin5),
                       .i(gpiopin5_outout)
                      );

pc3o01      u5_pc3o01 (              
                       .pad(gpiopin6),
                       .i(gpiopin6_outout)
                      );

pc3o01      u6_pc3o01 (              
                       .pad(gpiopin7),
                       .i(gpiopin7_outout)
                      );

// gpiopin 

pv0i        avss ( .vss(vss)); // analog 
pvdi        avdd ( .vdd(vdd)); // analog 
pv0i        vssc0 ( .vss(vss));  //core 
pvdi        vddc0 ( .vdd(vdd));  //core 
pv0e        vssio0 ();
pvde        vddio0 ();
pv0i        vssc1 ( .vss(vss));  //core 
pvdi        vddc1 ( .vdd(vdd));  //core 
pv0e        vssio1 ();
pvde        vddio1 ();
pv0i        vssc2 ( .vss(vss));  //core 
pvdi        vddc2 ( .vdd(vdd));  //core 
pv0e        vssio2 ();
pvde        vddio2 ();


pc3x12 u0_pc3x12    ( 
                                      // In normal mode, comment must be omitted.
                      .z(clock48),    // 3 kind of crystal clock paad
                      .xout(xout), 
                      .xin(xin), 
                      .en(suspend)
                     );

utr333d u0_utr333d (
                                      // In normal mode, comment must be omitted.
                .OEB (usboenusboen),
                .RCV (rcvin),
                .VP (vpin),
                .VM (vmin),
                .SUSPEND (suspendsuspend),
                .VMO (vmovmo),
                .VPO (vpovpo),
                .Dpls (dp),
                .Dmns (dm),
                .DmnsP ( DmnsP) ,
                .DmnsN ( DmnsN) ,
                .DplsP ( DplsP) ,
                .DplsN ( DplsN) ,
                .SPEED (1'b1)
                );      

usbpad_353b u1_usbpad_353b(
                                      // In normal mode, comment must be omitted.
                .IP(DmnsP),
                .IN(DmnsN),
                .PAD(dm)
                );      
    
usbpad_353b u0_usbpad_353b(
                                      // In normal mode, comment must be omitted.
                .IP(DplsP),
                .IN(DplsN),
                .PAD(dp)
                );      
//assign clock48 = xin;      /// In normal mode, this line must be omitted.

endmodule

module test_clock_mux(in1, in2, in3, out1, out2, test0_in, test1_in, testmode);
input in1;
input in2;
input in3;
input test0_in;
input test1_in;
output out1;
output out2;
output testmode;
    
assign               testmode = test0_in|test1_in;

assign out1 = (testmode)? in1 : in2;
assign out2 = (testmode)? in1 : in3;
endmodule

module test_mux(
                testselect,
                vpin,
                vmin,
                rcvin,
                gpiopin5_out,
                gpiopin6_out,
                gpiopin7_out,
                data_out,
                clk_mcu,
                suspend,
                usboen,
                vpo,
                vmo,
                card_ready_in,
                data_in_mcu_in,
                gpiopin0_in,
                gpiopin1_in,
                gpiopin2_in,
                test4_in,

                vpinin,
                vminin,
                rcvinin,
                gpiopin5_outout,
                gpiopin6_outout,
                gpiopin7_outout,
                data_out_mcu_out,
                clk_mcu_out,
                suspendsuspend,
                usboenusboen,
                vpovpo,
                vmovmo
               );

input [1:0] testselect;
input vpin;
input vmin;
input rcvin;
input gpiopin5_out;
input gpiopin6_out;
input gpiopin7_out;
input data_out;
input clk_mcu;
input suspend;
input usboen;
input vpo;
input vmo;
input card_ready_in;
input data_in_mcu_in;
input gpiopin0_in;
input gpiopin1_in;
input gpiopin2_in;
input test4_in;

output vpinin;
output vminin;
output rcvinin;
output gpiopin5_outout;
output gpiopin6_outout;
output gpiopin7_outout;
output data_out_mcu_out;
output clk_mcu_out;
output suspendsuspend;
output usboenusboen;
output vpovpo;
output vmovmo;

reg vpinin;
reg vminin;
reg rcvinin;
reg gpiopin5_outout;
reg gpiopin6_outout;
reg gpiopin7_outout;
reg data_out_mcu_out;
reg clk_mcu_out;
reg suspendsuspend;
reg usboenusboen;
reg vpovpo;
reg vmovmo;

always @(testselect or vpin or vmin or rcvin or gpiopin5_out or gpiopin6_out or gpiopin7_out or data_out or clk_mcu or suspend or usboen or vpo or vmo or card_ready_in or data_in_mcu_in or gpiopin0_in or gpiopin1_in or gpiopin2_in or test4_in )
  begin
    case(testselect)
      2'b00 :
        begin
          vpinin = vpin;
          vminin = vmin;  
          rcvinin = rcvin;

          gpiopin5_outout = gpiopin5_out;
          gpiopin6_outout = gpiopin6_out;
          gpiopin7_outout = gpiopin7_out;

          data_out_mcu_out = data_out;
          clk_mcu_out = clk_mcu;

          suspendsuspend = suspend;
          usboenusboen = usboen;
          vpovpo = vpo;
          vmovmo = vmo;
        end
      2'b01 :
        begin
          vpinin = vpin;
          vminin = vmin;  
          rcvinin = rcvin;

          gpiopin5_outout = vpin;
          gpiopin6_outout = vmin;
          gpiopin7_outout = rcvin;

          data_out_mcu_out = data_out;
          clk_mcu_out = clk_mcu;

          suspendsuspend = card_ready_in;
          usboenusboen = data_in_mcu_in;
          vpovpo = gpiopin0_in;
          vmovmo = gpiopin1_in;
        end
      2'b10 :
        begin
          vpinin = gpiopin0_in;
          vminin = gpiopin1_in;  
          rcvinin = gpiopin2_in;

          gpiopin5_outout = suspend;
          gpiopin6_outout = usboen;
          gpiopin7_outout = vpo;

          data_out_mcu_out = data_out;
          clk_mcu_out = clk_mcu;

          suspendsuspend = suspend;
          usboenusboen = usboen;
          vpovpo = vpo;
          vmovmo = vmo;

//          test6_out = vmo;
        end
      2'b11 :
        begin
          vpinin = card_ready_in;
          vminin = data_in_mcu_in;
          rcvinin = test4_in;

          gpiopin5_outout = gpiopin5_out;
          gpiopin6_outout = gpiopin6_out;
          gpiopin7_outout = gpiopin7_out;

          data_out_mcu_out = vpo;
          clk_mcu_out = usboen;

          suspendsuspend = suspend;
          usboenusboen = usboen;
          vpovpo = vpo;
          vmovmo = vmo;

//          test5_out = suspend;
//          test6_out = vmo;
        end
    endcase
  end
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -