mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			651 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			651 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| 
 | |
| // from usb_rx_phy
 | |
| module usb_phy_test01(clk, rst, rx_en, fs_ce);
 | |
| 
 | |
| input		clk, rst;
 | |
| input		rx_en;
 | |
| output reg	fs_ce;
 | |
| reg	[1:0]	dpll_next_state;
 | |
| reg	[1:0]	dpll_state;
 | |
| 
 | |
| always @(posedge clk)
 | |
| 	dpll_state <= rst ? 0 : dpll_next_state;
 | |
| 
 | |
| always @*
 | |
|    begin
 | |
| 	fs_ce = 1'b0;
 | |
| 	case(dpll_state)
 | |
| 	   2'h0:
 | |
| 		if(rx_en)	dpll_next_state = 2'h0;
 | |
| 		else		dpll_next_state = 2'h1;
 | |
| 	   2'h1:begin
 | |
| 		fs_ce = 1'b1;
 | |
| 		if(rx_en)	dpll_next_state = 2'h3;
 | |
| 		else		dpll_next_state = 2'h2;
 | |
| 		end
 | |
| 	   2'h2:
 | |
| 		if(rx_en)	dpll_next_state = 2'h0;
 | |
| 		else		dpll_next_state = 2'h3;
 | |
| 	   2'h3:
 | |
| 		if(rx_en)	dpll_next_state = 2'h0;
 | |
| 		else		dpll_next_state = 2'h0;
 | |
| 	endcase
 | |
|    end
 | |
| 
 | |
| endmodule
 | |
| 
 |