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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? top.v

?? 鍵盤接口ps2的協議
?? V
字號:
//-----------------------------------------------------------------------------
//
// Author: John Clayton
// Date  : April 30, 2001
// Update: April 30, 2001 Copied this file from "lcd_3.v" for use as top level
// Update: May    3, 2001 Included instantiations of VHDL code, to test mixed
//                        language support of the XILINX foundation 3.1 tools.
// Update: June   1, 2001 Brigham Young's 200th birthday!
//                        Started project "build_4" using ps2 interface and
//                        the rs232 interface code.
//
// Description
//-----------------------------------------------------------------------------
// This targets an XC2S200 board which was created for educational purposes.
//
// There are:
//    8  LEDs (led[7:0])
//    4  switches (switch[3:0])
//    1  clock of 32.000 MHz clock, present on GCLK1
//    1  clock of 49.152 MHz clock, present on GCLK0
//    4  lines of ps2 clock input (port A in documentation notes)
//    4  lines of ps2 data input (port A in documentation notes)
//    16 lines of LCD panel control (port B in documentation notes)
//    2  lines of rs232 serial connection (port C in documentation notes)
//-----------------------------------------------------------------------------


`resetall
`timescale 1ns/100ps

module top (
  sys_clk_0,
  sys_clk_1,
  switch,
  led,
  ps2_clk,
  ps2_data,
  lcd_drive,
  rs232_rxd,
  rs232_txd
  );
  
// I/O declarations
input sys_clk_0;      // 49.152 MHz
input sys_clk_1;      // 32.000 MHz
input [3:0] switch;
input rs232_rxd;

inout [3:0] ps2_clk;
inout [3:0] ps2_data;

output [7:0] led;

output [15:0] lcd_drive;
output rs232_txd;

// Internal signal declarations

wire [7:0] ps2_scan_code;
wire [7:0] ps2_ascii;
wire [7:0] ps2_status;
wire [7:0] rs232_rx_character;

wire [7:0] temp1;
wire [7:0] temp2;

wire reset = switch[0];
wire [2:0] rs232_rx_error;
wire ps2_key_data_ready;
wire ps2_key_released;
wire ps2_key_pressed = ~ps2_key_released;
wire rx232_tx_load_request;
wire rs232_rx_data_ready;

//--------------------------------------------------------------------------
// Instantiations
//--------------------------------------------------------------------------

lcd_test_pongball lcd_block (
  .sys_clk(sys_clk_1),
  .lcd_clk(sys_clk_0),
  .sys_reset(reset),
  .lcd_reset(1'b0),
  .ball_x_enable(switch[1]),
  .ball_y_enable(switch[1]),
  .lcd_drive(lcd_drive)
  );

ps2_keyboard_interface #(2950, // number of clks for 60usec.
                         12,   // number of bits needed for 60usec. timer
                         63,   // number of clks for debounce
                         6,    // number of bits needed for debounce timer
                         1     // Trap the shift keys, no event generated
                         )                       
  ps2_block (                  // Instance name
  .clk(sys_clk_0),
  .reset(reset),
  .ps2_clk(ps2_clk[0]),
  .ps2_data(ps2_data[0]),
  .rx_extended(ps2_status[5]),
  .rx_released(ps2_key_released),
  .rx_shift_key_on(ps2_status[7]),
  .rx_scan_code(ps2_scan_code),
  .rx_ascii(ps2_ascii),
  .rx_data_ready(ps2_key_data_ready),
  .rx_read(ps2_key_data_ready),
  .tx_data({rs232_rx_character[5],        // Make upper nibble E, F or 0
            rs232_rx_character[5],
            rs232_rx_character[5],
            rs232_rx_character[4],
            rs232_rx_character[3:0]}),
  .tx_write(rs232_rx_data_ready),
  .tx_write_ack_o(ps2_tx_write_ack_o),
  .tx_error_no_keyboard_ack(ps2_status[4])
  );
assign ps2_status[6] = ps2_key_released;
assign ps2_status[3] = rs232_rx_data_ready;


// These defines are for the rs232 interface
`define START_BITS 1
`define DATA_BITS 8
`define STOP_BITS 1
`define CLOCK_FACTOR 16

// This unit generates the correct 16x transmit clock (enable) frequency
// which is used for the serial transmit operation.
clock_gen_select clock_unit
  (
   .clk(sys_clk_0),
   .reset(reset),
   .rate_select(3'b100),         // 115,200 baud
   .clk_out(serial_clk_16x)
  );

// A transmitter, which asserts load_request at the end of the currently
// transmitted word.  The tx_clk must be a "clock enable" (narrow positive
// pulse) which occurs at 16x the desired transmit rate.  If load_request
// is connected directly to load, the unit will transmit continuously.
rs232tx #(
          `START_BITS,   // start_bits
          `DATA_BITS,    // data_bits
          `STOP_BITS,    // stop_bits (add intercharacter delay...)
          `CLOCK_FACTOR  // clock_factor
         )
         rs232_tx_block // instance name
         ( 
          .clk(sys_clk_0),
          .tx_clk(serial_clk_16x),
          .reset(reset),
          .load(   ps2_key_data_ready
                && ps2_key_pressed
                && rs232_tx_load_request),
          .data(ps2_ascii),                 // Connected from keyboard
          .load_request(rs232_tx_load_request),
          .txd(rs232_txd)
         );

// A receiver, which asserts "word_ready" to indicate a received word.
// Asserting "read_word" will cause "word_ready" to go low again if it was high.
// The character is held in the output register, during the time the next
//   character is coming in.
rs232rx #(
          `START_BITS,  // start_bits
          `DATA_BITS,   // data_bits
          `STOP_BITS,   // stop_bits
          `CLOCK_FACTOR // clock_factor
         )
         rs232_rx_block // instance name
         ( 
          .clk(sys_clk_0),
          .rx_clk(serial_clk_16x),
          .reset(reset || (| rs232_rx_error) ),
          .rxd(rs232_rxd),
          .read(ps2_tx_write_ack_o),
          .data(rs232_rx_character),
          .data_ready(rs232_rx_data_ready),
          .error_over_run(rs232_rx_error[0]),
          .error_under_run(rs232_rx_error[1]),
          .error_all_low(rs232_rx_error[2])
         );

//`undef START_BITS 
//`undef DATA_BITS 
//`undef STOP_BITS 
//`undef CLOCK_FACTOR


//--------------------------------------------------------------------------
// Module code
//--------------------------------------------------------------------------

assign ps2_status[2:0] = 0;

assign temp1 = switch[2]?rs232_rx_character:ps2_scan_code;
assign temp2 = switch[2]?{~ps2_clk,~ps2_data}:ps2_status;
assign led = switch[3]?temp2:temp1;



endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品免费在线观看| 中文字幕免费不卡| 免费不卡在线观看| 久久久久久日产精品| 日韩一级大片在线观看| 色94色欧美sute亚洲13| 色欧美日韩亚洲| 丰满岳乱妇一区二区三区| 久久精品久久综合| 黄网站免费久久| 奇米影视一区二区三区| 看国产成人h片视频| 亚洲高清免费视频| 久久久久久久久久美女| 欧美成人激情免费网| 欧美美女一区二区| 宅男噜噜噜66一区二区66| 欧美性大战久久久久久久 | 奇米色777欧美一区二区| 亚洲欧美综合色| 777欧美精品| 91麻豆精品国产| 色94色欧美sute亚洲线路一久| a级精品国产片在线观看| 大胆亚洲人体视频| 国产jizzjizz一区二区| 韩国女主播成人在线| 久久精品国产一区二区| 美脚の诱脚舐め脚责91| 久久精品99国产精品| 免费成人深夜小野草| 免费观看成人av| 成人深夜在线观看| 色狠狠桃花综合| 在线一区二区三区做爰视频网站| 欧美日韩在线不卡| 91精品国产综合久久蜜臀| 免费欧美在线视频| 成人激情小说网站| 91久久线看在观草草青青| 欧美高清激情brazzers| 欧美成人精精品一区二区频| 中文字幕 久热精品 视频在线| 欧美国产日韩在线观看| 亚洲精品日韩专区silk| 日本麻豆一区二区三区视频| 精品一二线国产| av亚洲精华国产精华| 欧美亚洲禁片免费| 欧美在线999| 精品国产免费一区二区三区香蕉| 久久伊人蜜桃av一区二区| 亚洲天堂免费看| 亚洲国产精品一区二区www| 精品一区二区精品| av在线不卡电影| 欧美年轻男男videosbes| 国产亚洲精品aa午夜观看| 亚洲欧美激情一区二区| 美女视频网站黄色亚洲| 国产suv精品一区二区6| 国产在线精品免费av| 91啪亚洲精品| 日韩一区二区三免费高清| 亚洲同性gay激情无套| 午夜精品福利一区二区三区av| 国产99久久久国产精品潘金| 欧美在线观看一区二区| 欧美日韩精品欧美日韩精品一| 日本一区二区三区电影| 一片黄亚洲嫩模| 成人在线一区二区三区| 欧美三级午夜理伦三级中视频| 日本精品一区二区三区四区的功能| 日韩欧美国产三级| 中文字幕在线观看一区| 黑人精品欧美一区二区蜜桃| 99精品偷自拍| 91.com视频| 一区二区视频在线| 精品在线亚洲视频| 欧美一区二区性放荡片| 国产精品免费免费| 国内精品免费**视频| 91黄色免费版| 精品播放一区二区| 美女视频第一区二区三区免费观看网站| 国产+成+人+亚洲欧洲自线| 精品少妇一区二区三区| 一区二区三区在线影院| 不卡电影一区二区三区| 精品少妇一区二区三区在线视频| 五月天丁香久久| 9久草视频在线视频精品| 日韩三级av在线播放| 五月天激情小说综合| 91原创在线视频| 久久久99免费| 日韩影院在线观看| 高清国产午夜精品久久久久久| 精品欧美乱码久久久久久| 五月婷婷综合在线| 色诱视频网站一区| 国产精品国产自产拍高清av王其| 韩国av一区二区三区| 欧美日本一区二区三区四区 | 国产最新精品免费| 91久久精品一区二区三区| 椎名由奈av一区二区三区| 国产精品一级黄| 欧美精品一区二区久久婷婷 | 欧美色网站导航| 亚洲色图.com| 国产一区二区三区最好精华液| 日韩欧美一级二级三级久久久| 亚洲高清久久久| 91精品久久久久久蜜臀| 视频一区欧美日韩| 91麻豆精品91久久久久同性| 午夜影视日本亚洲欧洲精品| 678五月天丁香亚洲综合网| 一区二区三区.www| a级精品国产片在线观看| 中文字幕永久在线不卡| av资源网一区| 久久久www免费人成精品| 国产精品一品视频| 国产亚洲精品福利| 国产盗摄一区二区三区| 国产日韩欧美亚洲| 国产又黄又大久久| 久久亚洲一级片| 国产一区二区主播在线| 久久久精品免费网站| 国产成人亚洲精品青草天美 | 天天综合色天天综合| 7777精品伊人久久久大香线蕉超级流畅 | 91精品国产品国语在线不卡| 日韩精品五月天| 91精品国产欧美一区二区| 美女久久久精品| 亚洲精品一区二区三区香蕉| 国产一区免费电影| 国产精品福利电影一区二区三区四区| 99久久99久久精品免费看蜜桃 | 麻豆91精品视频| 欧美成人精品福利| 国产精品99久久久久久久女警| 日本一区二区免费在线观看视频 | 国产成人在线电影| 国产精品欧美综合在线| 97se亚洲国产综合自在线| 亚洲香蕉伊在人在线观| 91精品蜜臀在线一区尤物| 国内精品写真在线观看| 国产精品毛片久久久久久| 91福利国产成人精品照片| 蜜臀久久99精品久久久画质超高清 | 舔着乳尖日韩一区| 精品国产凹凸成av人导航| 成人午夜在线免费| 一区二区欧美在线观看| 日韩欧美在线观看一区二区三区| 国产精品一卡二卡| 一区二区三区日韩欧美| 日韩亚洲欧美在线| 成人网在线免费视频| 午夜欧美2019年伦理| 国产亚洲精品精华液| 欧美日韩国产色站一区二区三区| 国产一区欧美一区| 一区二区在线免费| 久久综合九色欧美综合狠狠| 日韩亚洲欧美中文三级| 国产不卡一区视频| 亚洲国产日产av| 久久久久国产免费免费| 欧美性大战久久久| 国产91色综合久久免费分享| 视频在线观看一区| 国产精品久线观看视频| 久久综合久久99| 欧美少妇bbb| 不卡免费追剧大全电视剧网站| 免费成人小视频| 亚洲国产高清aⅴ视频| 7777女厕盗摄久久久| 99精品欧美一区| 风间由美一区二区av101| 久久精品国产77777蜜臀| 亚洲不卡在线观看| 亚洲三级电影网站| 国产精品灌醉下药二区| 久久综合色一综合色88| 3atv一区二区三区| 北条麻妃国产九九精品视频| 精品在线观看视频| 久久se精品一区精品二区| 爽好多水快深点欧美视频| 夜夜夜精品看看|