mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	New Verilog examples and Coq examples for additional training have been added since linguist is currently failing Coq/Verilog recognition tasks (see #201). In case it wasn't obvious, linguist will not currently pass these new, added test cases.
		
			
				
	
	
		
			156 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Verilog
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Verilog
		
	
	
		
			Executable File
		
	
	
	
	
| `timescale 1ns / 1ps
 | |
| // Copyright (C) 2008 Schuyler Eldridge, Boston University
 | |
| //
 | |
| // This program is free software: you can redistribute it and/or modify
 | |
| // it under the terms of the GNU General Public License as published by
 | |
| // the Free Software Foundation, either version 3 of the License.
 | |
| //
 | |
| // This program 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 General Public License for more details.
 | |
| //
 | |
| // You should have received a copy of the GNU General Public License
 | |
| // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| module control(clk,en,dsp_sel,an);
 | |
|         input clk, en;
 | |
|         output [1:0]dsp_sel;
 | |
|         output [3:0]an;
 | |
|         wire a,b,c,d,e,f,g,h,i,j,k,l;
 | |
|         
 | |
|         assign an[3] = a;
 | |
|         assign an[2] = b;
 | |
|         assign an[1] = c;
 | |
|         assign an[0] = d;
 | |
|         
 | |
|         assign dsp_sel[1] = e;
 | |
|         
 | |
|         assign dsp_sel[0] = i;
 | |
|         
 | |
|         
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b0) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF3(
 | |
|                 .Q(a), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(d), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF2(
 | |
|                 .Q(b), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(a), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF1(
 | |
|                 .Q(c), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(b), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF0(
 | |
|                 .Q(d), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(c), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 
 | |
|                 
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF7(
 | |
|                 .Q(e), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(h), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF6(
 | |
|                 .Q(f), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(e), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );              
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b0) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF5(
 | |
|                 .Q(g), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(f), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b0) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF4(
 | |
|                 .Q(h), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(g), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 
 | |
|                 
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF11(
 | |
|                 .Q(i), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(l), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b0) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF10(
 | |
|                 .Q(j), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(i), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );              
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b1) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF9(
 | |
|                 .Q(k), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(j), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
|                 FDRSE #(
 | |
|                 .INIT(1'b0) // Initial value of register (1'b0 or 1'b1)
 | |
|                 ) DFF8(
 | |
|                 .Q(l), // Data output
 | |
|                 .C(clk), // Clock input
 | |
|                 .CE(en), // Clock enable input
 | |
|                 .D(k), // Data input
 | |
|                 .R(1'b0), // Synchronous reset input
 | |
|                 .S(1'b0) // Synchronous set input
 | |
|                 );
 | |
| endmodule
 |