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

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

?? xmit_rcv_control.v

?? UART的一段VHDL程序
?? V
字號(hào):
//
// Module UART_V.xmit_rcv_control.fsm
//
// Created:
//          by - user.group (host.domain)
//          at - 10:56:05 30 Aug 2001
//
// Generated by Mentor Graphics' HDL Designer(TM) 2001.5
//

`resetall
`timescale 1ns/10ps
module xmit_rcv_control( 
   clk, 
   rst, 
   sample, 
   sin, 
   start_xmit, 
   xmitdt, 
   done_rcving, 
   done_xmitting, 
   enable_rcv_clk, 
   enable_xmit_clk, 
   rcv_bit_cnt, 
   rcving, 
   read_bit, 
   sout, 
   xmitting
);


// Internal Declarations

input        clk;
input        rst;
input        sample;
input        sin;
input        start_xmit;
input  [7:0] xmitdt;
output       done_rcving;
output       done_xmitting;
output       enable_rcv_clk;
output       enable_xmit_clk;
output [2:0] rcv_bit_cnt;
output       rcving;
output       read_bit;
output       sout;
output       xmitting;


wire clk;
wire rst;
wire sample;
wire sin;
wire start_xmit;
wire [7:0] xmitdt;
reg done_rcving;
reg done_xmitting;
reg enable_rcv_clk;
reg enable_xmit_clk;
reg [2:0] rcv_bit_cnt;
reg rcving;
reg read_bit;
reg sout;
reg xmitting;
// Declare any pre-registered internal signals
reg enable_xmit_clk_cld ;
reg [2:0] rcv_bit_cnt_cld ;
reg sout_cld ;
reg xmitting_cld ;

// Module Declarations
reg  [2:0] xmit_bit_cnt ;

// State encoding
parameter [2:0] // pragma enum Rcv_current_state_code
   waiting = 3'd0 ,
   check_lock = 3'd1 ,
   rcv_locked = 3'd2 ,
   read_data = 3'd3 ,
   incr_count2 = 3'd4 ,
   done_read = 3'd5 ,
   read_stop_bit = 3'd6 ,
   finish_rcv = 3'd7 ;
// State encoding
parameter [2:0] // pragma enum Xmit_current_state_code
   waiting_to_xmit = 3'd0 ,
   send_start = 3'd1 ,
   send_data = 3'd2 ,
   incr_count = 3'd3 ,
   done_xmit = 3'd4 ,
   send_stop_bit = 3'd5 ,
   finish_xmit = 3'd6 ;

reg [2:0] /* pragma enum Rcv_current_state_code */ Rcv_current_state, Rcv_next_state ;
// pragma synthesis_off
reg Rcv_hds_animation_indicator;
// pragma synthesis_on
reg [2:0] /* pragma enum Xmit_current_state_code */ Xmit_current_state, Xmit_next_state ;

//----------------------------------------------------------------------------
// Next State Block for machine Rcv
//----------------------------------------------------------------------------
always  @(
   Rcv_current_state or 
   rcv_bit_cnt_cld or 
   sample or 
   sin) 
begin
   case (Rcv_current_state)
      waiting:
         if (~sin)
         begin
            Rcv_next_state <= check_lock;
            // pragma synthesis_off
            $hdsNextPath(0,1);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= waiting;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      check_lock:
         if (sin)
         begin
            Rcv_next_state <= waiting;
            // pragma synthesis_off
            $hdsNextPath(0,2);
            // pragma synthesis_on
         end
         else if (~sin)
         begin
            Rcv_next_state <= rcv_locked;
            // pragma synthesis_off
            $hdsNextPath(0,3);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= check_lock;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      rcv_locked:
         if (sample)
         begin
            Rcv_next_state <= read_data;
            // pragma synthesis_off
            $hdsNextPath(0,4);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= rcv_locked;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      read_data:
         if (~sample)
         begin
            Rcv_next_state <= incr_count2;
            // pragma synthesis_off
            $hdsNextPath(0,5);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= read_data;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      incr_count2:
         if (sample && rcv_bit_cnt_cld !== 7)
         begin
            Rcv_next_state <= read_data;
            // pragma synthesis_off
            $hdsNextPath(0,6);
            // pragma synthesis_on
         end
         else if (sample && rcv_bit_cnt_cld == 7)
         begin
            Rcv_next_state <= done_read;
            // pragma synthesis_off
            $hdsNextPath(0,7);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= incr_count2;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      done_read:
         if (~sample)
         begin
            Rcv_next_state <= read_stop_bit;
            // pragma synthesis_off
            $hdsNextPath(0,8);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= done_read;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      read_stop_bit:
         if (sample)
         begin
            Rcv_next_state <= finish_rcv;
            // pragma synthesis_off
            $hdsNextPath(0,9);
            // pragma synthesis_on
         end
         else
         begin
            Rcv_next_state <= read_stop_bit;
            // pragma synthesis_off
            $hdsNextPath(0,0);
            // pragma synthesis_on
         end
      finish_rcv:
         begin
            Rcv_next_state <= waiting;

            // pragma synthesis_off
            $hdsNextPath(0,10);
            // pragma synthesis_on
         end
      default: begin
         Rcv_next_state <= waiting;
         // pragma synthesis_off
         $hdsNextPath(0,0);
         // pragma synthesis_on
      end
   endcase

end // Next State Block

//----------------------------------------------------------------------------
// Next State Block for machine Xmit
//----------------------------------------------------------------------------
always  @(
   Xmit_current_state or 
   sample or 
   start_xmit or 
   xmit_bit_cnt) 
begin
   case (Xmit_current_state)
      waiting_to_xmit:
         if (start_xmit)
            Xmit_next_state <= send_start;
         else
            Xmit_next_state <= waiting_to_xmit;
      send_start:
         if (sample)
            Xmit_next_state <= send_data;
         else
            Xmit_next_state <= send_start;
      send_data:
         if (~sample)
            Xmit_next_state <= incr_count;
         else
            Xmit_next_state <= send_data;
      incr_count:
         if (sample && xmit_bit_cnt !== 0)
            Xmit_next_state <= send_data;
         else if (sample && ~xmit_bit_cnt)
            Xmit_next_state <= done_xmit;
         else
            Xmit_next_state <= incr_count;
      done_xmit:
         if (~sample)
            Xmit_next_state <= send_stop_bit;
         else
            Xmit_next_state <= done_xmit;
      send_stop_bit:
            Xmit_next_state <= finish_xmit;

      finish_xmit:
            Xmit_next_state <= waiting_to_xmit;

      default: begin
         Xmit_next_state <= waiting_to_xmit;
      end
   endcase

end // Next State Block

//----------------------------------------------------------------------------
// Output Block for machine Rcv
//----------------------------------------------------------------------------
always  @(
   Rcv_current_state or 
   rcv_bit_cnt_cld or 
   sample or 
   sin) 
begin
   // Default Assignment
   done_rcving <= 0;
   enable_rcv_clk <= 0;
   rcving <= 0;
   read_bit <= 0;
   // Default Assignment To Internals

   // Combined Actions
   case (Rcv_current_state)
      waiting: begin
         if (~sin) begin
            enable_rcv_clk <= 1;
         end
      end
      check_lock: begin
         enable_rcv_clk <= 1;
         if (sin) begin
            enable_rcv_clk <= 0;
         end
      end
      rcv_locked: begin
         rcving <= 1;
         enable_rcv_clk <= 1;
      end
      read_data: begin
         rcving <= 1;
         enable_rcv_clk <= 1;
      end
      incr_count2: begin
         rcving <= 1;
         enable_rcv_clk <= 1;
         if (sample && rcv_bit_cnt_cld !== 7) begin
            read_bit <= 1;
         end
         else if (sample && rcv_bit_cnt_cld == 7) begin
            read_bit <= 1;
         end
      end
      done_read: begin
         rcving <= 1;
         enable_rcv_clk <= 1;
      end
      read_stop_bit: begin
         rcving <= 1;
         enable_rcv_clk <= 1;
      end
      finish_rcv: begin
         enable_rcv_clk <= 0;
         rcving <= 0;
         done_rcving <= 1;
      end
   endcase

end // Output Block

//----------------------------------------------------------------------------
// Output Block for machine Xmit
//----------------------------------------------------------------------------
always  @(
   Xmit_current_state) 
begin
   // Default Assignment
   done_xmitting <= 0;
   // Default Assignment To Internals

   // Combined Actions
   case (Xmit_current_state)
      send_stop_bit: begin
         done_xmitting <= 1;
      end
   endcase

end // Output Block

//----------------------------------------------------------------------------
// Clocked Block for machine Rcv
//----------------------------------------------------------------------------
always @(
   posedge clk or negedge rst
) begin
   if (!rst) begin
      Rcv_current_state <= waiting;
      // Reset Values
      rcv_bit_cnt_cld <= 0;
   end
   else begin
      Rcv_current_state <= Rcv_next_state;
      // pragma synthesis_off
      $hdsClock(0);
      // pragma synthesis_on
      // Default Assignment To Internals
      // Combined Actions for internal signals only
      case (Rcv_current_state)
         waiting: begin
            rcv_bit_cnt_cld <= 0;
            if (~sin) begin
               rcv_bit_cnt_cld <= 0;
            end
         end
         incr_count2: begin
            if (sample && rcv_bit_cnt_cld !== 7) begin
               rcv_bit_cnt_cld <= rcv_bit_cnt_cld + 1;
            end
         end
      endcase

   end
end // Clocked Block

//----------------------------------------------------------------------------
// Clocked Block for machine Xmit
//----------------------------------------------------------------------------
always @(
   posedge clk or negedge rst
) begin
   if (!rst) begin
      Xmit_current_state <= waiting_to_xmit;
      // Reset Values
      enable_xmit_clk_cld <= 0;
      sout_cld <= 1;
      xmitting_cld <= 0;
      xmit_bit_cnt <= 0;
   end
   else begin
      Xmit_current_state <= Xmit_next_state;
      // Default Assignment To Internals
      sout_cld <= 1;
      // Combined Actions for internal signals only
      case (Xmit_current_state)
         waiting_to_xmit: begin
            xmit_bit_cnt <= 0;
         end
         send_start: begin
            sout_cld <= 0;
            enable_xmit_clk_cld <= 1;
            xmitting_cld <= 1;
         end
         send_data: begin
            sout_cld <= xmitdt[xmit_bit_cnt];
            if (~sample) begin
               xmit_bit_cnt <= xmit_bit_cnt + 1;
            end
         end
         incr_count: begin
            sout_cld <= xmitdt[xmit_bit_cnt];
         end
         finish_xmit: begin
            enable_xmit_clk_cld <= 0;
            xmitting_cld <= 0;
         end
      endcase

   end
end // Clocked Block

// Concurrent Statements
// Clocked output assignments
always @(
   enable_xmit_clk_cld or 
   rcv_bit_cnt_cld or 
   sout_cld or 
   xmitting_cld
)
begin
   enable_xmit_clk <= enable_xmit_clk_cld;
   rcv_bit_cnt <= rcv_bit_cnt_cld;
   sout <= sout_cld;
   xmitting <= xmitting_cld;
end

endmodule // xmit_rcv_control

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频第二页| 亚洲色图欧美激情| 亚洲视频一区在线| 免费观看日韩电影| 色久优优欧美色久优优| 欧美成va人片在线观看| 亚洲永久精品大片| 成人黄页毛片网站| 久久久国产精华| 日韩成人免费在线| 在线欧美日韩国产| 国产精品久久精品日日| 国产在线看一区| 欧美日韩国产经典色站一区二区三区| 久久精品欧美一区二区三区麻豆| 日韩电影在线一区二区| 在线观看一区二区精品视频| 日本一区二区在线不卡| 精品亚洲欧美一区| 欧美一区日韩一区| 午夜亚洲国产au精品一区二区| 不卡的av在线播放| 国产精品久久看| 粉嫩av一区二区三区粉嫩| 欧美白人最猛性xxxxx69交| 天堂av在线一区| 欧美日韩国产不卡| 亚洲福利国产精品| 欧美体内she精高潮| 一区二区欧美在线观看| 色88888久久久久久影院野外| 中文字幕中文字幕一区二区| 国产成人精品亚洲午夜麻豆| 久久综合一区二区| 国产精品自拍av| 欧美国产97人人爽人人喊| 国产91露脸合集magnet| 国产欧美一区二区精品性色超碰| 国产一区二区三区在线看麻豆| 欧美va亚洲va香蕉在线| 国产一区二区看久久| 久久影视一区二区| 国产91精品入口| 亚洲天天做日日做天天谢日日欢| 91网站视频在线观看| 怡红院av一区二区三区| 欧美性大战久久久| 久久精品国产99久久6| 精品久久人人做人人爰| 国产黄色成人av| 亚洲视频免费看| 欧美日韩一区二区在线观看| 日本中文字幕一区| 欧美激情在线一区二区三区| 91网站最新地址| 日韩不卡一区二区| 国产午夜精品美女毛片视频| 99热在这里有精品免费| 亚洲一区在线观看视频| 欧美一区二区三区免费视频| 国产精品一区二区不卡| 亚洲精品久久7777| 日韩免费视频一区二区| 成人成人成人在线视频| 亚洲成人高清在线| 国产欧美日韩在线| 欧美三级三级三级爽爽爽| 黑人巨大精品欧美一区| 日韩伦理电影网| 日韩欧美不卡一区| 色呦呦国产精品| 激情综合色播五月| 亚洲激情第一区| 亚洲精品一区二区三区在线观看| 91麻豆精品一区二区三区| 美女视频黄a大片欧美| 亚洲美女淫视频| 久久蜜桃av一区二区天堂| 欧美日韩色一区| 国产精品18久久久| 视频一区视频二区中文| 国产精品护士白丝一区av| 日韩欧美高清在线| 欧美色精品天天在线观看视频| 国产成人精品影视| 老鸭窝一区二区久久精品| 亚洲欧美成人一区二区三区| 久久毛片高清国产| 欧美精品免费视频| 色综合视频一区二区三区高清| 极品少妇xxxx偷拍精品少妇| 亚洲电影中文字幕在线观看| 国产精品动漫网站| 久久久久国产精品厨房| 日韩一区二区免费在线电影| 在线观看亚洲精品| 91免费精品国自产拍在线不卡 | 成人av综合一区| 日本aⅴ亚洲精品中文乱码| 亚洲免费看黄网站| 中文字幕五月欧美| 国产日本欧洲亚洲| 国产午夜亚洲精品不卡| 2014亚洲片线观看视频免费| 日韩免费视频线观看| 7777精品伊人久久久大香线蕉完整版| av午夜一区麻豆| 99精品桃花视频在线观看| 丁香激情综合国产| 国产91精品精华液一区二区三区| 激情五月激情综合网| 久久99蜜桃精品| 极品尤物av久久免费看| 久久91精品久久久久久秒播| 男女男精品网站| 久久精品99久久久| 精品一区二区日韩| 国产精品综合视频| 成人中文字幕合集| 成人久久久精品乱码一区二区三区| 国产成人在线色| 成人免费高清在线| 91免费版在线| 欧美少妇bbb| 在线电影院国产精品| 日韩一卡二卡三卡国产欧美| 欧美刺激午夜性久久久久久久| 91精品国产福利| 国产精品午夜电影| 中文一区在线播放| 亚洲黄色av一区| 日韩制服丝袜先锋影音| 免费成人你懂的| 国产成人精品免费网站| 99综合电影在线视频| 日本久久精品电影| 欧美一卡二卡在线观看| 久久婷婷成人综合色| 亚洲视频综合在线| 视频一区中文字幕国产| 国产传媒欧美日韩成人| 91麻豆精东视频| 日韩一区二区免费在线观看| 日本一区二区不卡视频| 一区二区三区成人在线视频| 久久成人羞羞网站| 成人毛片视频在线观看| 欧美中文字幕一区二区三区| 精品免费一区二区三区| 国产精品卡一卡二卡三| 日日夜夜精品视频天天综合网| 激情国产一区二区| 91黄色免费网站| 久久天堂av综合合色蜜桃网| 亚洲九九爱视频| 精品一区二区三区的国产在线播放| 丁香六月综合激情| 欧美一区二区三区系列电影| 国产精品色在线| 蜜臀av一区二区| 91免费在线视频观看| 久久免费美女视频| 亚洲成人av一区二区| 成人免费毛片片v| 日韩一级大片在线观看| 亚洲手机成人高清视频| 国产一区激情在线| 3d成人h动漫网站入口| 亚洲精品国产a| 床上的激情91.| 亚洲精品在线电影| 日韩精品乱码免费| 91成人免费在线视频| 国产精品国产三级国产有无不卡 | 久久精品国产成人一区二区三区| av电影天堂一区二区在线| 精品久久久影院| 日韩成人免费电影| 欧美久久免费观看| 一区二区三区产品免费精品久久75| 国产精品白丝jk白祙喷水网站| 欧美疯狂性受xxxxx喷水图片| 最近日韩中文字幕| 成人午夜电影小说| 久久精品人人做人人爽人人| 狠狠色丁香久久婷婷综合丁香| 欧美人狂配大交3d怪物一区| 伊人色综合久久天天| 成人成人成人在线视频| 日韩精品亚洲一区二区三区免费| 99久久久久久99| 亚洲欧洲国产日韩| av在线不卡观看免费观看| 中文在线一区二区| 成人亚洲一区二区一| 国产欧美日韩中文久久| 国产成人aaa| 国产精品久久看| 91麻豆免费看| 亚洲小说春色综合另类电影|