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

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

?? pci.txt

?? uart pci 等verilog hdl 代碼
?? TXT
字號(hào):
module pci(reset,clk,frame,irdy,trdy,devsel,idsel,ad,cbe,par,stop,inta,led_out);
    input reset;
    input clk;
    input frame;
    input irdy;
    output trdy;
    output devsel;
    input idsel;
    inout [31:0] ad;
    input [3:0] cbe;
    inout par;
    output stop;
    output inta;
    output [3:0] led_out;

parameter DEVICE_ID = 16'h9500;
parameter VENDOR_ID = 16'h106d;		// Sequent!
parameter DEVICE_CLASS = 24'hFF0000;	// Misc
parameter DEVICE_REV = 8'h01;
parameter SUBSYSTEM_ID = 16'h0001;	// Card identifier
parameter SUBSYSTEM_VENDOR_ID = 16'hBEBE; // Card identifier
parameter DEVSEL_TIMING = 2'b00;	// Fast!

reg [2:0] state;
reg [31:0] data;

reg [1:0] enable;
parameter EN_NONE = 0;
parameter EN_RD = 1;
parameter EN_WR = 2;
parameter EN_TR = 3;

reg memen; // respond to baseaddr?
reg [7:0] baseaddr;
reg [5:0] address;

parameter ST_IDLE = 3'b000;
parameter ST_BUSY = 3'b010;
parameter ST_MEMREAD = 3'b100;
parameter ST_MEMWRITE = 3'b101;
parameter ST_CFGREAD = 3'b110;
parameter ST_CFGWRITE = 3'b111;

parameter MEMREAD = 4'b0110;
parameter MEMWRITE = 4'b0111;
parameter CFGREAD = 4'b1010;
parameter CFGWRITE = 4'b1011;

`define LED
`ifdef LED
reg [3:0] led;
`endif

`undef STATE_DEBUG_LED
`ifdef STATE_DEBUG_LED
assign led_out = ~state;
`else
`ifdef LED
assign led_out = ~led;  // board is wired for active low LEDs
`endif
`endif

assign ad = (enable == EN_RD) ? data : 32'bZ;
assign trdy = (enable == EN_NONE) ? 'bZ : (enable == EN_TR ? 1 : 0);
assign par = (enable == EN_RD) ? 0 : 'bZ;
reg devsel;

assign stop = 1'bZ;
assign inta = 1'bZ;

wire cfg_hit = ((cbe == CFGREAD || cbe == CFGWRITE) && idsel && ad[1:0] == 2'b00);
wire addr_hit = ((cbe == MEMREAD || cbe == MEMWRITE) && memen && ad[31:12] == {12'b0, baseaddr});
wire hit = cfg_hit | addr_hit;

always @(posedge clk)
begin
    if (~reset) begin
        state <= ST_IDLE;
        enable <= EN_NONE;
        baseaddr <= 0;
        devsel <= 'bZ;
        memen <= 0;
`ifdef LED
        led <= 0;
`endif
    end
    else    begin
                
    case (state)
        ST_IDLE: begin
            enable <= EN_NONE;
            devsel <= 'bZ;
            if (~frame) begin
                address <= ad[7:2];
                if (hit) begin
                    state <= {1'b1, cbe[3], cbe[0]};
                    devsel <= 0;
                    // pipeline the write enable
                    if (cbe[0])
                        enable <= EN_WR;
                end
                else begin
                    state <= ST_BUSY;
                    enable <= EN_NONE;
                end
            end
        end

        ST_BUSY: begin
            devsel <= 'bZ;
            enable <= EN_NONE;
            if (frame)
                state <= ST_IDLE;
        end

        ST_CFGREAD: begin
            enable <= EN_RD;
            if (~irdy || trdy) begin
                case (address)
                    0: data <= { DEVICE_ID, VENDOR_ID };
                    1: data <= { 5'b0, DEVSEL_TIMING, 9'b0,  14'b0, memen, 1'b0};
                    2: data <= { DEVICE_CLASS, DEVICE_REV };
                    4: data <= { 12'b0, baseaddr, 8'b0, 4'b0010 }; // baseaddr + request mem < 1Mbyte
                    11: data <= {SUBSYSTEM_ID, SUBSYSTEM_VENDOR_ID };
                    16: data <= { 24'b0, baseaddr };
                    default: data <= 'h00000000;
                endcase
                address <= address + 1;
            end
            if (frame && ~irdy && ~trdy) begin
                devsel <= 1;
                state <= ST_IDLE;
                enable <= EN_TR;
            end
        end

        ST_CFGWRITE: begin
            enable <= EN_WR;
            if (~irdy) begin
                case (address)
                    4: baseaddr <= ad[19:12];  // XXX examine cbe
                    1: memen <= ad[1];
                    default: ;
                endcase
                address <= address + 1;
                if (frame) begin
                    devsel <= 1;
                    state <= ST_IDLE;
                    enable <= EN_TR;
                end
            end
        end

        ST_MEMREAD: begin
            enable <= EN_RD;
            if (~irdy || trdy) begin
                case (address)
`ifdef LED
                    0: data <= { 28'b0, led };
`endif
                    default: data <= 'h00000000;
                endcase
                address <= address + 1;
            end
            if (frame && ~irdy && ~trdy) begin
                devsel <= 1;
                state <= ST_IDLE;
                enable <= EN_TR;
            end
        end

        ST_MEMWRITE: begin
            enable <= EN_WR;
            if (~irdy) begin
                case (address)
`ifdef LED
                    0: led <= ad[3:0];
`endif
                    default: ;
                endcase
                address <= address + 1;
                if (frame) begin
                    devsel <= 1;
                    state <= ST_IDLE;
                    enable <= EN_TR;
                end
            end
        end

    endcase
    end
end
endmodule





/*test
NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 30 ns HIGH 50 %;
#PACE: Start of Constraints generated by PACE
#PACE: Start of PACE I/O Pin Assignments
NET "ad<0>" LOC = "P32";
NET "ad<10>" LOC = "P13";
NET "ad<11>" LOC = "P18";
NET "ad<12>" LOC = "P11";
NET "ad<13>" LOC = "P17";
NET "ad<14>" LOC = "P10";
NET "ad<15>" LOC = "P61";
NET "ad<16>" LOC = "P67";
NET "ad<17>" LOC = "P3";
NET "ad<18>" LOC = "P68";
NET "ad<19>" LOC = "P2";
NET "ad<1>" LOC = "P25";
NET "ad<20>" LOC = "P69";
NET "ad<21>" LOC = "P1";
NET "ad<22>" LOC = "P70";
NET "ad<23>" LOC = "P84";
NET "ad<24>" LOC = "P72";
NET "ad<25>" LOC = "P82";
NET "ad<26>" LOC = "P77";
NET "ad<27>" LOC = "P81";
NET "ad<28>" LOC = "P76";
NET "ad<29>" LOC = "P80";
NET "ad<2>" LOC = "P31";
NET "ad<30>" LOC = "P75";
NET "ad<31>" LOC = "P79";
NET "ad<3>" LOC = "P24";
NET "ad<4>" LOC = "P26";
NET "ad<5>" LOC = "P23";
NET "ad<6>" LOC = "P21";
NET "ad<7>" LOC = "P15";
NET "ad<8>" LOC = "P14";
NET "ad<9>" LOC = "P19";
NET "cbe<0>" LOC = "P20";
NET "cbe<1>" LOC = "P9";
NET "cbe<2>" LOC = "P4";
NET "cbe<3>" LOC = "P83";
NET "clk" LOC = "P12";
NET "devsel" LOC = "P6";
NET "frame" LOC = "P66";
NET "idsel" LOC = "P71";
NET "inta" LOC = "P58";
NET "irdy" LOC = "P5";
NET "led_out<0>" LOC = "P36";
NET "led_out<1>" LOC = "P35";
NET "led_out<2>" LOC = "P34";
NET "led_out<3>" LOC = "P33";
NET "par" LOC = "P62";
NET "reset" LOC = "P74";
NET "stop" LOC = "P63";
NET "trdy" LOC = "P65";
#PACE: Start of PACE Area Constraints
#PACE: Start of PACE Prohibit Constraints
#PACE: End of Constraints generated by PACE
OFFSET = OUT 23 ns AFTER "clk"  ;
TIMESPEC "TS_P2P" = FROM "PADS" TO "PADS" 23 ns;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九精品一区二区| 欧美sm极限捆绑bd| 亚洲欧美一区二区三区极速播放| 国产精品主播直播| 亚洲国产高清aⅴ视频| 国产成a人无v码亚洲福利| 国产精品另类一区| 一本到不卡精品视频在线观看| 亚洲美女视频在线观看| 欧美午夜精品一区二区三区 | 色综合久久中文综合久久97| 亚洲另类在线一区| 欧美另类高清zo欧美| 毛片不卡一区二区| 中文字幕第一区综合| 91啪亚洲精品| 日本不卡高清视频| 国产人久久人人人人爽| 色先锋资源久久综合| 五月天国产精品| 久久影院视频免费| 91在线porny国产在线看| 五月综合激情日本mⅴ| 精品久久久久久久久久久久久久久| 国产成人av影院| 亚洲成人久久影院| 久久久久国产精品免费免费搜索| 99国产精品一区| 日韩va欧美va亚洲va久久| 久久久久久久久久久99999| 91免费国产在线观看| 伦理电影国产精品| 亚洲人成网站在线| 日韩欧美一区二区不卡| 色综合咪咪久久| 九一久久久久久| 夜夜嗨av一区二区三区中文字幕 | 精品奇米国产一区二区三区| 国产一区 二区| 亚洲精品久久7777| 欧美精品一区二区三区蜜桃| 91蝌蚪国产九色| 理论片日本一区| 亚洲综合一区二区三区| 久久天堂av综合合色蜜桃网| 色欧美日韩亚洲| 国产美女一区二区三区| 亚洲成精国产精品女| 国产精品国产精品国产专区不蜜| 91麻豆精品国产91久久久久 | 亚洲欧美色图小说| 久久这里只有精品首页| 欧美三级韩国三级日本三斤| 成人av网站免费| 狠狠色伊人亚洲综合成人| 亚洲综合图片区| 国产精品美女久久久久aⅴ | 欧美日韩国产另类一区| 懂色av一区二区在线播放| 免费在线观看精品| 亚洲午夜久久久久久久久电影院| 国产精品第五页| 国产精品久久久久久久蜜臀| 色哟哟精品一区| 国产成人精品www牛牛影视| 麻豆精品久久久| 婷婷激情综合网| 亚洲mv在线观看| 亚洲小说欧美激情另类| 亚洲va天堂va国产va久| 亚洲欧洲精品成人久久奇米网| 久久新电视剧免费观看| 日韩欧美中文字幕公布| 3d成人h动漫网站入口| 欧美在线免费观看亚洲| 色综合激情五月| 色菇凉天天综合网| 色综合网站在线| 欧美日本免费一区二区三区| www.爱久久.com| 成人在线一区二区三区| 国产乱淫av一区二区三区| 韩国女主播成人在线观看| 狠狠色狠狠色综合日日91app| 美女脱光内衣内裤视频久久影院| 秋霞电影网一区二区| 日韩av一二三| 欧美人狂配大交3d怪物一区| 国产精品第一页第二页第三页| 精品伦理精品一区| 日韩欧美123| 精品精品国产高清一毛片一天堂| 欧美一区二区三区男人的天堂| 在线电影一区二区三区| 欧美一区二区三区在线观看视频| 欧美一卡在线观看| 久久综合久久99| 欧美激情一区二区三区| 自拍偷自拍亚洲精品播放| 亚洲欧美一区二区三区极速播放| 亚洲午夜久久久久久久久久久 | 精品欧美一区二区在线观看| 久久婷婷久久一区二区三区| 中文文精品字幕一区二区| 亚洲欧美日本韩国| 天堂影院一区二区| 国产制服丝袜一区| av在线不卡网| 91精品婷婷国产综合久久竹菊| 精品久久久三级丝袜| 国产精品久久久99| 香蕉久久一区二区不卡无毒影院 | 国产精品传媒入口麻豆| 亚洲一区电影777| 国模一区二区三区白浆| 91在线视频播放地址| 9191久久久久久久久久久| 久久亚区不卡日本| 亚洲在线观看免费| 狠狠色综合色综合网络| 91免费国产在线观看| 日韩一区二区免费在线观看| 中文字幕精品一区二区精品绿巨人 | 欧美第一区第二区| 国产欧美精品在线观看| 午夜精品福利在线| 国产成人av影院| 91精品欧美一区二区三区综合在 | 国产欧美一区二区精品久导航 | 久久久99久久| 中文字幕亚洲视频| 日韩综合在线视频| 成人aaaa免费全部观看| 日韩亚洲欧美高清| 亚洲欧美日韩一区二区三区在线观看| 日精品一区二区| 99久久久久久| 久久久综合视频| 日本免费在线视频不卡一不卡二| jlzzjlzz亚洲女人18| 欧美mv日韩mv国产网站| 亚洲h动漫在线| 91免费看视频| 国产精品久99| 国产精品影视网| 日韩欧美激情在线| 天堂成人免费av电影一区| 一本色道久久综合狠狠躁的推荐| 久久久五月婷婷| 蜜桃视频一区二区三区| 欧美日韩一二三| 亚洲综合在线电影| 91在线观看免费视频| 中日韩免费视频中文字幕| 精品一区二区免费视频| 3d动漫精品啪啪| 日韩成人免费在线| 欧美日韩情趣电影| 亚洲国产你懂的| 一本久道久久综合中文字幕| 最新不卡av在线| 99久久国产综合精品麻豆| 国产日韩成人精品| 国产精品77777| 久久久久国色av免费看影院| 久久疯狂做爰流白浆xx| 日韩欧美你懂的| 久久精品国产亚洲aⅴ| 日韩精品专区在线影院观看| 日韩福利视频导航| 欧美精品久久一区| 日韩精品视频网| 91精品国产91久久久久久一区二区| 亚洲成a人片在线不卡一二三区 | 午夜精品成人在线| 欧美性色黄大片| 亚洲第一在线综合网站| 欧美精品色一区二区三区| 日韩精品乱码免费| 精品国产乱码久久久久久图片| 精品午夜久久福利影院| 国产婷婷色一区二区三区| 成人影视亚洲图片在线| 国产精品国产三级国产| 一本色道久久综合亚洲91| 亚洲综合免费观看高清在线观看| 麻豆精品在线观看| 欧美一级视频精品观看| 免费成人在线网站| 精品国产乱码久久久久久老虎| 国产精品一级黄| 中文字幕亚洲一区二区va在线| 日本精品视频一区二区| 日韩精品一级中文字幕精品视频免费观看 | 91精品国产综合久久久久久久| 奇米精品一区二区三区四区| 久久影院电视剧免费观看| 成人动漫av在线| 亚洲一二三四在线| 精品毛片乱码1区2区3区|