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

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

?? vga_128_by_92.v

?? 用VHDL語言實現的pic16f84
?? V
字號:
//---------------------------------------------------------------------------
// VGA resolution panel driver, for 128 by 92 "5x5" pixels.
//
//
// Description: See description below (which suffices for IP core
//                                     specification document.)
//
// Copyright (C) 2002 John Clayton and OPENCORES.ORG (this Verilog version)
//
// This source file may be used and distributed without restriction provided
// that this copyright statement is not removed from the file and that any
// derivative work contains the original copyright notice and the associated
// disclaimer.
//
// This source file is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published
// by the Free Software Foundation;  either version 2.1 of the License, or
// (at your option) any later version.
//
// This source is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
// License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this source.
// If not, download it from http://www.opencores.org/lgpl.shtml
//
//-----------------------------------------------------------------------------
//
// Author: John Clayton
// Date  : Mar. 29, 2001
// Update: April 4, 2001  Copied this file from "lcd_3.v"
// Update: May   3, 2001  Re-copied from "lcd_2.v" (better logic)
//                        Stripped out extraneous stuff.
// Update: May   3, 2001  Added synchronous reset signals, also added
//                        "ball_x_enable" and "ball_y_enable" signals.
//                        Changed all occurrences of "block" in code to "ball"
// Update: Apr. 11, 2002  Copied this file from "lcd_test_pongball_crosshair.v"
//                        Removed the pongball, and added ports for pixel RAM.
// Update: Apr. 15, 2002  Removed the fixed block of color and graph lines.
//                        There is only 1 bit of intensity info for R,G,B.
// Update: May   2, 2002  Copied this file from "vga_128_by_92.v" and removed
//                        the crosshairs, since they are not needed at this
//                        type of resolution.  Adjusted V_MODULO down from
//                        540 to 512, to eliminate the vertical flicker that
//                        was evident after removing the crosshairs logic.
//
//-----------------------------------------------------------------------------
// Description:
//
// This module drives an LCD panel (from an IBM 700C Thinkpad laptop)
//
// The LCD panel requires 16 signals to be driven.
// There are four signals each for red, green and blue.
// There is one sync signal.
// There is one clock signal.
// And there are two control signals: backlight_on and backlight_bright.
//
// The clock used for the LCD is "lcd_clk" of 49.152 MHz clock, on GCLK0
//
// The 5x5 "macropixels" display according to RAM response to "pixel_adr_o"
// "macro_pixel_clk" advances the address.  Pixel address zero corresponds
// to the pixel in the upper right hand corner of the screen.  Pixels are
// numbered from left to right, top to bottom, in rows of 128 each.  There
// are 96 rows.  Each pixel is a patch of 25 VGA pixels.  This was done in
// order to conserve memory by reducing the number of pixels displayed.
//
//-----------------------------------------------------------------------------


`define H_MODULO 704            // Horizontal pixel times before H-retrace
`define V_MODULO 512            // Vertical line times before V-retrace
`define H_PIXELS 640            // Actual number of pixels horizontally
`define V_PIXELS 480            // Actual number of pixels vertically

`define COORDINATES_SIZE 10     // Size of crosshair coordinates in bits
`define CROSSHAIR_SIZE 7        // Size of crosshair "leg" in pixels
                                // (not including central pixel)

`define MACROPIXEL_SIZE 5       // Size of macropixel in terms of VGA pixels


module vga_128_by_92 (
  lcd_clk,
  lcd_reset,
  pixel_dat_i,
  pixel_adr_o,
  lcd_drive
  );
  
// I/O declarations
input  lcd_clk;                    // 49.152 MHz
input  lcd_reset;                  // synchronous reset
input  [2:0]  pixel_dat_i;         // [0] = red, [1] = green, [2] = blue
output [13:0] pixel_adr_o;         // Address for Pixel RAM.
output [15:0] lcd_drive;           // Signals used to drive LCD panel


// Internal signal declarations


// For the LCD part
reg [3:0] lcd_red;
reg [3:0] lcd_green;
reg [3:0] lcd_blue;
wire lcd_sync;
wire lcd_backlight_on = 1;
wire lcd_backlight_bright = 1;
wire v_clk;
wire h_pulse;
wire v_pulse;

// For generating images
wire macro_h_reset;      // Resets the horizontal counter
wire macro_v_reset;      // Resets the vertical counter
wire macro_pixel_clk;    // H = next macropixel at rising edge of lcd_clk
wire macro_line_clk;     // H = next macropixel line at rising edge of lcd_clk

reg lcd_pixel_clk;       // H = next pixel at rising edge of lcd_clk
reg [2:0] macro_h_count; // Determines when to activate macro_pixel_clk
reg [2:0] macro_v_count; // Determines when to activate macro_line_clk
reg [13:0] pixel_adr_o;  // Address for macropixel RAM
reg [9:0] v_count;       // Indicates current VGA scan line
reg [9:0] h_count;       // Indicates current VGA horizontal pixel number


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


//----------LCD part-----------------------------------

// This "Rubber bands" together the output signals. (concatenation).
assign lcd_drive = {lcd_backlight_bright,
                    lcd_backlight_on,
                    lcd_sync,
                    lcd_pixel_clk,
                    ~lcd_blue,             // Values are active low.
                    ~lcd_green,            // Values are active low.
                    ~lcd_red};             // Values are active low.

// lcd_pixel_clk counter
always @(posedge lcd_clk or posedge lcd_reset)
begin
  if (lcd_reset) lcd_pixel_clk <= 0;  // Asynchronous reset
  else lcd_pixel_clk <= ~lcd_pixel_clk;
end

// Horizontal counter
always @(posedge lcd_clk or posedge lcd_reset)
begin
  if (lcd_reset) h_count <= 0;  // Asynchronous reset
  else if (lcd_pixel_clk)
  begin
    if (h_count == `H_MODULO-1) h_count <=0;
    else h_count <= h_count + 1;
  end
end
assign v_clk = ((h_count == `H_MODULO-1) && lcd_pixel_clk);

// Vertical counter
always @(posedge lcd_clk or posedge lcd_reset)
begin
  if (lcd_reset) v_count <=0; // Asynchronous reset
  else if (v_clk)
  begin
    if (v_count == `V_MODULO-1) v_count <= 0;
    else v_count <= v_count + 1;
  end
end

// Create horizontal sync pulses, punctuated by periods of "high"
//   which corresponds to "vertical retrace time."
assign h_pulse = h_count >= `H_PIXELS;
assign v_pulse = v_count >= `V_PIXELS;
assign lcd_sync = (h_pulse || v_pulse);


// Macropixel logic
assign macro_h_reset = h_pulse || lcd_reset;
assign macro_v_reset = v_pulse || lcd_reset;

always @(posedge lcd_clk or posedge macro_h_reset)
begin
  if (macro_h_reset) macro_h_count <= 0;  // asynchronous reset
  else
  begin  // Clock edge
    if (lcd_pixel_clk)
    begin
      if (macro_h_count == (`MACROPIXEL_SIZE-1)) macro_h_count <= 0;
      else macro_h_count <= macro_h_count + 1;
    end
  end
end
assign macro_pixel_clk = ((macro_h_count == (`MACROPIXEL_SIZE-1)) 
                          && lcd_pixel_clk);

always @(posedge lcd_clk or posedge macro_v_reset)
begin
  if (macro_v_reset) macro_v_count <= 0;  // asynchronous reset
  else
  begin // Clock edge
    if (v_clk)
    begin
      if (macro_v_count == (`MACROPIXEL_SIZE-1)) macro_v_count <= 0;
      else macro_v_count <= macro_v_count + 1;
    end
  end
end
assign macro_line_clk = ((macro_v_count == (`MACROPIXEL_SIZE-1)) && v_clk);

always @(posedge lcd_clk or posedge macro_h_reset)
begin
  if (macro_h_reset) pixel_adr_o[6:0] <= 0;  // Asynchronous reset
  else if (macro_pixel_clk) pixel_adr_o[6:0] <= pixel_adr_o[6:0] + 1;
end

always @(posedge lcd_clk or posedge macro_v_reset)
begin
  if (macro_v_reset) pixel_adr_o[13:7] <= 0; // Asynchronous reset
  else
  begin  // Clock edge
    if (macro_line_clk) pixel_adr_o[13:7] <= pixel_adr_o[13:7] + 1;
  end
end

// Color testing pattern
always @(pixel_dat_i)
begin
  // Start with pixel color as default "video plane"
  lcd_red   <= pixel_dat_i[0];
  lcd_green <= pixel_dat_i[1];
  lcd_blue  <= pixel_dat_i[2];
end


endmodule

//`undef H_MODULO
//`undef V_MODULO
//`undef H_PIXELS
//`undef V_PIXELS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
捆绑调教美女网站视频一区| 亚洲综合视频在线观看| 中文字幕一区二区三| 自拍偷拍欧美激情| 免费精品视频在线| 色综合色狠狠天天综合色| 久久综合九色欧美综合狠狠| 亚洲中国最大av网站| 风间由美性色一区二区三区| 91超碰这里只有精品国产| 中文字幕一区二区在线观看| 精品亚洲国产成人av制服丝袜| 99精品视频免费在线观看| 久久久久久久综合色一本| 婷婷国产在线综合| 欧美中文字幕一区| 亚洲视频一二三| 成人av电影在线网| 久久精品视频在线看| 极品少妇xxxx精品少妇| 欧美一级片在线看| 日韩精品亚洲专区| 在线观看亚洲成人| 亚洲同性gay激情无套| 精品一区二区三区蜜桃| 色综合 综合色| 91精选在线观看| 亚洲综合在线免费观看| 狠狠色丁香婷婷综合久久片| 欧美三级在线视频| 亚洲欧洲日韩一区二区三区| 久久99精品久久久久久久久久久久| 91首页免费视频| 国产日韩欧美高清在线| 日本va欧美va精品| 欧美日韩亚洲综合一区二区三区| 国产精品视频一二三| 美女视频网站黄色亚洲| 精品视频全国免费看| 国产精品激情偷乱一区二区∴| 久久97超碰国产精品超碰| 欧美日韩国产美女| 亚洲一区二区三区视频在线播放 | 一二三区精品视频| 国产成人啪免费观看软件| 日韩欧美一二三| 偷偷要91色婷婷| 欧美日韩中文国产| 亚洲国产精品久久不卡毛片| 91老师国产黑色丝袜在线| 久久久久久97三级| 国产不卡免费视频| 久久久精品国产免大香伊| 极品美女销魂一区二区三区| 91精品国产高清一区二区三区| 亚洲一级不卡视频| 欧美性猛片xxxx免费看久爱| 久久久久久久综合| 国产剧情一区二区三区| 日本精品免费观看高清观看| 日韩欧美在线不卡| 亚洲va韩国va欧美va精品| 91网页版在线| 国产精品国产三级国产a| 大白屁股一区二区视频| 一区二区三区欧美在线观看| 在线视频你懂得一区| 欧美性猛交xxxx黑人交| 亚洲黄色av一区| 粉嫩久久99精品久久久久久夜| 国产成人亚洲综合a∨婷婷 | 日韩高清在线电影| 中文字幕高清一区| 国产在线视频精品一区| 色婷婷综合视频在线观看| 91精品国产综合久久精品图片| 不卡av在线免费观看| 婷婷综合另类小说色区| 国产日韩欧美精品电影三级在线| 91丨porny丨国产入口| 日韩二区三区在线观看| 一级精品视频在线观看宜春院| 91一区二区在线观看| 国产欧美日韩激情| 夜夜嗨av一区二区三区四季av| 大桥未久av一区二区三区中文| 日韩精品一区二区三区在线| 亚洲免费观看高清完整版在线观看| 老司机午夜精品| 欧美无砖砖区免费| 国产精品素人一区二区| 国产精品一区专区| 欧美日韩精品欧美日韩精品一综合| 亚洲成人中文在线| 欧美日韩一二三| 色综合久久66| 久久精品国内一区二区三区| 国产精品丝袜一区| 91.xcao| 美腿丝袜亚洲三区| 天天综合网 天天综合色| 久久久久国产一区二区三区四区| 欧美一级片在线看| 在线观看成人小视频| 成人午夜私人影院| 久久成人精品无人区| 日韩不卡手机在线v区| 亚洲丝袜美腿综合| 91精品国产福利在线观看| 91福利社在线观看| 成人av网站免费| 成人黄色免费短视频| 国产一区二区免费看| 黄页网站大全一区二区| 婷婷综合另类小说色区| 五月婷婷激情综合| 一区二区三区在线看| 亚洲欧美在线高清| 中文字幕久久午夜不卡| 不卡一卡二卡三乱码免费网站| 国产精品2024| 韩国精品主播一区二区在线观看 | 精品国产区一区| 在线亚洲+欧美+日本专区| 成人免费视频app| 成人免费高清在线观看| 青椒成人免费视频| 日韩中文欧美在线| 日韩国产欧美在线播放| 亚洲丝袜自拍清纯另类| 亚洲日本在线天堂| 亚洲欧洲精品成人久久奇米网| 国产精品电影院| 最新国产精品久久精品| 一区二区三区欧美亚洲| 亚洲国产日韩精品| 成人欧美一区二区三区视频网页| 亚洲黄色录像片| 一区二区激情小说| 裸体在线国模精品偷拍| 久久er精品视频| 99精品国产热久久91蜜凸| 成人精品国产一区二区4080| 欧美怡红院视频| 这里只有精品99re| 欧美激情综合网| 亚洲精品视频在线观看网站| 日本午夜精品一区二区三区电影| 日韩电影在线免费| 日韩美女视频19| 亚洲免费电影在线| 五月天欧美精品| 精品午夜一区二区三区在线观看 | 久久精品日产第一区二区三区高清版 | 亚洲日本免费电影| 亚洲色欲色欲www在线观看| 亚洲综合激情网| 五月天一区二区| 亚洲自拍偷拍九九九| 免费在线成人网| 成人永久aaa| 国产精品欧美经典| 成人国产在线观看| 五月天一区二区三区| www.欧美日韩| 国产激情一区二区三区| 欧美体内she精高潮| 不卡欧美aaaaa| 91精品久久久久久久久99蜜臂| 中文字幕av一区二区三区高| 亚洲自拍偷拍图区| 免费观看成人av| 日韩一区二区三免费高清| 五月婷婷综合在线| 欧美色偷偷大香| 麻豆国产精品官网| 亚洲色图.com| 91麻豆精品久久久久蜜臀| 国产剧情av麻豆香蕉精品| 国产精品一二三区在线| 日韩—二三区免费观看av| 亚洲人成伊人成综合网小说| 国产肉丝袜一区二区| 欧美在线影院一区二区| 欧美日韩在线播| 欧美婷婷六月丁香综合色| 成人性视频免费网站| 中文字幕字幕中文在线中不卡视频| 欧美三级电影在线观看| 国模无码大尺度一区二区三区| 精品国产乱码久久久久久1区2区| 成人av第一页| 午夜精品国产更新| 中文字幕一区二区三区在线播放 | 亚洲成av人片观看| 麻豆精品新av中文字幕| 成人深夜福利app| 日韩三级精品电影久久久| 亚洲天堂网中文字| 国产精品中文字幕日韩精品|