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

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

?? reg_8_io_clrset.v

?? ALTERA NIOS處理器實(shí)驗(yàn)
?? V
字號:
// ----------------------------------------------------------------------------
// reg_8_io_clrset.v
// 
// AUTHOR         : John Clayton
// ----------------------------------------------------------------------------
// Release History
//   VERSION DATE        AUTHOR            DESCRIPTION
//   ------- ----------- ----------------- ------------------------------------
//   1.0     12/06/02    John Clayton      Initial Version
// ----------------------------------------------------------------------------
// PURPOSE: This module implements a set of eight addresses and a data bus of
//          the given width.  These addresses have write ports and read ports
//          associated with them.
//          See NOTES below for further details of operation.
// ----------------------------------------------------------------------------
// Parameters
//   NAME                 RANGE    DESCRIPTION                DEFAULT
//   -------------------- -------- -------------------------- -----------------
//   SIZE_R0_PP           1..16    Number of bits in register   8
//   SIZE_R1_PP           1..16    Number of bits in register   8
//   SIZE_R2_PP           1..16    Number of bits in register   8
//   SIZE_R3_PP           1..16    Number of bits in register   8
//   SIZE_R4_PP           1..16    Number of bits in register   8
//   SIZE_R5_PP           1..16    Number of bits in register   8
//   SIZE_R6_PP           1..16    Number of bits in register   8
//   SIZE_R7_PP           1..16    Number of bits in register   8
//   DATA_BUS_SIZE_PP     4..24    Sets the width of the data bus 16
//
// ----------------------------------------------------------------------------
// USABILITY FACTORS
//   Reset Strategy   : Asynchronous
//   Clock Domains    : clk_i
//   Critical Timing  : None
//   Test Features    : None
//   Asynchronous I/F : None
//   Scan Methodology : None
//   Instantiations   : N/A
//   Other            : N/A
// ----------------------------------------------------------------------------
// NOTES
// 
// The address vector "adr_i" selects among the eight locations
// present in the module.  In order to read data from a register location, the
// we_i line must be inactive (low), and the "sel_i" signal must also be
// active (high.)  Then, the unit will drive the data bus.
//
// Writing is similar - drive we_i active (high), make sel_i high, drive the
// write data onto the data bus, and provide a "posedge clk_i" to store the
// data into the selected register.
//
// The registers are composed of d-flip-flops (DFFs), clocked by clk_i.
//
// The registers can be set to all ones, or else cleared to all zeros by the
// set_i and clr_i input busses.  These signals, if raised to a logic high will
// change the contents of the register on the next rising clock edge.
// (synchronous set/clear operation.)
// This feature is especially useful for single bit registers which are used
// as flags to begin an operation, and which are subsequently cleared by the
// hardware.
//
// In the case where both set and clear are active at the same time, the clear
// input is given priority.  Also, the signals for set_i and clr_i are given
// priority over any attempted write operations from the bus.
//
// ----------------------------------------------------------------------------

module reg_8_io_clrset(
clk_i,
rst_i,
clr_i,
set_i,
sel_i,
we_i,
adr_i,
dat_io,
r0_i,
r1_i,
r2_i,
r3_i,
r4_i,
r5_i,
r6_i,
r7_i,
r0_o,
r1_o,
r2_o,
r3_o,
r4_o,
r5_o,
r6_o,
r7_o
);
// Parameter declarations

parameter SIZE_R0_PP = 8;         // Determines size of register in bits.
parameter SIZE_R1_PP = 8;         // Determines size of register in bits.
parameter SIZE_R2_PP = 8;         // Determines size of register in bits.
parameter SIZE_R3_PP = 8;         // Determines size of register in bits.
parameter SIZE_R4_PP = 8;         // Determines size of register in bits.
parameter SIZE_R5_PP = 8;         // Determines size of register in bits.
parameter SIZE_R6_PP = 8;         // Determines size of register in bits.
parameter SIZE_R7_PP = 8;         // Determines size of register in bits.
parameter DATA_BUS_SIZE_PP = 16;  // Sets the width of the data bus.

// I/O declarations
input clk_i;                      // System clock input
input rst_i;                      // Reset signal
input [7:0] clr_i;                // synchronous clear inputs
input [7:0] set_i;                // synchronous set inputs
input sel_i;                      // Reg block "chip select"
input we_i;                       // write enable signal
input [2:0] adr_i;                // Register address field

inout [DATA_BUS_SIZE_PP-1:0] dat_io;  // DSP data bus

input  [SIZE_R0_PP-1:0] r0_i;     // Register I
input  [SIZE_R1_PP-1:0] r1_i;     // Register I
input  [SIZE_R2_PP-1:0] r2_i;     // Register I
input  [SIZE_R3_PP-1:0] r3_i;     // Register I
input  [SIZE_R4_PP-1:0] r4_i;     // Register I
input  [SIZE_R5_PP-1:0] r5_i;     // Register I
input  [SIZE_R6_PP-1:0] r6_i;     // Register I
input  [SIZE_R7_PP-1:0] r7_i;     // Register I

output [SIZE_R0_PP-1:0] r0_o;     // Register O
output [SIZE_R1_PP-1:0] r1_o;     // Register O
output [SIZE_R2_PP-1:0] r2_o;     // Register O
output [SIZE_R3_PP-1:0] r3_o;     // Register O
output [SIZE_R4_PP-1:0] r4_o;     // Register O
output [SIZE_R5_PP-1:0] r5_o;     // Register O
output [SIZE_R6_PP-1:0] r6_o;     // Register O
output [SIZE_R7_PP-1:0] r7_o;     // Register O

reg  [SIZE_R0_PP-1:0] r0_o;     // Register O
reg  [SIZE_R1_PP-1:0] r1_o;     // Register O
reg  [SIZE_R2_PP-1:0] r2_o;     // Register O
reg  [SIZE_R3_PP-1:0] r3_o;     // Register O
reg  [SIZE_R4_PP-1:0] r4_o;     // Register O
reg  [SIZE_R5_PP-1:0] r5_o;     // Register O
reg  [SIZE_R6_PP-1:0] r6_o;     // Register O
reg  [SIZE_R7_PP-1:0] r7_o;     // Register O

// Internal declarations

reg  [7:0] read_dat;

//---------------------------------------------------------------
// Generate a select bus (1 high out of N)


// This is the writing side of the registers
always @(posedge clk_i or posedge rst_i)
  begin
    if (rst_i) begin    // Asynchronous reset
      r0_o <= 0;
      r1_o <= 0;
      r2_o <= 0;
      r3_o <= 0;
      r4_o <= 0;
      r5_o <= 0;
      r6_o <= 0;
      r7_o <= 0;
    end
    else   // clock edge
    begin
      if (we_i && sel_i)
      case (adr_i)
        0:
          if (SIZE_R0_PP >  1) r0_o <= dat_io[SIZE_R0_PP-1:0];
          else if (SIZE_R0_PP == 1) r0_o <= dat_io[0];
        1:
          if (SIZE_R1_PP > 1)  r1_o <= dat_io[SIZE_R1_PP-1:0];
          else if (SIZE_R1_PP == 1) r1_o <= dat_io[0];
        2:
          if (SIZE_R2_PP > 1)  r2_o <= dat_io[SIZE_R2_PP-1:0];
          else if (SIZE_R2_PP == 1) r2_o <= dat_io[0];
        3:
          if (SIZE_R3_PP > 1)  r3_o <= dat_io[SIZE_R3_PP-1:0];
          else if (SIZE_R3_PP == 1) r3_o <= dat_io[0];
        4:
          if (SIZE_R4_PP > 1)  r4_o <= dat_io[SIZE_R4_PP-1:0];
          else if (SIZE_R4_PP == 1) r4_o <= dat_io[0];
        5:
          if (SIZE_R5_PP > 1)  r5_o <= dat_io[SIZE_R5_PP-1:0];
          else if (SIZE_R5_PP == 1) r5_o <= dat_io[0];
        6:
          if (SIZE_R6_PP > 1)  r6_o <= dat_io[SIZE_R6_PP-1:0];
          else if (SIZE_R6_PP == 1) r6_o <= dat_io[0];
        7:
          if (SIZE_R7_PP > 1)  r7_o <= dat_io[SIZE_R7_PP-1:0];
          else if (SIZE_R7_PP == 1) r7_o <= dat_io[0];
      endcase
      
      // Priority is given to the clr_i, then set_i, then the bus (above)...
      if  (set_i[0] || clr_i[0]) r0_o <= {SIZE_R0_PP{~clr_i[0]}};
      if  (set_i[1] || clr_i[1]) r1_o <= {SIZE_R1_PP{~clr_i[1]}};
      if  (set_i[2] || clr_i[2]) r2_o <= {SIZE_R2_PP{~clr_i[2]}};
      if  (set_i[3] || clr_i[3]) r3_o <= {SIZE_R3_PP{~clr_i[3]}};
      if  (set_i[4] || clr_i[4]) r4_o <= {SIZE_R4_PP{~clr_i[4]}};
      if  (set_i[5] || clr_i[5]) r5_o <= {SIZE_R5_PP{~clr_i[5]}};
      if  (set_i[6] || clr_i[6]) r6_o <= {SIZE_R6_PP{~clr_i[6]}};
      if  (set_i[7] || clr_i[7]) r7_o <= {SIZE_R7_PP{~clr_i[7]}};
    end
  end // End of always block

always @(
            r0_i
         or r1_i
         or r2_i
         or r3_i
         or r4_i
         or r5_i
         or r6_i
         or r7_i
         or adr_i
         )
begin
  case (adr_i)
    0 : read_dat <= r0_i;
    1 : read_dat <= r1_i;
    2 : read_dat <= r2_i;
    3 : read_dat <= r3_i;
    4 : read_dat <= r4_i;
    5 : read_dat <= r5_i;
    6 : read_dat <= r6_i;
    7 : read_dat <= r7_i;
  endcase
end

assign dat_io = (~we_i && sel_i)?read_dat:{DATA_BUS_SIZE_PP{1'bz}};

endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线一区二区三区四区| 精品99999| 国内精品在线播放| 五月天久久比比资源色| 亚洲免费大片在线观看| 国产三级一区二区三区| 欧美白人最猛性xxxxx69交| 日本韩国一区二区三区视频| 成人免费不卡视频| 国内久久精品视频| 美女任你摸久久| 视频在线观看91| 亚洲精品第一国产综合野| 国产精品蜜臀av| 日韩一区二区免费在线观看| 色诱视频网站一区| 97aⅴ精品视频一二三区| 99这里都是精品| 99久精品国产| 91在线国内视频| 色88888久久久久久影院野外| 91免费观看在线| 日韩精品亚洲一区二区三区免费| 亚洲色图一区二区| 亚洲免费观看高清完整| 亚洲欧洲综合另类| 亚洲伦理在线精品| 亚洲激情男女视频| 亚洲一区二区在线视频| 亚洲午夜成aⅴ人片| 午夜精品久久久久久久99樱桃| 午夜电影网一区| 日本在线观看不卡视频| 免费久久精品视频| 极品少妇xxxx偷拍精品少妇| 国内精品久久久久影院一蜜桃| 国产精品88888| 白白色 亚洲乱淫| 成人深夜在线观看| 国产精品一二三四五| 成人午夜电影小说| 91在线看国产| 欧美视频在线一区二区三区| 91精品国产手机| 日韩精品一区二区三区老鸭窝| 精品免费国产二区三区| 欧美激情一区不卡| 亚洲综合视频在线观看| 视频精品一区二区| 国产一区在线不卡| 99久久久国产精品| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩在线电影| 精品成a人在线观看| 国产亚洲成aⅴ人片在线观看| 最新热久久免费视频| 日韩精品一二三区| 久久精品久久久精品美女| 成人久久18免费网站麻豆 | 久久成人免费电影| 高清av一区二区| 欧美在线观看视频一区二区三区| 欧美亚洲高清一区二区三区不卡| 欧美一区二区在线看| 国产欧美日韩在线视频| 一区二区三区四区激情| 精品亚洲成a人| 成人国产精品免费网站| 在线综合视频播放| 国产精品天美传媒沈樵| 日韩黄色小视频| 成人免费的视频| 欧美一卡二卡三卡四卡| 日韩精品在线一区| 亚洲三级电影网站| 极品少妇xxxx精品少妇偷拍| 日本乱人伦一区| 国产三级三级三级精品8ⅰ区| 亚洲国产另类av| 老司机免费视频一区二区| 色婷婷综合视频在线观看| 精品国产免费一区二区三区香蕉| 一区二区三区在线视频免费| 国产在线不卡一区| 色激情天天射综合网| 日韩欧美一区二区视频| 一区二区三区在线视频免费 | 国产欧美日本一区视频| 亚洲狠狠爱一区二区三区| 极品美女销魂一区二区三区免费| 国产电影一区二区三区| 6080午夜不卡| 国产精品大尺度| 国内精品久久久久影院色| 欧美色图免费看| 亚洲桃色在线一区| 激情欧美日韩一区二区| 成人动漫在线一区| 欧美电影在线免费观看| 亚洲一区二区三区中文字幕在线| 成人免费福利片| 久久久久久久综合日本| 蜜臀av一区二区在线观看| 欧美色大人视频| 亚洲人成人一区二区在线观看| 国产精品一区二区男女羞羞无遮挡| 日韩一区二区精品葵司在线| 国产色综合久久| 另类欧美日韩国产在线| 欧美日韩亚洲另类| 亚洲一卡二卡三卡四卡五卡| 色婷婷精品久久二区二区蜜臂av| 国产精品国产a级| 成人涩涩免费视频| 国产拍欧美日韩视频二区| 国产精品夜夜爽| 欧美一区在线视频| 蜜臀91精品一区二区三区| 91麻豆精品91久久久久同性| 五月天欧美精品| 欧美精品精品一区| 日韩vs国产vs欧美| 日韩欧美一区二区免费| 另类综合日韩欧美亚洲| 精品日韩一区二区三区免费视频| 亚洲成人自拍偷拍| 精品1区2区3区| 人人爽香蕉精品| 日韩久久免费av| 国产在线观看免费一区| 国产亚洲污的网站| 国产suv精品一区二区6| 中文字幕不卡的av| 99精品国产视频| 一区二区三区四区国产精品| 日韩一区二区三区四区五区六区| 美女mm1313爽爽久久久蜜臀| 久久一夜天堂av一区二区三区| 国产精品亚洲视频| 国产精品久久久久一区二区三区共| 97se亚洲国产综合在线| 亚洲精品成人在线| 欧美色电影在线| 国产乱码精品一区二区三| 国产精品卡一卡二| 色94色欧美sute亚洲线路一久| 亚洲123区在线观看| 精品国产一区久久| 波多野结衣中文字幕一区| 亚洲女爱视频在线| 91麻豆精品国产91久久久久久 | 日韩女同互慰一区二区| 国产乱码一区二区三区| 自拍av一区二区三区| 欧美日韩黄色一区二区| 久久99精品网久久| 中文字幕一区二区在线观看| 91麻豆精东视频| 青娱乐精品视频| 亚洲国产精品成人综合| 欧洲亚洲精品在线| 精品一区二区精品| 亚洲婷婷综合久久一本伊一区 | 国产精品久久毛片av大全日韩| 色综合久久88色综合天天6| 日韩精品午夜视频| 国产欧美1区2区3区| 一本大道av伊人久久综合| 国产精品一二三四五| 亚洲主播在线播放| 精品国产不卡一区二区三区| 99久久精品一区二区| 奇米在线7777在线精品| 国产精品不卡一区二区三区| 欧美一区国产二区| 国产不卡视频在线播放| 久久成人羞羞网站| 亚洲精品伦理在线| 久久久亚洲欧洲日产国码αv| 91久久精品一区二区三| 国产一区二区三区四区在线观看| 亚洲综合激情网| 亚洲国产精品二十页| 欧美一区二视频| 欧美色中文字幕| av电影天堂一区二区在线观看| 美国三级日本三级久久99| 亚洲三级免费电影| 久久久精品国产免大香伊| 欧美日韩精品免费观看视频| 成人app软件下载大全免费| 视频一区视频二区中文| 国产精品久久久久久久久免费相片 | 国产精品福利av| 日韩精品一区二区三区视频| 欧美综合在线视频| 成人网页在线观看| 国产精品综合二区| 美洲天堂一区二卡三卡四卡视频| 一二三四区精品视频|