-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathideas.html
More file actions
166 lines (159 loc) · 11 KB
/
ideas.html
File metadata and controls
166 lines (159 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<html>
<head>
<title>GSoC 2014 Ideas Page</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta property="og:url" content="http://binpy.github.io/" />
<meta property="og:type" content="website" />
<meta property="og:title" content="BinPy GSoC 2014" />
<meta property="og:image" content="http://binpy.github.io/images/img2.png" />
<meta property="og:description" content="Ideas page for Google Summer of Code 2014" />
<meta name="keywords" content="binpy,binpy-soc,hardware in python">
<link href='//fonts.googleapis.com/css?family=Alegreya+Sans:400' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Alegreya+Sans+SC:400,700' rel='stylesheet' type='text/css'>
<link href='//fonts.googleapis.com/css?family=Open+Sans:400' rel='stylesheet' type='text/css'>
<link href="http://fonts.googleapis.com/css?family=Cuprum:400,700" rel="stylesheet" type="text/css">
<link href="css/ideas.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="head">
<a class="greenbutton" href="http://binpy.github.io">Home</a>
<a target="_blank" class="greenbutton" href="http://pythonhosted.org/BinPy/">Documentation</a>
<a target="_blank" class="greenbutton" href="https://github.com/BinPy/BinPy/">Source</a>
<h1>BinPy</h1>
</div>
<div class="headline">
<h1><span style="color:#3369E8;">Google</span> <span style="color:#D50F25;">Summer</span> <span style="color:#EEB211;">of</span> <span style="color:#009925;">Code</span> 2014 <span style="color:#D50F25;">Ideas</span></h1>
</div>
<br>
<a id="howtouse" class="greenbutton" target="_blank" href="http://binpy.github.io/BinPy/">How to use BinPy</a>
<div id="introduction">
<h1>Introduction</h1>
<p>It is a library which will serve as a base to develop circuit based applications and educational software on top of it. BinPy is a clear representation of fundamentals. Everything has been written from scratch such as gates, logical operations, etc. This package does not depend on any external library other than pure Python.<br/>We want to extend the hardware programming concepts to Python. We are looking for extremely motivated developers who are willing to break amazing things.</p>
<p>We look forward to add more and more features to this project which simplifies user experience in the world of hardware designing and simulation.</p>
</div>
<div id="getting started">
<h1>Getting Started</h1>
<p>We use GitHub for project management and collaborations.<br/>
Setting up development environment for BinPy is pretty easy. You just need to have Python installed on your computer.<br/><br/>
<strong>Install using pip</strong><br/><br/>
sudo apt-get install pip setuptools ipython<br/>
sudo pip install https://github.com/BinPy/BinPy/zipball/master<br/><br/>
<strong>Install using git</strong><br/><br/>
sudo apt-get install git setuptools ipython<br/>
git clone https://github.com/BinPy/BinPy.git<br/>
cd BinPy/<br/>
sudo python setup.py install<br/><br/>
That's all! Start contributing!<br/><br/>
<span style="color:#1abc9c;">For further queries mail us at <a href="mailto:binpylib@gmail.com">binpylib@gmail.com</a> or join our Google group(<a href="https://groups.google.com/forum/#!forum/binpy">binpy@googlegroups.com</a>)</span>
</p>
<h3>Example</h3>
<img src="images/example.png" style="margin-left:3%;"/>
</div>
<br/><br/>
<h1>Project Ideas</h1>
<div id="idea-1">
<h2>1. Extending Core Libraries and Classes</h2>
<p>
<strong>Description : </strong> The scope of algorithms and gates used in hardware design are numerous.
Some basic work has been done and important gates, ICs and algorithms have been implemented but we would like
to further expand our libraries to various other aspects of digital electronics. Visit our homepage
<a target="_blank" href="http://binpy.github.io">BinPy</a> to view some of the work already done.<br/><br/>
For instance, you can develop more integrated circuit libraries as the no of ICs are numerous, also you can develop
on vaious algorithms used in hardware design to reduce the circuit size so that user can directly develop
on that without having to reduce the size of circuit himself. You can see our IC classes and algorithms
for example.<br/><br/>
Addition of following features will increase the use cases of the project.
<ul>
<li>Introduction of problem solving algorithms</li>
<li>Addition of Microprocessors and Analog Devices</li>
<li>Generation of Verilog code from design</li>
</ul>
<br/>
</p>
<p>
<strong>Difficulty : </strong>Medium<br/>
<strong>Requirements : </strong>Experience in Python and hardware design<br/>
<strong> Contacts: </strong><a href="mailto:aag999in@gmail.com">Abhinav Gupta</a> and <a href="mailto:jayrambhia777@gmail.com">Jay Rambhia</a></a>
</p>
</div>
<br>
<div id="idea-2">
<h2>2. Circuit Design Software</h2>
<p>
<strong>Description : </strong> Creating a GUI using Python and Qt where you can directly drag and drop elemets like wires , gates, ICs, etc and connect them to our Python code. This will reduce the amount of programming to be done by the user by a huge margin so that even amature programmers and even the hardware designers can start off easily.<br/>
There's a free and open source software called <a href="http://www.kicad-pcb.org/" target="_blank" >KiCad</a> which is very useful in designing PCBs. But it doesn't have feature to simulate the design. We want to start with a simple circuit designing software which should also be capable of realtime simulation.<br/>
Ultimate goal of this software is to generate Verilog HDL code from the design itself.<br/><br/>
Here are few type of simulations you can work on:
<ul>
<li>Transistor simulation – low-level transistor-simulation of a schematic/layout's behavior, accurate at device-level.</li>
<li>Logic simulation – digital-simulation of an RTL or gate-netlist's digital (boolean 0/1) behavior, accurate at boolean-level.</li>
<li>Behavioral Simulation – high-level simulation of a design's architectural operation, accurate at cycle-level or interface-level.</li>
<li>Hardware emulation – Use of special purpose hardware to emulate the logic of a proposed design. Can sometimes be plugged into a system in place of a yet-to-be-built chip; this is called in-circuit emulation.
Technology CAD simulate and analyze the underlying process technology. Electrical properties of devices are derived directly from device physics.</li>
<li>Electromagnetic field solvers, or just field solvers, solve Maxwell's equations directly for cases of interest in IC and PCB design. They are known for being slower but more accurate than the layout extraction above.</li>
</ul>
<br/>
</p>
<p>
<strong>Difficulty : </strong>Hard<br/>
<strong>Requirements : </strong>Experience in Qt and Python<br/>
<strong> Contacts: </strong><a href="mailto:foohimanshu@gmail.com">Himanshu Singh</a> and <a href="mailto:subodhkolhe31@gmail.com">Subodh Kohle</a>
</p>
<img src="images/img1.jpg" style="width:80%;margin-left:10%;border:4px solid black;" />
</div>
<br>
<div id="idea-3">
<h2>3. Development of Interactive Educational Software</h2>
<p>
<strong>Description : </strong> While creating BinPy, it was always kept in mind to make it as descriptive as possible. Since all the components have been made from scratch, developing an educational software to teach people electronics is a very good idea.<br/><br/>
Following features can be implemented in the software:
<ul>
<li>Demonstration of things like working of gates, flip flops, counters and many other components will enrich people's understanding of electronics. Above all it will be more effective if they do it on their own.</li>
<li>The user interface should be clean and simple just like a bread board where users put components and connect them with ease.</li>
<li>Current flow should be visible at intermediate stages.</li>
<li>Clock speed should be user controllable.</li>
</ul>
<br/>
</p>
<p>
<strong>Difficulty : </strong>Medium<br/>
<strong>Requirements : </strong>Experience in Qt and Python<br/>
<strong> Contacts: </strong><a href="mailto:subodhkolhe31@gmail.com">Subodh Kohle</a> and <a href="mailto:jayrambhia777@gmail.com">Jay Rambhia</a>
</p>
</div>
<div id="idea-4">
<h2>4. Documentation, Examples and Tutorials</h2>
<p>
<strong>Description : </strong> BinPy is a great tool for hardware designers and novice programmers who want to design various complicated circuits. It reduces the work effort required in other simulation tools present right now by many folds. It is a great way to bring hardware to masses through python. But this BinPy API lacks a good tutorial section. So most of the time, people find it difficult to start their projects with BinPy. We would like someone to study BinPy API properly and make a proper tutorial and documentation for BinPy.<br/><br/>
<strong>Difficulty : </strong>Easy<br/>
<strong>Requirements : </strong>Experience in Python<br/>
<strong> Contacts: </strong><a href="mailto:kamathanant@gmail.com">Anant Kamath</a>
</p>
</div>
<br>
<br>
<div><p style="font-size:120%">These ideas are just for reference but we would like developers to come up with their own ideas on various algorithms and circuits that are being used in harware design so that user can start developing on top of these.</p></div>
<div class="footer">
<div style="padding-right:10px;float:right;margin-top:5px;font-size:20px;font-weight:bold;"><a target="_blank" href="mailto:binpylib@gmail.com">E-Mail</a> <a target="_blank" href="https://webchat.freenode.net/?channels=binpy-soc">IRC</a></div>
<p style="margin-top:40px;">© Copyright 2014 Binpy Developers</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="business" value="mrsud94@gmail.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="Binpy">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_SM.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
<div class="nav" style="text-align:center;">
<a href="resources/LICENSE.txt">License</a>
<a href="https://www.ohloh.net/p/BinPy">Ohloh</a>
<a id="pypi" href="https://pypi.python.org/pypi/BinPy">PyPi</a>
</div>
</div>
</br>
</div>
</body>
</html>