OpenCores
URL https://opencores.org/ocsvn/sockit_owm/sockit_owm/trunk

Subversion Repositories sockit_owm

[/] [sockit_owm/] [trunk/] [demo/] [Terasic_DE1/] [DE1_soc_nios2.v] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 iztok
//////////////////////////////////////////////////////////////////////////////
2
// Copyright 2010 by Iztok Jeras (based on code by Terasic Technologies Inc.)
3
//////////////////////////////////////////////////////////////////////////////
4
 
5
module DE1_soc_nios2 (
6
// Clock Input
7
input   [1:0] CLOCK_24,     // 24 MHz
8
input   [1:0] CLOCK_27,     // 27 MHz
9
input         CLOCK_50,     // 50 MHz
10
input         EXT_CLOCK,    // External Clock
11
// Push Button
12
input   [3:0] KEY,          // Pushbutton[3:0]
13
// DPDT Switch
14
input   [9:0] SW,           // Toggle Switch[9:0]
15
// 7-SEG Dispaly
16
output  [6:0] HEX0,         // Seven Segment Digit 0
17
output  [6:0] HEX1,         // Seven Segment Digit 1
18
output  [6:0] HEX2,         // Seven Segment Digit 2
19
output  [6:0] HEX3,         // Seven Segment Digit 3
20
// LED
21
output  [7:0] LEDG,         // LED Green[7:0]
22
output  [9:0] LEDR,         // LED Red[9:0]
23
// UART
24
output        UART_TXD,     // UART Transmitter
25
input         UART_RXD,     // UART Receiver
26
// SDRAM Interface
27
output        DRAM_CLK,     // SDRAM Clock
28
output        DRAM_CKE,     // SDRAM Clock Enable
29
output        DRAM_CS_N,    // SDRAM Chip Select
30
output        DRAM_WE_N,    // SDRAM Write Enable
31
output        DRAM_CAS_N,   // SDRAM Column Address Strobe
32
output        DRAM_RAS_N,   // SDRAM Row Address Strobe
33
output  [1:0] DRAM_BA,      // SDRAM Bank Address
34
output [11:0] DRAM_ADDR,    // SDRAM Address bus 12 Bits
35
inout  [15:0] DRAM_DQ,      // SDRAM Data bus 16 Bits
36
output  [1:0] DRAM_DQM,     // SDRAM Byte Data Mask 
37
// Flash Interface
38
output        FL_RST_N,     // FLASH Reset
39
output        FL_CE_N,      // FLASH Chip Enable
40
output        FL_WE_N,      // FLASH Write Enable
41
output        FL_OE_N,      // FLASH Output Enable
42
output [21:0] FL_ADDR,      // FLASH Address bus 22 Bits
43
inout   [7:0] FL_DQ,        // FLASH Data bus 8 Bits
44
// SRAM Interface
45
output        SRAM_CE_N,    // SRAM Chip Enable
46
output        SRAM_WE_N,    // SRAM Write Enable
47
output        SRAM_OE_N,    // SRAM Output Enable
48
output [17:0] SRAM_ADDR,    // SRAM Address bus 18 Bits
49
output  [1:0] SRAM_B_N,     // SRAM Byte Data Mask 
50
inout  [15:0] SRAM_DQ,      // SRAM Data bus 16 Bits
51
// SD_Card Interface
52
inout         SD_DAT,       // SD Card Data
53
inout         SD_DAT3,      // SD Card Data 3
54
inout         SD_CMD,       // SD Card Command Signal
55
output        SD_CLK,       // SD Card Clock
56
// USB JTAG link
57
input         TDI,          // CPLD -> FPGA (data in)
58
input         TCK,          // CPLD -> FPGA (clk)
59
input         TCS,          // CPLD -> FPGA (CS)
60
output        TDO,          // FPGA -> CPLD (data out)
61
// I2C
62
inout         I2C_SDAT,     // I2C Data
63
output        I2C_SCLK,     // I2C Clock
64
// PS2
65
inout         PS2_DAT,      // PS2 Data
66
inout         PS2_CLK,      // PS2 Clock
67
// VGA
68
output        VGA_HS,       // VGA H_SYNC
69
output        VGA_VS,       // VGA V_SYNC
70
output  [3:0] VGA_R,        // VGA Red[3:0]
71
output  [3:0] VGA_G,        // VGA Green[3:0]
72
output  [3:0] VGA_B,        // VGA Blue[3:0]
73
// Audio CODEC
74
inout         AUD_ADCLRCK,  // Audio CODEC ADC LR Clock
75
input         AUD_ADCDAT,   // Audio CODEC ADC Data
76
inout         AUD_DACLRCK,  // Audio CODEC DAC LR Clock
77
output        AUD_DACDAT,   // Audio CODEC DAC Data
78
inout         AUD_BCLK,     // Audio CODEC Bit-Stream Clock
79
output        AUD_XCK,      // Audio CODEC Chip Clock
80
// GPIO
81
inout  [35:0] GPIO_0,       // GPIO Connection 0
82
inout  [35:0] GPIO_1        // GPIO Connection 1
83
);
84
 
85
localparam FRQ = 24000000;  // 24MHz
86
 
87
// system clock and reset
88
wire clk, rst;
89
 
90
// debounced button signals
91
wire [3:0] btn;
92
 
93
// 7 segment display negated signals
94
wire [31:0] seg7;
95
 
96
// 1-wire
97
wire [1:0] owr_p;
98
wire [1:0] owr_e;
99
wire [1:0] owr_i;
100
 
101
// All inout port turn to tri-state
102
assign SD_DAT      = 1'bz;
103
//assign I2C_SDAT    = 1'bz;
104
assign AUD_ADCLRCK = 1'bz;
105
assign AUD_DACLRCK = 1'bz;
106
assign AUD_BCLK    = 1'bz;
107
assign GPIO_0      = 36'hzzzzzzzzz;
108
assign GPIO_1      = 36'hzzzzzzzzz;
109
 
110
// set system clock to 24MHz
111
assign clk = CLOCK_24[0];
112
assign rst = btn[0];
113
 
114
// debouncing of command buttons (buttons are active low)
115
debouncer #(.CN (FRQ/100)) debouncer_i [3:0] (.clk (clk), .d_i (~KEY), .d_o (btn));
116
 
117
// soc_nios RTL instance
118
soc soc_i (
119
  // 1) global signals:
120
  .clk                             (clk),
121
  .reset_n                         (~rst),
122
  // the_epcs_flash
123
  .ds_MISO_from_the_epcs_flash     (),
124
  // the_pio_7seg
125
  .out_port_from_the_pio_7seg      (seg7),
126
  // the_pio_ledg
127
  .out_port_from_the_pio_ledg      (LEDG),
128
  // the_pio_ledr
129
  .out_port_from_the_pio_ledr      (LEDR),
130
  // the_sdram
131
  .zs_cke_from_the_sdram           (DRAM_CKE),
132
  .zs_cs_n_from_the_sdram          (DRAM_CS_N),
133
  .zs_we_n_from_the_sdram          (DRAM_WE_N),
134
  .zs_cas_n_from_the_sdram         (DRAM_CAS_N),
135
  .zs_ras_n_from_the_sdram         (DRAM_RAS_N),
136
  .zs_ba_from_the_sdram            (DRAM_BA),
137
  .zs_addr_from_the_sdram          (DRAM_ADDR),
138
  .zs_dq_to_and_from_the_sdram     (DRAM_DQ),
139
  .zs_dqm_from_the_sdram           (DRAM_DQM),
140
  // the_tri_state_bridge_flash_avalon_slave
141
  .select_n_to_the_cfi_flash       (FL_CE_N),
142
  .write_n_to_the_cfi_flash        (FL_WE_N),
143
  .read_n_to_the_cfi_flash         (FL_OE_N),
144
  .address_to_the_cfi_flash        (FL_ADDR),
145
  .data_to_and_from_the_cfi_flash  (FL_DQ),
146
  // the_uart
147
  .rxd_to_the_uart                 (UART_TXD),
148
  .txd_from_the_uart               (UART_RXD),
149
  // onewire
150
  .owr_p_from_the_onewire          (owr_p),
151
  .owr_e_from_the_onewire          (owr_e),
152
  .owr_i_to_the_onewire            (owr_i)
153
);
154
 
155
// 1-wire
156
assign PS2_DAT = (owr_p [0] | owr_e [0]) ? owr_p [0] : 1'bz;
157
assign PS2_CLK = (owr_p [1] | owr_e [1]) ? owr_p [1] : 1'bz;
158
assign owr_i = {PS2_CLK, PS2_DAT};
159
 
160
// SDRAM Interface
161
assign DRAM_CLK = ~clk;  // SDRAM Clock
162
// Flash Interface
163
assign FL_RST_N = ~rst;  // FLASH Reset
164
 
165
// active low 7 segment outputs
166
assign HEX0 = ~seg7[0*8+:7];
167
assign HEX1 = ~seg7[1*8+:7];
168
assign HEX2 = ~seg7[2*8+:7];
169
assign HEX3 = ~seg7[3*8+:7];
170
 
171
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.