⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 control.v

📁 设计一个可编程间隔定时器
💻 V
字号:
///////////////////////////////////////////////////////////////////////
//                                                                   //
// File name    : control.v                                          //
// Title        :                                                    //
// Library      : WORK                                               //
//              :                                                    //
// Purpose      : gerenal control order for count                    //
//              :                                                    //
// Created On   : 2007-7-15                                          //
//              :                                                    //
// Comments     :                                                    //
//              :                                                    //
// Assumptions  : none                                               //
// Limitations  : none                                               //
// Known Errors : none                                               //
// Developers   : xl                                                 //
//              :                                                    //
// Notes        :                                                    // 
//                                                                   //
///////////////////////////////////////////////////////////////////////
 
 
module control(
               //input
               state,
               byte_high,
               //output               
               load_counter_low,
               load_counter_high,
               load_over,
               latch_count,
               read_counter_low,
               read_counter_high,
               control_write
               );
  input [2:0] state;               
  
  input byte_high;
  output  load_counter_low,load_counter_high,load_over,latch_count,
       read_counter_low,read_counter_high,control_write;
  reg  load_counter_low,load_counter_high,load_over,latch_count,
       read_counter_low,read_counter_high,control_write;
       
  parameter state_load_counter_low=8'd1;
  parameter state_load_counter_high=8'd2;
  parameter state_write_mode_word=8'd3;
  parameter state_read_counter_latch=8'd4;
  parameter state_read_counter_low=8'd5;
  parameter state_read_counter_high=8'd6;
  parameter disable_3_state=8'd7;
 
 
 always @(state)
    case(state)
    state_load_counter_low:  begin
                               load_counter_low = 1;
                               load_counter_high = 0;
                               if(byte_high)
                                 load_over = 0;
                               else
                                 load_over = 1; 
                               latch_count = 0;
                               read_counter_low = 0;
                               read_counter_high = 0;
                               control_write = 0;  
                             end
    state_load_counter_high: begin
                               load_counter_low = 0;
                               load_counter_high = 1;
                               load_over = 1;
                               latch_count = 0;
                               read_counter_low = 0;
                               read_counter_high = 0;
                               control_write = 0;                                
                             end
    state_write_mode_word:   begin
                               load_counter_low = 0;
                               load_counter_high = 0;
                               load_over = 0;
                               latch_count = 0;
                               read_counter_low = 0;
                               read_counter_high = 0;
                               control_write = 1;
                             end
    state_read_counter_latch:begin
                               load_counter_low = 0;
                               load_counter_high = 0;
                               load_over = 0;
                               latch_count = 1;
                               read_counter_low = 0;
                               read_counter_high = 0;
                               control_write = 0;                                
                             end
    state_read_counter_low:  begin
                               load_counter_low = 0;
                               load_counter_high = 0;
                               load_over = 0;
                               latch_count = 0;
                               read_counter_low = 1;
                               read_counter_high = 0;
                               control_write = 0; 
                             end 
    state_read_counter_high: begin
                               load_counter_low = 0;
                               load_counter_high = 0;
                               load_over = 0;
                               latch_count = 0;
                               read_counter_low = 0;
                               read_counter_high = 1;
                               control_write = 0;                                
                             end

    default:                 begin
                               load_counter_low = 0;
                               load_counter_high = 0;
                               load_over = 0;
                               latch_count = 0;
                               read_counter_low = 0;
                               read_counter_high = 0;
                               control_write = 0; 
                              end   
  endcase         
 
endmodule                            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -