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

Subversion Repositories board

[/] [board/] [web_uploads/] [board.shtml] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 root
<!--# include virtual="/ssi/ssi_start.shtml" -->
2
 
3
 
4
<p><font size=+2 face="Helvetica, Arial" color=#bf0000><b>Open Design Prototype Board</font></b>
5
 
6
<p>    <i><blink>The site is under construction</blink></i>
7
 
8
<h2>Introduction</h2>
9
    All electronics designers, students and researchers are always trying to test their ideas and check its performance before punishing it. Several kinds of test prototype boards are used for this purpose. Usually these boards are either very expensive and has either more or less features than what the designer need. For this reason the idea of designing a simple and open design board is going to be available for anyone for almost nothing and he/she can customize it for his/her specific needs. The design of this board is intended to be an open design and to use free and open design tools in order to make it available to large number of designers around the world.
10
 
11
<!-- Group of links -->
12
<H3>Objective</H3>
13
    This project is intended to:
14
 
15
<UL TYPE="DISC">
16
      <LI>To prove the open hardware design concept.
17
      <LI>To make a simple and easy platform for testing small digital cores.
18
      <LI>To Implement, test and define free based tool design flow.
19
      <LI>To build simple generic prototype board for digital designs
20
 
21
</UL>
22
<HR ALIGN="Center" SIZE="3">
23
 
24
<!-- Start new group here -->
25
 
26
<!-- Group of links -->
27
<H3>Design License</H3>
28
 
29
    This project is going to be a free hardware design. It uses GNU license style for hardware. As a result this project is going to use the <a href="/OIPC/">OpenIPCore</a> license. You can check the draft copy of this license at <a href="/OIPC/lic.shtml">OpenIPCore License page</a>
30
 
31
<HR ALIGN="Center" SIZE="3">
32
 
33
<!-- Start new group here -->
34
 
35
 
36
<!-- Group of links -->
37
<H3>Design Flow</H3>
38
 
39
    This project can be divided into two parts. The board design and the cores design.<br>
40
Of course, anyone can use the commercial tools to design and implement this project, but my objective is to build it using only free tools "GNU and non-GNU". so in this article I'll describe only the Free "hopefully Open" design flow.
41
<br><br>
42
<b>Board design</b><br>
43
    The <a href="boardflow.jpg">board design flow</a> can be done through four steps:
44
    <ul>
45
      <li>Block Diagram design: This can be drawn either by Xfig or gimp or any other gnu graphic tool</li>
46
      <li>Schematic entry: gschem from gEDA tool is the best schematic design entry tool although it still need some extra features and lot of symbols that anyone can draw by himself</li>
47
      <li>Netlist extraction: Also the gnetlist from gEDA tool can be used to capture the schematic design and extract it into several netlist file format "tango" is one of them. This tool is still under development</li>
48
      <li>Layout design: The gpcb tool from gEDA does not reach a good level of development so it can not be used for now "may be later".  PCB interactive printed circuit board design by Thomas Nau can be used instead.</li>
49
      <li>Board implementation: This is the final step in the design where the designer should work himself to produce his board</li>
50
    </ul>
51
 
52
<b>Cores design</b><br>
53
 
54
    <a href="coreflow.jpg">Design Flow</a><br>
55
    <ul>
56
      <li><b>Design Entry:</b>
57
        <ul>
58
          <li>VHDL or Verilog designs can use emacs or Xemacs VHDL or Verilog modes.</li>
59
          <li>Block diagram to HDL based designs can use VGUI</li>
60
          <li>VHDL state diagrams can use xfig and BRUSE Y20 tool</li>
61
        </ul>
62
</li>
63
      <li><b>Simulation:</b>Simulate it using Savant</li>
64
      <li><b>Synthesis:</b>Synthesis using Alliance or webfitter</li>
65
      <li><b>PPR</b>using Xilinx webfitter</li>
66
      <li><b>Programming</b>Download the JEDC file through the PC parallel port ot the board using Xilinx tools</li>
67
    </ul>
68
 
69
<HR ALIGN="Center" SIZE="3">
70
 
71
<!-- Start new group here -->
72
 
73
<!-- Group of links -->
74
 
75
<b>Testing and Debugging the designn</b><br>
76
One of the most important factors in hardware design is the testing and debugging of the design's physical implementation. Scopes, logic analayzers and DMMs are the most important devices that are used to debug hardware. In our project we are using the free approach, so we have to keep using this approach even in the debugging hardware.<br>
77
    <a href="http://xoscope.bstc.net">Xscope</a> is a PC based open-design scope. The whole design -including documentation, schematics, layout and the software are available from the xscope site.<br>
78
Since the Xscope software is available, DMM can be easly implemented by enhancing the software and adding small circuits to measure the current and the impedance.<br>
79
Logic analayzer can be implemented by the designing a small core for the CPLD and download it to the board itself.
80
 
81
 
82
<HR ALIGN="Center" SIZE="3">
83
 
84
<!-- Start new group here -->
85
 
86
<!-- Group of links -->
87
 
88
<H3>System Description</H3>
89
 
90
    <a href="blockdiagram.jpg">Board block diagram</a><br>
91
The system is composed of 6 main blocs:<br>
92
    <ul>
93
      <li><b>JTAG interface:</b> The JTAG interface is used to program the CPLD on-board. This interface is connected to the JTAG pins on the XC9500 CPLD. From the other side, it is connected to the computer parallel port through a special circuit and a cable. This circuit and cable are documented by Xilinx. The software programmer from xilinx communicates with the CPLD and program it over this cable. This cable is used only during the configuration of the chip. The JTAG circuit is going to be as the <a href="cable.pdf">Xilinx parallel cable</a> and is going to be implemented on board and connected only through wires to the PC parallel port.</li>
94
      <li><b>External Interfaces:</b>The Board has about 64 IO "<i>TBD</i>" pins to the external world. These pins are mapped to two connectors, the standard PC parallel Port connector and the reset of the pins go to another connector. The parallel port interface connector is used to simplify the interface to the PC, yet available to any other applications. Each connector has dedicated reset and clock pins. May be we are going to use some kind of isolation between the system and external devices to increase the protection against ground loops. This may be achieved through  opto-cuploers</li>
95
      <li><b>On board IO pins:</b> The board has also on board IO pins. 10 pins are connected to on-board LEDs and 10 pins are connected to on-board dip switch. The number 10 is chosen because most applications uses 8-bit data and we add 2 extra control pins. These pins share the same IO pins on the external interface through special circuit.For example the on-board display leds are connected<a href="led.jpg"> directly between the I/O pad and the connector</a> and they can be considered as output indicators. While the Dip switches are connected <a href="matrics.gif">through circuit and these are considered as inputs to the system</a></li>
96
      <li><b>Clocks:</b></li>
97
      <li><b>Reset circuit:</b></li>
98
      <li><b>Power supply:</b>The board requires 5 and 3.3v volt regulated power supply. This is going to be achieved by using a 5v DC supply via a power connector. The 3.3v supply is an optional for those designs that need 3.3 IO pins. In this case a <a href="power_led.gif">jumper will be used</a> to switch between 5v and 3.3 v that applied to CPLD pins no. 22 and 64. The maximum current that is going to be consumed is <i>"TBD"</i>. </li>
99
    </ul>
100
 
101
<HR ALIGN="Center" SIZE="3">
102
 
103
<!-- Start new group here -->
104
 
105
<!-- Group of links -->
106
<H3>CPLD Pin assignment</H3>
107
 
108
   <b>Clocks</b>
109
    <ul>
110
      <li>GCK1: goes from the on board oscillator</li>
111
      <li>GCK2: goes from the external board interface</li>
112
      <li>GCK3: goes from the PC parallel port interface</li>
113
    </ul>
114
 
115
<b>IO pins</b>
116
<ul>
117
      <li>17 IO pins go to the PC parallel Port interface, including CLK and Reset signsl</li>
118
      <li>53 IO pins go to the External interface connector, including clk and reset signals</li>
119
      <li>10 IO pins are shared with the External interface connector and connected to 10 LEDs</li>
120
      <li>10 IO pins are shared with the External interface connector and connected to 10 DIP switches</li>
121
</ul>
122
 
123
<b>Global Reset</b>
124
GSR pin is connected to a reset source select circuit. This circuit selects the reset either from the the external interface line, PC parallel port line or on board push button switch.This circuit is a hard wired circuit and can be implemented by jumper select.
125
    Note: the real pin mapping (i.e. pin to pin ) is going to be determined later.
126
<HR ALIGN="Center" SIZE="3">
127
 
128
<!-- Start new group here -->
129
 
130
<!-- Group of links -->
131
<H3>Schematic Design</H3>
132
    TBD<br>
133
    <h5>gschem symbols</h5>
134
    <ul>
135
      <li><a>XC95108-pc84</a>. <a href="XC95108-PC84.sym">Download Symbol</a></li>
136
    </ul>
137
 
138
 
139
<HR ALIGN="Center" SIZE="3">
140
 
141
<!-- Group of links -->
142
<H3>Board Mechanical Design</H3>
143
    TBD
144
 
145
<HR ALIGN="Center" SIZE="3">
146
 
147
<!-- Start new group here -->
148
 
149
<!-- Group of links -->
150
<H3>Layout Design</H3>
151
    TBD
152
 
153
<HR ALIGN="Center" SIZE="3">
154
 
155
<!-- Group of links -->
156
 
157
 
158
<!-- Group of links -->
159
<H3>Bill Of Materials</H3>
160
    <ul>
161
      <li>DB 25 PC Parallel Port connector.</li>
162
      <li>XC95108-PC84 xilinx CPLD</li>
163
      <li>11 LEDs 10 for data and one for power</li>
164
      <li>10 Dip switches</li>
165
      <li> 5 volt power regulator :TBD</li>
166
 
167
    </ul>
168
 
169
 
170
 
171
 
172
<HR ALIGN="Center" SIZE="3">
173
 
174
<!-- Start new group here -->
175
 
176
<!-- Group of links -->
177
<H3>Component selection guide</H3>
178
    <ul>
179
      <li>XC95108-PC84 xilinx CPLD</li>
180
<br>
181
Macro cells     = 108 cells<br>
182
Registers       = 108 register<br>
183
Usable gates    = 2400 gates<br>
184
I/O pins        = 69 pins<br>
185
Total Pins      = 84 pins<br>
186
Package         = PLCC<br>
187
Voltage supply  = 5v<br>
188
Cost            = 13$ <br>
189
 
190
    </ul>
191
 
192
<HR ALIGN="Center" SIZE="3">
193
 
194
<!-- Start new group here -->
195
 
196
<!-- Group of links -->
197
<H3>Contact us:</H3>
198
You can send your comments to:<br>
199
    <ul>
200
      <li><address><a href="mailto:khatib@opeip.org">Jamil Khatib</a></address></li>
201
      <li> <address><a href="mailto:m_tirhi@hotmail.com">Mustafa Tirhi</a></address></li>
202
    </ul>
203
    You can also send your comments to<a href="mailto:openip@egroups.com"> the OpenIP mailint list.</a>
204
 
205
<HR ALIGN="Center" SIZE="3">
206
 
207
<!-- Start new group here -->
208
<!-- Group of links -->
209
<H3>References tools and  links</H3>
210
    <ul>
211
      <li>Xfig Home page</li>
212
      <li><a href="http://www.geda.seul.org">gEDA tools home page</a></li>
213
      <li><a href="http://bach.ece.jhu.edu/~haceaton/pcb/">PCB interactive printed circuit board design home page</a> </li>
214
      <li><a href="http://www.xilinx.com">Xilinx Home page</a></li>
215
      <li><a href="http://www.xilinx.com/Xpresso">Xilinx Xpresso tools Home page</a></li>
216
      <li><a href="9500.pdf" title="XC9500 datasheet">XC9500 data sheet</a></li>
217
      <li><a href="http://www.xemacs.org">Xemacs Home page</a></li>
218
      <li><a href="http://www.freehdl.seul.org">FreeHDL Home page</a></li>
219
      <li>Alliance Home page</li>
220
      <li><a href="http://www.atl.external.lmco.com/rassp/vgui">VGUI block to hdl converter home page</a></li>
221
      <li><a href="http://www.servtech.com/~tcmay">brusey20 state machine to VHDL converter home page</a></li>
222
      <li><a href="http://www.ece.uc.edu/~paw/savant">Savant VHDL simulator Home Page</a></li>
223
      <li><a href="http://xoscope.bstc.net/">Xscope home page</a></li>
224
    </ul>
225
 
226
 
227
<!--# include virtual="/ssi/ssi_end.shtml" -->

powered by: WebSVN 2.1.0

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