source: rc_os_nios2/DE0_Nano_QSYS_DEMO/canc/hdl/can_register_asyn_syn.v@ 128

Last change on this file since 128 was 128, checked in by ertl-honda, 9 years ago

追加.

File size: 4.6 KB
Line 
1//////////////////////////////////////////////////////////////////////
2//// ////
3//// can_register_asyn_syn.v ////
4//// ////
5//// ////
6//// This file is part of the CAN Protocol Controller ////
7//// http://www.opencores.org/projects/can/ ////
8//// ////
9//// ////
10//// Author(s): ////
11//// Igor Mohor ////
12//// igorm@opencores.org ////
13//// ////
14//// ////
15//// All additional information is available in the README.txt ////
16//// file. ////
17//// ////
18//////////////////////////////////////////////////////////////////////
19//// ////
20//// Copyright (C) 2002, 2003, 2004 Authors ////
21//// ////
22//// This source file may be used and distributed without ////
23//// restriction provided that this copyright statement is not ////
24//// removed from the file and that any derivative work contains ////
25//// the original copyright notice and the associated disclaimer. ////
26//// ////
27//// This source file is free software; you can redistribute it ////
28//// and/or modify it under the terms of the GNU Lesser General ////
29//// Public License as published by the Free Software Foundation; ////
30//// either version 2.1 of the License, or (at your option) any ////
31//// later version. ////
32//// ////
33//// This source is distributed in the hope that it will be ////
34//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
35//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
36//// PURPOSE. See the GNU Lesser General Public License for more ////
37//// details. ////
38//// ////
39//// You should have received a copy of the GNU Lesser General ////
40//// Public License along with this source; if not, download it ////
41//// from http://www.opencores.org/lgpl.shtml ////
42//// ////
43//// The CAN protocol is developed by Robert Bosch GmbH and ////
44//// protected by patents. Anybody who wants to implement this ////
45//// CAN IP core on silicon has to obtain a CAN protocol license ////
46//// from Bosch. ////
47//// ////
48//////////////////////////////////////////////////////////////////////
49//
50// CVS Revision History
51//
52// $Log: can_register_asyn_syn.v,v $
53// Revision 1.7 2004/02/08 14:33:59 mohor
54// Header changed.
55//
56// Revision 1.6 2003/03/20 16:52:43 mohor
57// unix.
58//
59// Revision 1.4 2003/03/11 16:32:34 mohor
60// timescale.v is used for simulation only.
61//
62// Revision 1.3 2003/02/09 02:24:33 mohor
63// Bosch license warning added. Error counters finished. Overload frames
64// still need to be fixed.
65//
66// Revision 1.2 2002/12/27 00:12:52 mohor
67// Header changed, testbench improved to send a frame (crc still missing).
68//
69// Revision 1.1.1.1 2002/12/20 16:39:21 mohor
70// Initial
71//
72//
73//
74
75// synopsys translate_off
76`include "timescale.v"
77// synopsys translate_on
78
79
80module can_register_asyn_syn
81( data_in,
82 data_out,
83 we,
84 clk,
85 rst,
86 rst_sync
87);
88
89parameter WIDTH = 8; // default parameter of the register width
90parameter RESET_VALUE =8'h0;
91
92input [WIDTH-1:0] data_in;
93input we;
94input clk;
95input rst;
96input rst_sync;
97
98output [WIDTH-1:0] data_out;
99reg [WIDTH-1:0] data_out;
100
101
102
103always @ (posedge clk or posedge rst)
104begin
105 if(rst)
106 data_out<=#1 RESET_VALUE;
107 else if (rst_sync) // synchronous reset
108 data_out<=#1 RESET_VALUE;
109 else if (we) // write
110 data_out<=#1 data_in;
111end
112
113
114
115endmodule
Note: See TracBrowser for help on using the repository browser.