📄 usb_mp3.v
字号:
);
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 + -