亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uusb_dual.v

?? 實現(xiàn)USB接口功能的VHDL和verilog完整源代碼
?? V
字號:
/*    
# --------------------------------------------------------------------------
#    Module      : Uusb_dual.v 
#     
#    Revision     : $Revision: 1.38 $
#    
#---------------------------------------------------------------------------
#   Purpose : 
#-------------------------------------------------------------------------
*/   

// FOR FPGA TEST TOP MODULE  

module Uusb_dual
	(
	// inputs from bus
		testmode,
		testreset,
		pwronresetb,
		clock48,	// 48 MHz clock
		rcvin,		// differential in
		vpin,		// plus in
		vmin,		// minus in
                // inputs from smart media
                card_ready,
                smart_rd_data,

		vmo,		// minus out
		vpo,		// plus out
		usboen,	// oe for usb bits
		suspend,
		usbclockout,
         gpiopin0,
		 gpiopin1,
		 gpiopin2,
		 gpiopin3,
		 gpiopin4,
		 gpiopin5,
		 gpiopin6,
		 gpiopin7,
		 disablebus,
		  // in /out for mmc
                dataout_dat_in,
                dataout_dat_out,
                dataout_dat_enable,

//                data_cf_in,
                //sm64_enable,
                clock_fc_out,

//                data_fc_out,
                datain_cmd_in,
                datain_cmd_out,
                datain_cmd_enable,
                // for MCU I/F
				data_out,
				data_in,
				clk_mcu,
                // outputs to smart media
                ale,
                cle,
                reb,
                web,
                wpb,
                out_enable,
                smart_wr_data

	);

input  testmode;
input  testreset;

  input      pwronresetb;
  input	     clock48;
  input	     rcvin;
  input	     vpin;
  input	     vmin;

  input      dataout_dat_in;
  output     dataout_dat_out;
  output     dataout_dat_enable;

  input              card_ready;
  //input              sm64_enable;
  input        [7:0] smart_rd_data;
  output     vmo;
  output     vpo;
  output     usboen;
  output     suspend;
  output     clock_fc_out;
  input      datain_cmd_in;
  output     datain_cmd_out;
  output     datain_cmd_enable;
  output     disablebus;
  output     usbclockout;
  output             ale;
  output             cle;
  output             reb;
  output             web;
  output             wpb;
  output             out_enable;
  output       [7:0] smart_wr_data;
  input     gpiopin0;
  input     gpiopin1;
  input     gpiopin2;

  output    gpiopin3;
  output    gpiopin4;
  output    gpiopin5;
  output    gpiopin6;
  output    gpiopin7;

  input   data_in;
  output  data_out;
  output  clk_mcu;
// wires for endpoints
  wire	     endp0rdstall = 1'b0;
  wire	     endp0wrstall = 1'b0;
  wire      endp3rdready = 1'b1;

  wire [7:0] currentalternatesetting;
  wire [7:0] endpwrdata;
  wire [7:0] endp2rddata;
  wire [7:0] endp3rddata;
  wire [7:0] endp0rddata;
  wire [6:0] devromdescriptorindex;
  wire [7:0] devromsetupaddr;
  wire [7:0] romdevsetupdata;
  wire [2:0] setupbyteaddr = 3'b000;
  wire [7:0] setupdataout;	// one of 8 bytes of the setup stage data
  wire[10:0] framenumber;
  wire[15:0] datawr3data;
  wire[2:0] clockrate;
 
   wire[2:0] setmode;

wire spimode = (setmode == 3'b001) ? 1'b1 : 1'b0;
wire enmmc   = (setmode == 3'b001 || setmode == 3'b010) ? 1'b1 : 1'b0;
wire disablebus =(setmode == 3'b000 || setmode == 3'b001) ? 1'b1 : 1'b0; 
wire sm64_enable  = (setmode == 3'b100) ? 1'b1 :1'b0;
wire sm_enable = (setmode == 3'b011 || setmode == 3'b100) ? 1'b1 : 1'b0;

/*
wire spimode =  1'b0;
wire enmmc   = 1'b1;
wire sm_enable   = 1'b0;
wire disablebus =  1'b0;
*/
wire busy_end_out;
wire busy_end_mmc = (enmmc && !spimode) ? busy_end_out:1'b1 ;
wire usbclock;
Ucore core (
        .testmode(testmode),
		.testreset(testreset),
		.clock48 (clock48),
        .rcvin (rcvin),
        .vpin (vpin),
        .vmin (vmin),
        .vmo (vmo),
        .vpo (vpo),
        .usboen (usboen),
        .usbclockout (usbclock),
        .usbclock (usbclock),
        .pwronreset(~pwronresetb),
    	.usbreset (usbreset),
    	.endpwrdata (endpwrdata),
    	.datapacketok (datapacketok),
    	.datapacketnotok (datapacketnotok),
        .devromdescriptorindex(devromdescriptorindex),
        .devromsetupaddr(devromsetupaddr),
        .romdevsetupdata(romdevsetupdata),
    	.romen(romen),
    	.endp0internaltogglebit(endp0internaltogglebit),
        .setupcycle(setupcycle),
        .setupbyteaddr(setupbyteaddr),
        .setupdata(setupdataout),
	    .rcvack(rcvack),
	    .suspend(suspend),
		.synthsof(synthsof),
	    .framenumber(framenumber),
	    .currentalternatesetting (currentalternatesetting),

        `include "Uvendorconnections.v"
 
	// connections to endpoint0 - read/write
	.endp0wr (endp0wr),
	.endp0wrready (endp0wrready),
	.endp0wrstall (endp0wrstall),
	.endp0rd (endp0rd),
	.endp0rddata (endp0rddata),
	//.endp0rdready (1'b1),
	.endp0rdready (endp0rdready && busy_end_mmc),
	.endp0rdstall (endp0rdstall),

	// connections to endpoint1 - write only
	.endp1wr (endp1wr),
	.endp1wrready (endp1wrready),
	//.endp1wrstall (endp1wrstall),

	// connections to endpoint2 - read only
	.endp2rd (endp2rd),
	.endp2rddata(endp2rddata),
	.endp2rdready(endp2rdready),
	//.endp2rdstall (endp2rdstall),
	
	.endp3rd (endp3rd),
	.endp3rddata(endp3rddata),
	.endp3rdready(endp3rdready)
	//.endp3rdstall (endp3rdstall)
	
	);
wire[7:0] datarddata;
wire[7:0] statusdatammc;
wire[7:0] statusdatasm;
wire[7:0] datawrdatammc;
wire[7:0] datawrdatasm;
wire[7:0] cmddatamc;
wire mcclock;
wire cmdrdmmc , cmdrdsm;
wire statuswrmmc, statuswrsm;
wire datardmmc,datardsm;
wire datawrmmc, datawrsm;
wire cmdrdmc = (enmmc) ? cmdrdmmc : cmdrdsm ;
wire statuswrmc =(enmmc)? statuswrmmc : statuswrsm ;
wire[7:0]  statusdatamc =(enmmc)? statusdatammc :statusdatasm;
wire datard = (enmmc) ? datardmmc :datardsm;
wire datawr = (enmmc) ? datawrmmc :datawrsm;
wire[7:0] datawrdata = (enmmc)? datawrdatammc :datawrdatasm;
wire clock_5m, sync_reset_made ;
//wire mcclock_out = (enmmc) ? clock_5m : usbclock ;// rha 12.23
//wire mcreset = (enmmc ) ? sync_reset_made : usbreset_d ;
wire mcreset = sync_reset_made ;

reg sofmmc;
always@(posedge mcclock)
 sofmmc <= synthsof;
wire getdataout = getdata || setcmdrd ;

UCtlreg ctlreg (
				.getbusy(getbusy),
				.getstatus(getstatus),
				.getstatuscheck(getstatuscheck),
				.usbclock(usbclock),
				.mcclock(mcclock),
				.syncreset(usbreset),
				.mcreset(mcreset),
				.datapacketok(datapacketok),
				.datapacketnotok(datapacketnotok),
				.cmdwrusb(endp0wr),
				.statusrdusb(endp0rd),
				.cmddatausb(endpwrdata),
				.statusdatausb(endp0rddata),
				.statusrdreadyusb(endp0rdready),
				.cmdwrreadyusb(endp0wrready),
                              // Memory Card
				.cmdrdmc(cmdrdmc),
				.cmddatamc(cmddatamc),
				.statuswrmc(statuswrmc),
				.statusdatamc(statusdatamc),
				.statuswrreadymc(statuswrreadymc),
				.cmdrdreadymc(cmdrdreadymc),
				// Configuration of MMC or SSFDC
				.enmmc(enmmc)//(enmmc)
				);
wire getstatusmmc = (cmdrdreadymc) ? 1'b0 : getstatus;
usbmmc u_usbmmc   (
				.getstatus_check(getstatuscheck),
				.busy_end_out(busy_end_out),
				.sof(sofmmc),
                .usb_48_clock_uf_in(clock48),
                .usb_clock_uf_in(usbclock),
                .mmc_enable(enmmc),
                //.disablebus(disablebus),
                .spimode(spimode),
                .divide_rate(clockrate),
                .sync_reset_uf_in(usbreset),
                //.clock_5m_out(clock_5m), //rha 12.23 
                //.clock_5m(mcclock), //rha 12.23
                .clock_5m_out(mcclock), // rha 12.24 temp
                .clock_5m(mcclock),// rha 12.24 temp
                .sync_reset_made(sync_reset_made),
                //.sync_reset_made(mcreset),
                .dataout_dat_in(dataout_dat_in),
                .dataout_dat_out(dataout_dat_out),
                .dataout_dat_enable(dataout_dat_enable),

                .getstatus(getstatusmmc),
                .getdata(getdataout),

                .cmdrdready_uf_in(cmdrdreadymc),
                .cmdrddata_uf_in(cmddatamc),

                .endp1rdready_uf_in(datardready),
                .endp1rddata_uf_in(datarddata),

                .statuswrready_uf_in(statuswrreadymc),
                .endp2wrready_uf_in(datawrready),

                .cmdrd_fu_out(cmdrdmmc),
                .cmdrddatadone_fu_out(cmddatadone),

                .statuswr_fu_out(statuswrmmc),
                .statuswrdata_fu_out(statusdatammc),
                .statuswrdatadone_fu_out(statuswrdone),

                .endp1rd_fu_out(datardmmc),
                .endp1rddatadone_fu_out(datarddone),

                .endp2wr_fu_out(datawrmmc),
                .endp2wrdata_fu_out(datawrdatammc),
                .endp2wrdatadone_fu_out(datawrdone),

                .setcmdwr(setcmdwr),
                .data_in(data_in),
		.data_out(data_out),
		.clk_mcu(clk_mcu),
				.clock_fc_out(clock_fc_out),
                .datain_cmd_in(datain_cmd_in),
                .datain_cmd_out(datain_cmd_out),
                .datain_cmd_enable(datain_cmd_enable),
                .endp3(datawr3data)
                );
wire[7:0] smart_rd_data;
wire[7:0] smart_wr_data;

smarti_box      u_smarti(
           //..mcclock(usbclock),
           //.mcreset(usbreset),
           .mcclock(mcclock),
           .mcreset(mcreset),
           .sm_enable(sm_enable),
	   .sm64_enable(sm64_enable),
           .disablebus(disablebus),
           .cmdrdready(cmdrdreadymc),
           .statuswrready(statuswrreadymc),
           .getbusy(getbusy),
           .getstatus(getstatus),
           .getdata(getdataout),
           .datardready(datardready),
           .datawrready(datawrready),
           .cmddata(cmddatamc),
           .datarddata(datarddata),
           .card_ready(card_ready),
           .smart_rd_data(smart_rd_data),

           .cmdrd(cmdrdsm),
           .statuswr(statuswrsm),
           .statusdata(statusdatasm),
           .datard(datardsm),
           .datawr(datawrsm),
           .datawrdata(datawrdatasm),
           .web(web),
           .reb(reb),
           .cle(cle),
           .ale(ale),
           //.wpb(wpb),
           .out_enable(out_enable),
           //.sm_state(sm_state), rha 11.29
           .smart_wr_data(smart_wr_data)
           );

wire[4:0] fifowraddr1;
wire[4:0] fifordaddr1;
wire[4:0] fifowraddr2;
wire[4:0] fifordaddr2;


Ufifocont endpoint1wr (
	  .usbclock(usbclock),
	  .mcclock(mcclock),
	  .syncreset(usbreset),
	  .mmcreset(mcreset),
   // To Fifo
	  .fifowraddr(fifowraddr1),
	  .fifordaddr(fifordaddr1),
   // write port USB
	  .fifowr(endp1wr),
	  .fifowrready(endp1wrready),
	  .datapacketok(datapacketok),
	  .datapacketnotok(datapacketnotok),
   // read port M/C 
	  .fiford(datard),   // 8051 make the read strobe for getting data
	  .fifordready(datardready)
	  );

Ufiforxcont endpoint2rd (
	  .getdata(getdataout),
	  .mcclock(mcclock),
	  .setcmdwr(setcmdwr),
	  .usbclock(usbclock),
	  .syncreset(usbreset),
	  .mmcreset(mcreset),
   // To fifo
	  .fifowraddr(fifowraddr2),
	  .fifordaddr(fifordaddr2),
   // write port  M/C
	  .fifowr(datawr),
	  .fifowrready(datawrready),
	  .datapacketok(datapacketok),
	  .datapacketnotok(datapacketnotok),
   // read port  USB
	  .fiford(endp2rd),
	  .fifordready(endp2rdready)
	  );

/*
Ufifo3rd endpoint3rd(
	   .usbclock(usbclock),
	   .syncreset(usbreset),
	   .fiford(endp3rd),
	   .fifowrdata(datawr3data),
	   .fiforddata(endp3rddata)
	   );
	   */

Udualfifo memtx(
			.waddr(fifowraddr1),
			.datain(endpwrdata),
			.clk(usbclock),
			.wren(endp1wr),
			.raddr(fifordaddr1), 
			.dataout(datarddata)
			);
Udualfiforx  memrx(
			.waddr(fifowraddr2),
			.datain(datawrdata),
			.clk(mcclock),
			.wren(datawr),
			.raddr(fifordaddr2),
			.dataout(endp2rddata)
			);

Udevrom rom (
	// addressing
	.devromdescriptorindex (devromdescriptorindex),
	.devromsetupaddr (devromsetupaddr),

	// read port
	.romdevsetupdata (romdevsetupdata)
	);


	       
endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区不卡牛牛 | 日产国产高清一区二区三区 | 欧美一区二区福利视频| 国产精品一二二区| 五月天激情小说综合| 国产精品久久免费看| 精品精品国产高清a毛片牛牛| 91香蕉视频污| 国产不卡视频在线播放| 日韩精品免费视频人成| 亚洲精品成人精品456| 欧美极品美女视频| 亚洲精品一区二区三区精华液| 欧美亚洲国产一区在线观看网站| 福利电影一区二区| 韩国成人精品a∨在线观看| 日韩av在线发布| 亚洲动漫第一页| 一区二区视频免费在线观看| 国产精品视频yy9299一区| 精品裸体舞一区二区三区| 宅男噜噜噜66一区二区66| 在线观看一区日韩| 97国产一区二区| 99re这里只有精品首页| www..com久久爱| 成人午夜视频在线观看| 国产宾馆实践打屁股91| 高清在线成人网| 东方欧美亚洲色图在线| 国产乱码精品一区二区三区忘忧草| 免费美女久久99| 久久爱www久久做| 精品在线一区二区三区| 色婷婷狠狠综合| 成人免费观看视频| caoporn国产精品| 91亚洲精品久久久蜜桃网站 | 日韩一区二区视频在线观看| 欧美精品在线视频| 3d成人h动漫网站入口| 欧美丰满少妇xxxxx高潮对白| 在线不卡欧美精品一区二区三区| 欧美美女bb生活片| 欧美一区二区性放荡片| 日韩一区二区三区av| 欧美不卡在线视频| 久久只精品国产| 中文字幕精品在线不卡| 1区2区3区欧美| 亚洲愉拍自拍另类高清精品| 香蕉成人伊视频在线观看| 日本91福利区| 国产一区二区视频在线播放| www.色精品| 欧美色图一区二区三区| 欧美一区二区在线播放| 久久精品男人天堂av| 国产精品国产三级国产aⅴ中文| 亚洲精品少妇30p| 视频一区二区中文字幕| 韩国欧美国产1区| eeuss鲁片一区二区三区在线观看| 91久久精品日日躁夜夜躁欧美| 777色狠狠一区二区三区| 精品免费视频.| 日韩一区日韩二区| 日本不卡一区二区| 岛国一区二区三区| 欧美日韩国产高清一区| 久久久久久一级片| 一区二区三区在线影院| 免费av网站大全久久| av动漫一区二区| 91麻豆精品国产自产在线观看一区| 久久久五月婷婷| 亚洲综合视频在线| 国内精品第一页| 在线观看不卡视频| 国产三级欧美三级日产三级99 | 奇米影视7777精品一区二区| 国产精品白丝jk黑袜喷水| 91成人免费电影| 久久综合给合久久狠狠狠97色69| 亚洲精品久久久久久国产精华液| 久久成人精品无人区| 99久久精品国产毛片| 日韩免费视频一区二区| 亚洲欧美日韩一区二区三区在线观看| 蜜臀国产一区二区三区在线播放| 成人激情文学综合网| 日韩午夜av一区| 一区二区三区四区蜜桃| 国产mv日韩mv欧美| 欧美一级理论片| 一区二区久久久久久| 国产成人av一区二区三区在线观看| 欧美日韩国产一级二级| 国产精品美女久久久久久| 麻豆国产精品一区二区三区 | 亚洲三级在线免费| 国模娜娜一区二区三区| 欧美日韩大陆在线| 亚洲乱码国产乱码精品精可以看 | 国产成人免费在线观看| 51精品国自产在线| 亚洲精品中文字幕乱码三区| 国产精品一区一区三区| 欧美一区三区四区| 亚洲一线二线三线视频| 成人av电影在线网| 久久精品人人爽人人爽| 国内精品写真在线观看| 在线播放一区二区三区| 亚洲男人的天堂一区二区| 国产91精品入口| 久久久久久久综合色一本| 精彩视频一区二区三区| 欧美一级电影网站| 日韩中文字幕区一区有砖一区| 91麻豆视频网站| 亚洲色图一区二区三区| 国产**成人网毛片九色| 亚洲国产成人一区二区三区| 国产成人在线视频播放| 久久久精品tv| 国产成人精品三级| 国产日韩av一区| 成人福利在线看| 国产精品久久久久婷婷二区次| 粉嫩av一区二区三区粉嫩| 久久嫩草精品久久久精品一| 国产美女精品一区二区三区| 亚洲精品在线观看网站| 久久成人精品无人区| 精品剧情在线观看| 韩国av一区二区三区在线观看| 久久中文娱乐网| 国产成人av影院| 1区2区3区精品视频| 色一区在线观看| 亚洲动漫第一页| 欧美一级欧美三级| 老司机午夜精品| 久久久久久亚洲综合| 福利一区二区在线| 亚洲免费三区一区二区| 欧美日韩国产一级| 免费欧美在线视频| 国产女主播一区| 91丨porny丨蝌蚪视频| 亚洲午夜在线视频| 欧美一区二区免费| 国产成人精品亚洲日本在线桃色| 国产精品国产a级| 欧美片网站yy| 国产尤物一区二区| 中文字幕五月欧美| 欧美猛男男办公室激情| 精品亚洲成av人在线观看| 国产精品久久久久久一区二区三区| 99这里只有久久精品视频| 亚洲高清三级视频| 久久午夜色播影院免费高清| av成人免费在线| 蜜臀av国产精品久久久久| 国产精品另类一区| 欧美日韩欧美一区二区| 久久成人久久爱| 亚洲黄色免费电影| 精品国产91乱码一区二区三区| 99re热这里只有精品免费视频| 午夜精品久久久久久不卡8050| 久久视频一区二区| 91成人网在线| 国产乱子伦一区二区三区国色天香| 亚洲三级在线免费观看| 日韩一卡二卡三卡四卡| 成人av电影免费在线播放| 日韩av一区二区在线影视| 中文字幕精品三区| 欧美久久久久免费| www.欧美.com| 国产在线精品不卡| 亚洲一区精品在线| 国产欧美日韩综合| 91 com成人网| 一本久道中文字幕精品亚洲嫩| 精品一区二区三区在线观看| 亚洲精选在线视频| 国产视频一区二区在线| 91精品一区二区三区久久久久久| 9久草视频在线视频精品| 加勒比av一区二区| 亚洲成人av免费| 中文字幕一区免费在线观看| 日韩女优av电影| 欧美色涩在线第一页| 99精品国产91久久久久久 | 美女视频黄 久久|