asi933_interface.v

来自「在公司做的一个用FPGA实现的数字电视系统中 ASI转TS流的程序」· Verilog 代码 · 共 62 行

V
62
字号

module asi_in (rst,
               asi_clk, 
			asi_in, 
			sc_d, 
			rdy_n, 
			rvs, 

			asi_data, 
			asi_dv		//1 is valid data
			);

   input rst; 
   input asi_clk; 
   input[7:0] asi_in; 
   input sc_d; 
   input rdy_n; 
   input rvs; 
  
   output[7:0] asi_data; 
   reg[7:0] asi_data;
   output asi_dv; 
   reg asi_dv;

   reg[7:0] asi_in_reg; 
   reg rdy_n_reg; 
   reg sc_d_reg; 
   reg rvs_reg; 

   always @(posedge asi_clk or negedge rst)
   begin
      if (~rst)
	   begin
	    asi_in_reg <= 8'h00 ; 
         rdy_n_reg <= 1'b1 ; 
         sc_d_reg <= 1'b1  ; 
         rvs_reg <= 1'b1;
	   end
	 else
      begin
         asi_in_reg <= asi_in ; 
         rdy_n_reg <= rdy_n ; 
         sc_d_reg <= sc_d ; 
         rvs_reg <= rvs ; 
      end 
   end 

   always @(posedge asi_clk or negedge rst)
   begin
      if(~rst)
	     begin
	     asi_data<=8'h00;
		  asi_dv  <=1'b0;
		end
	 else 
      begin
         asi_data <= asi_in_reg ; 
         asi_dv <= (~rdy_n_reg) & (~sc_d_reg) ; 
      end 
   end 
endmodule

⌨️ 快捷键说明

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