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

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

?? em_de2_pio.pl

?? DE2_PIO Controller For Altera SOPC Builder and NIOS on DE2 kit board
?? PL
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
                        type    => "integer",                        default => 0,                       });  # Test to make sure the reset-value fits:  $Options->{reset_value_bits} = &Bits_To_Encode($Options->{reset_value});  &validate_parameter ({hash    => $Options,                        name    => "reset_value_bits",                        range   => [0, $Options->{width}],                       });  # Build-up some derived "Option" values, which are handy to   # have as booleans:  $Options->{has_any_input}  = $Options->{has_tri} || $Options->{has_in};  $Options->{has_any_output} = $Options->{has_tri} || $Options->{has_out};  # If we've specified an IRQ, there must be some kind of input.  # Likewise for edge-detection.  $Options->{has_edge}       = $Options->{edge_type} ne "NONE";  $Options->{irq_on_edge}    = $Options->{irq_type}  eq "EDGE";  &validate_parameter ({hash         => $Options,                        name         => "has_irq",                        optional     => 1,                        requires     => "has_any_input",                       });  &validate_parameter ({hash         => $Options,                        name         => "has_edge",                        optional     => 1,                        requires     => "has_any_input",                       });  &validate_parameter ({hash         => $Options,                        name         => "irq_on_edge",                        optional     => 1,                        requires     => "has_edge",                       });#    warn "done with options\n";#    foreach my $key (keys (%$Options))#    {#       warn "  $key gets $Options->{$key}\n";#    }}################################################################# make_pio## Given a name and a hashful of options, builds an e_module object# which implements a PIO peripheral.#################################################################sub make_pio{  my ($module, $Opt) = (@_);  &Validate_PIO_Options ($Opt);  # Create a new, empty module, and mark it as the one into which  # all new "things" should go.  It gets unmarked when this subroutine  # exits and "$marker" is destroyed.  #  my $marker = e_default_module_marker->new($module);  # Leo is silly about hating the range [0:0] applied to scalars.  # To get around this, we precompute the bit-ragen appropriate for   # this PIO -as a string-, which may be null ("") for a 1-bit PIO.  #  my $bitrange = ($Opt->{width} > 1)? '[' . ($Opt->{width} - 1) . ':0]' : "";  e_signal->adds (                  [edge_capture_wr_strobe => 1],                  [clk_en => 1,0,1],                  [chipselect => 1],                  [clk => 1],                  [reset_n => 1],                  );  # We don't really use the global clock-enable in this peripheral:  e_assign->add (["clk_en", 1]);  ################  # First, declare my PIO port signals:  #  e_port->add(["bidir_port", $Opt->{width}, "inout"]) if $Opt->{has_tri};  e_port->add(["in_port",    $Opt->{width}, "in"   ]) if $Opt->{has_in};  e_port->add(["out_port",   $Opt->{width}, "out"  ]) if $Opt->{has_out};  ################  # Addressable-register infrastructure:  #    Read-mux             (starts off blank--sometimes doesn't exist)  #    readdata-register    (also sometimes doesn't exist)  #    avalon-slave port    (always exists)  #    read/writedata ports (sometimes don't exist)  #  e_avalon_slave->add ({name => "s1",});  # I want my slave-ports seen by the SOPC-Builder.  e_port->add(["address", 2, "in"]);  if ($Opt->{has_any_output} || $Opt->{has_irq} || $Opt->{has_edge}) {    e_port->adds(["writedata", $Opt->{width}, "in"],                 ["write_n"  ,            1 , "in"]);  }  my $read_mux;  if ($Opt->{has_any_input})   {    e_port->add(["readdata",  $Opt->{width}, "output"]);    $read_mux = e_mux->add ({lhs  => e_signal->add (["read_mux_out",                                                     $Opt->{width}  ]),                             type => "and-or",                             });    # Note that the register on "readdata" implies one-wait-state access.    e_register->add ({out => "readdata",                      in  => "read_mux_out"});  }  ################  # Writeable data-out register, if reqired.  #  if ($Opt->{has_any_output}) {    e_register->add       ({out         => e_signal->add (["data_out", $Opt->{width}]),        in          => "writedata $bitrange",        enable      => "chipselect && ~write_n && (address == 0)",        async_value => $Opt->{reset_value},       });    # While we're here, do the actual output-assignment:    if ($Opt->{has_tri}) {      # Lovingly-assign each bit depending on direction-register.      # Deal with Leo's hatred of bit-selects on scalar wires:      if ($Opt->{width} == 1) {        e_assign->add (["bidir_port", "data_dir ? data_out : 1'bZ"]);      } else {        for (my $i = 0; $i < $Opt->{width}; $i++) {          e_assign->add (["bidir_port[$i]",                           "data_dir[$i] ? data_out[$i] : 1'bZ"]);        }      }    }    e_assign->add (["out_port", "data_out"]) if $Opt->{has_out};  }  ################   # Readable data-in register, if required.  #   if ($Opt->{has_any_input}) {    e_signal->add(["data_in", $Opt->{width}]);    e_assign->add(["data_in", "in_port"   ]) if $Opt->{has_in};    e_assign->add(["data_in", "bidir_port"]) if $Opt->{has_tri};    $read_mux->add_table ("(address == 0)" => "data_in");  }  ################  # Writeable / Readable data-direction register, if required.  #  if ($Opt->{has_tri}) {    e_register->add ({out    => e_signal->add (["data_dir", $Opt->{width}]),                      in     => "writedata $bitrange",                      enable => "chipselect && ~write_n && (address == 1)",                     });    $read_mux->add_table ("(address == 1)" => "data_dir");  }  ################  # Writeable/readable interrupt-masking register, if required.  #  if ($Opt->{has_irq}) {    e_register->add ({out    => e_signal->add (["irq_mask", $Opt->{width}]),                      in     => "writedata $bitrange",                      enable => "chipselect && ~write_n && (address == 2)",                     });    $read_mux->add_table ("(address == 2)" => "irq_mask");    e_port->add(["irq" => 1, "output"]);    ##########    # While we're in here, compute the IRQ-result:    if      ($Opt->{irq_type} eq "LEVEL") {      e_assign->add (["irq", "|(data_in      & irq_mask)"])     } elsif ($Opt->{irq_type} eq "EDGE") {      e_assign->add (["irq", "|(edge_capture & irq_mask)"])     } else {      &ribbit ("Unexpected bad irq_type: $Opt->{irq_type}");    }  }  ################  # Readable / clearable edge-capture register.  # Each bit of this register is set by an edge on the corresponding   # input-bit, and all   #  if ($Opt->{has_edge}) {    e_signal->add (["edge_capture", $Opt->{width}]);    $read_mux->add_table ("(address == 3)" => "edge_capture");    e_assign->add ([                    "edge_capture_wr_strobe",                    "chipselect && ~write_n && (address == 3)",                    ]);    # Create S/R registers for each bit, MSB-first (so list is in right order)    # Deal with Leo's hatred of bit-selects on scalar wires:    if ($Opt->{width} == 1) {        e_register->add ({out        => "edge_capture",                          sync_set   => "edge_detect",                          sync_reset => "edge_capture_wr_strobe",                         });    } else {      for (my $i = 0; $i < $Opt->{width}; $i++) {        e_register->add ({out        => "edge_capture[$i]",                          sync_set   => "edge_detect[$i]",                          sync_reset => "edge_capture_wr_strobe",                         });      }    }    ################    # Edge-detection mechanism    #    # Synchronize incoming data-signals (this bit us in both the     #   1.0 and 1.1 releases).      e_register->add({in => "data_in", delay => 2});    e_signal->add (["edge_detect", $Opt->{width}]);    if ($Opt->{edge_type}      eq "RISING") {      e_assign->add (["edge_detect", " d1_data_in & ~d2_data_in"]);    } elsif ($Opt->{edge_type} eq "FALLING") {      e_assign->add (["edge_detect", "~d1_data_in & d2_data_in"]);    } elsif ($Opt->{edge_type} eq "ANY") {      e_assign->add (["edge_detect", " d1_data_in ^  d2_data_in"]);    } else {      &ribbit ("Unexpected bad edge type: $Opt->{edge_type}");    }  }  return $module;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费观看视频| 蜜桃视频第一区免费观看| 久久精品国产成人一区二区三区 | 国产成人免费在线视频| 欧美剧情电影在线观看完整版免费励志电影 | 欧美高清性hdvideosex| 国产精品人成在线观看免费| 麻豆精品视频在线观看视频| 欧美三日本三级三级在线播放| 欧美高清一级片在线观看| 乱一区二区av| 制服丝袜中文字幕亚洲| 一区二区三区精品久久久| 99热国产精品| 国产欧美一区二区三区在线看蜜臀| 日韩精品免费专区| 欧美无乱码久久久免费午夜一区| 国产精品福利av| 成人一区二区三区视频在线观看| 精品久久人人做人人爱| 美女网站色91| 在线91免费看| 日韩国产欧美一区二区三区| 欧美三区在线视频| 亚洲成在人线在线播放| 91浏览器入口在线观看| 亚洲欧洲www| fc2成人免费人成在线观看播放| 久久亚洲一区二区三区明星换脸 | 激情综合网天天干| 日韩限制级电影在线观看| 日日夜夜一区二区| 4438x亚洲最大成人网| 天天av天天翘天天综合网| 欧美人牲a欧美精品| 亚洲国产精品欧美一二99| 在线精品视频一区二区三四| 亚洲女厕所小便bbb| 色综合久久六月婷婷中文字幕| 中文字幕一区二区三区不卡 | 91国产福利在线| 最新国产精品久久精品| 成人午夜大片免费观看| 国产精品免费人成网站| av资源网一区| 亚洲精品欧美综合四区| 欧美日韩一区三区四区| 污片在线观看一区二区| 在线观看91精品国产麻豆| 日本不卡一区二区三区高清视频| 日韩一区二区三区高清免费看看| 免费成人你懂的| 精品国产伦一区二区三区观看体验 | 亚洲码国产岛国毛片在线| 日本道精品一区二区三区| 亚洲午夜久久久久久久久电影网 | 久久精品视频一区二区| 成人综合在线观看| 一区二区三区加勒比av| 欧美极品另类videosde| 国产98色在线|日韩| 国产精品无码永久免费888| 91丨porny丨中文| 亚洲一区在线播放| 日韩小视频在线观看专区| 国产一区二区精品在线观看| 国产精品色婷婷| 欧美日韩一区视频| 美女www一区二区| 国产精品欧美经典| 欧美自拍偷拍一区| 蜜臀久久99精品久久久久宅男| 久久这里只有精品首页| 色综合中文综合网| 国产盗摄视频一区二区三区| 中文字幕一区在线观看视频| 欧美日本乱大交xxxxx| 激情国产一区二区| 亚洲色欲色欲www在线观看| 欧美日韩一区 二区 三区 久久精品| 美女脱光内衣内裤视频久久影院| 欧美国产精品专区| 欧美日韩国产一级| 国产成人自拍高清视频在线免费播放| 亚洲精品高清在线观看| 日韩美女一区二区三区| 欧美日韩专区在线| 欧美亚洲国产怡红院影院| 一区二区三区 在线观看视频| 福利一区在线观看| 亚洲成人激情社区| 欧美国产一区二区| 欧美视频一区在线| 粉嫩一区二区三区性色av| 亚洲成a人v欧美综合天堂下载| 26uuuu精品一区二区| 日本久久电影网| 极品瑜伽女神91| 一区二区免费看| 精品99999| 欧洲国产伦久久久久久久| 国内成+人亚洲+欧美+综合在线| 亚洲精品网站在线观看| 久久蜜桃av一区二区天堂 | 精品国产亚洲在线| 色婷婷久久99综合精品jk白丝| 免费视频一区二区| 一区二区三区在线视频观看 | 日韩免费福利电影在线观看| 在线一区二区三区四区| 欧美成人vr18sexvr| 国产91丝袜在线观看| 日韩不卡一二三区| 亚洲免费高清视频在线| 国产日韩精品视频一区| 日韩一区二区视频| 欧美日韩一区二区电影| 91色综合久久久久婷婷| 国产mv日韩mv欧美| 日本vs亚洲vs韩国一区三区二区| 亚洲少妇最新在线视频| 中文字幕精品三区| 26uuu精品一区二区三区四区在线| 欧美日韩激情一区二区三区| 91蝌蚪porny| 成人精品鲁一区一区二区| 经典三级一区二区| 免费在线一区观看| 午夜国产不卡在线观看视频| 亚洲人成影院在线观看| 中文字幕巨乱亚洲| 久久网站热最新地址| 日韩欧美国产不卡| 欧美疯狂性受xxxxx喷水图片| 一道本成人在线| 99精品视频免费在线观看| 成人夜色视频网站在线观看| 国产精品一区在线观看你懂的| 蜜臀a∨国产成人精品| 石原莉奈在线亚洲三区| 亚洲妇熟xx妇色黄| 亚洲黄色小视频| 亚洲品质自拍视频| 中文字幕一区二区三区四区| 国产精品日韩成人| 国产日韩高清在线| 欧美激情中文字幕| 国产精品久久久久天堂| 中文字幕乱码日本亚洲一区二区| 日本一区二区三级电影在线观看| 久久久亚洲国产美女国产盗摄 | 久久看人人爽人人| 久久久久国产成人精品亚洲午夜| 26uuu精品一区二区| 精品处破学生在线二十三| 欧美成人一区二区三区片免费| 日韩一区二区中文字幕| 日韩美女一区二区三区| 久久这里只精品最新地址| 国产视频一区在线播放| 欧美国产成人精品| 一区在线播放视频| 一区二区三区日韩| 亚洲成人tv网| 青青草国产成人99久久| 美腿丝袜在线亚洲一区 | 亚洲精品成人a在线观看| 一区二区三区精品视频在线| 亚洲国产视频在线| 欧美aaaaa成人免费观看视频| 麻豆精品视频在线| 国产大陆a不卡| 成人黄色av电影| 色哟哟一区二区在线观看| 在线观看欧美日本| 91精品国产综合久久久久久久| 日韩精品中文字幕一区二区三区| 久久久国产一区二区三区四区小说| 亚洲国产精品黑人久久久| 亚洲天堂2014| 午夜视频在线观看一区二区 | 美女在线视频一区| 国产精品亚洲视频| 91香蕉国产在线观看软件| 欧美私人免费视频| 亚洲va欧美va国产va天堂影院| 国产精品18久久久久久久网站| 国产精品一二三区在线| 成人免费看视频| 欧美性受极品xxxx喷水| 日韩欧美一区二区视频| 欧美国产一区在线| 亚洲一区二区黄色| 国内精品伊人久久久久影院对白| 成人性视频免费网站| 欧美人伦禁忌dvd放荡欲情| 久久综合网色—综合色88| 亚洲三级小视频| 免费成人美女在线观看| av在线不卡网|