<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7826105489414291502</id><updated>2012-02-16T02:09:18.775-08:00</updated><category term='Management'/><category term='Technology'/><title type='text'>Technology and Management</title><subtitle type='html'>The learnings of an Electronics and Communication Engineer in the field of Technology and Management.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-3300461133294661763</id><published>2012-02-13T08:12:00.000-08:00</published><updated>2012-02-13T08:12:45.333-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Success at the sacrifice of Principles</title><content type='html'>Ever since I started the MBA, I have consistently been in a fix over the priority common people set between success and their principles. It seems, in Nepal, most of us are ready to murder our principles even for "free-lunches". So, it is quite common to find people sacrificing principles for their "success". But my question is "  &lt;b&gt;Is the success achieved by sacrificing principles really a success ?&lt;/b&gt;"&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e4WZhobw7T8/Tzk2IdFWWWI/AAAAAAAABMc/9wXCkgATnqs/s1600/Success-Principles.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="346" width="347" src="http://3.bp.blogspot.com/-e4WZhobw7T8/Tzk2IdFWWWI/AAAAAAAABMc/9wXCkgATnqs/s400/Success-Principles.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Let us take a reference. I dream of building a billion dollar company. But, if I start compromising on my principles,... on the business ethics,... on my social responsibility, then even if I achieve the dream, will I be satisfied at my "success"?&lt;br /&gt;&lt;br /&gt;The world today seems to be filled with corruption of minds and souls. Ethics has been removed from dictionary a long time ago. And, the primary goal of people is to get rich rather than make a significant impact in the betterment of the society while earning profits.&lt;br /&gt;&lt;br /&gt;I believe "successful" people do reflect on their actions and achievements. Even if you are envied by your colleagues and the society, what if you doubt your achievement? What if you regret that you could have got whatever you have even by holding your principles? Will your "success" really mean big to you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-3300461133294661763?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/3300461133294661763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2012/02/success-at-sacrifice-of-principles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3300461133294661763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3300461133294661763'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2012/02/success-at-sacrifice-of-principles.html' title='Success at the sacrifice of Principles'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-e4WZhobw7T8/Tzk2IdFWWWI/AAAAAAAABMc/9wXCkgATnqs/s72-c/Success-Principles.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-1861306816757452466</id><published>2011-10-20T07:44:00.001-07:00</published><updated>2011-10-20T07:44:20.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>My Experiences with Truth : Part 1</title><content type='html'>After working for more than 3 years in India in the field of VLSI, I returned to Nepal with high hopes of starting something big. Its not that I had expected my entrepreneurial trip to be a smooth ride, but there were many aspects of the trip that I had never considered, which in fact haunted me during the ride. The journey is on hold at the moment.&lt;br /&gt;&lt;br /&gt;My experiences with Truth is my findings and learning on this journey.&lt;br /&gt;&lt;br /&gt;When I returned to Nepal, I had two paths to walk onto. I could either start something on the internet, like the e-commerce sites or something to do with industrial automation (using robotics) / peripheral electronics products (like printers, scanners, etc).&lt;br /&gt;&lt;br /&gt;Both the paths had their share of goodies and baddies. Doing something on the internet meant I would be stepping into a new territory, but if you view from the investment side, it wasn't going to need a lot of investment. If you look at the electronics product manufacturing venture, it would require lots of investment and more importantly - skilled manpower. But on the flip-side, it would mean that I would be doing something that I have always loved. &lt;br /&gt;&lt;br /&gt;And what did I choose? The easy path (at least at the beginning), i.e. building an e-commerce site.&lt;br /&gt;&lt;br /&gt;Myself and a friend had this wonderful concept of an internet mall, giving spaces to brick-and-mortar shops and let them sell their stuff in the internet. The idea was a rocking one, because it would save the shops from the cost and unnecessary pain of developing individual website and maintaining it. We would charge a simple premium for it.&lt;br /&gt;&lt;br /&gt;We started the project with myself looking at the technical and operational aspects and my friend looking at the marketing aspect. I took the open source e-commerce platform " opencart " and customized it to my needs. The basic site was done in 15 days. Then came the long testing and modifying phase. This was a very painful phase, because every now and then the site used to have problem, and it really sucks to solve it without proper web-site building experience. Anyways, I finished the site after a month and then the marketing started. &lt;br /&gt;&lt;br /&gt;We had lots of issues during the marketing phase. Most of it was due to the unknown market we were targeting. The site was one of its kind in Nepal, so it was not really tested before. All we did was thought of the idea to be amazing and started to work on it. And new things are really resisted by the conventional market. Changes are always difficult. &lt;br /&gt;&lt;br /&gt;After a month, we still had no customers. The shops who had previously shown interest had already built their own e-commerce sites. And some were just not convinced of the benefits of e-presence.&lt;br /&gt;&lt;br /&gt;Three months into the project, our patience was running out. This is where the learning comes. When you starting a venture, you will have a very turbulent time, with lots of ups and downs. If you don't love what you are doing, then this is the time, most business commit suicide. The entrepreneurs just can't take the blow, because at one end they are not getting revenues and at the other end they are not loving what they are doing.&lt;br /&gt;&lt;br /&gt;This is the learning of Part 1 of my journey. If you are to do something new, always do it in the field you know and you love, because there will be tides in your way, and only your love towards what you are doing will give you the courage to be patient and sail through the bad time.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Remember, always do what you love (of course it needs to be profitable on the long run).&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-1861306816757452466?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/1861306816757452466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/my-experiences-with-truth-part-1_20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1861306816757452466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1861306816757452466'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/my-experiences-with-truth-part-1_20.html' title='My Experiences with Truth : Part 1'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-767172987775751479</id><published>2011-10-13T08:01:00.000-07:00</published><updated>2011-10-13T08:02:45.885-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Setting Password on PLANET ADSL Router</title><content type='html'>Goto the router by typing 192.168.1.1 in the browser.&lt;br /&gt;&lt;br /&gt;Then goto &lt;b&gt;Network&lt;/b&gt; -&gt; &lt;b&gt;WLAN&lt;/b&gt; -&gt; &lt;b&gt;Security&lt;/b&gt; as shown in the figure below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9PKHIl7favk/Tpb9jWtv2rI/AAAAAAAAA8c/xntKpgTYaA4/s1600/Untitled.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="206" width="400" src="http://1.bp.blogspot.com/-9PKHIl7favk/Tpb9jWtv2rI/AAAAAAAAA8c/xntKpgTYaA4/s400/Untitled.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then select the Select Encryption as WPA(AES) as shown by circle number 4 in the figure.&lt;br /&gt;&lt;br /&gt;As shown in circle 5, set the desired password and save the settings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-767172987775751479?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/767172987775751479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/setting-password-on-planet-adsl-router.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/767172987775751479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/767172987775751479'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/setting-password-on-planet-adsl-router.html' title='Setting Password on PLANET ADSL Router'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-9PKHIl7favk/Tpb9jWtv2rI/AAAAAAAAA8c/xntKpgTYaA4/s72-c/Untitled.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4839544021028717624</id><published>2011-10-10T21:23:00.000-07:00</published><updated>2011-10-10T21:23:57.627-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Connecting Plastic coated Wires</title><content type='html'>When connecting wires which are coated with plastic like in case of audio output wires and telephone cables, you need to get rid of the plastic coating at the ends so as to connect them in a conducting manner.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5VtfOeRwGKU/TpPEpnLbyPI/AAAAAAAAA8A/6wcWPMjaQeE/s1600/wirespool.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="324" width="400" src="http://3.bp.blogspot.com/-5VtfOeRwGKU/TpPEpnLbyPI/AAAAAAAAA8A/6wcWPMjaQeE/s400/wirespool.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For this, take the ends and use fire or a blade to remove the plastic coating. Then only connect the wires. &lt;br /&gt;&lt;br /&gt;This may seem a trivial thing to many but I found out that non-technical people mostly connect the wires with the plastic coating on and they burn their head trying to figure out why it didn't work.&lt;br /&gt;&lt;br /&gt;Also, it was found that in some cases, instead of plastic, paint was used. Paint acts as insulator as well as a color coder for the wire.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4839544021028717624?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4839544021028717624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/connecting-plastic-coated-wires.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4839544021028717624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4839544021028717624'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/connecting-plastic-coated-wires.html' title='Connecting Plastic coated Wires'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5VtfOeRwGKU/TpPEpnLbyPI/AAAAAAAAA8A/6wcWPMjaQeE/s72-c/wirespool.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4048126854795835560</id><published>2011-10-10T20:33:00.000-07:00</published><updated>2011-10-10T20:33:10.415-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Servo Motor Problem : Clean up the shaft</title><content type='html'>The servo motor in my house, which is used to pump water stopped working last night. It was giving a small humming noise and was actually eating up power ( I switched on the light and the power of light went down when I switched on the motor). But, water was not being pumped. And also absent was the big sound it creates when pumping water.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jqCeSwguNAM/TpO3QW56iOI/AAAAAAAAA7g/tYUjc8CoftM/s1600/electric-motor-water-pump-826243.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="264" width="284" src="http://1.bp.blogspot.com/-jqCeSwguNAM/TpO3QW56iOI/AAAAAAAAA7g/tYUjc8CoftM/s400/electric-motor-water-pump-826243.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;First, I checked the wire connections to see if there was any discontinuity. But that was fine.&lt;br /&gt;&lt;br /&gt;Then I opened up the back end of the motor, where the fan is situated. Refer to the highlighted screws in the image below to open up the back-end. I opened the back part, and cleaned up the shaft that holds the fan. Due to the accumulation of dust and mostly hair in the shaft, the rotor was not movable during normal operation. Only, after cleaning the shaft did the rotor work properly. After cleaning the shaft and manually rotating the shaft for few rotations, I put the back-end back to the motor.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-i3SrTIE8dgs/TpO4v_glpeI/AAAAAAAAA7w/Mm-2NJuy2To/s1600/electric-motor-water-pump-826243.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="264" width="284" src="http://2.bp.blogspot.com/-i3SrTIE8dgs/TpO4v_glpeI/AAAAAAAAA7w/Mm-2NJuy2To/s400/electric-motor-water-pump-826243.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Hurrah ! I had the motor working again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4048126854795835560?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4048126854795835560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/servo-motor-problem-clean-up-shaft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4048126854795835560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4048126854795835560'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/10/servo-motor-problem-clean-up-shaft.html' title='Servo Motor Problem : Clean up the shaft'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jqCeSwguNAM/TpO3QW56iOI/AAAAAAAAA7g/tYUjc8CoftM/s72-c/electric-motor-water-pump-826243.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-6952712732552627718</id><published>2011-09-28T08:20:00.000-07:00</published><updated>2011-09-28T08:22:22.124-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Generating Android app for a website</title><content type='html'>If you want to generate an Android app for the website you just designed, all you need to do is go to a website :- &lt;a href="http://appsgeyser.com"&gt;Appsgeyser&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The website simply generates an Android application short-cut for your website. You will have an icon of your choice(select a proper image file) in the Android app list and this will act as your short cut to the website while browsing from Android.&lt;br /&gt;&lt;br /&gt;I generated my Android App for the website &lt;a href="http://977mall.com"&gt;977 Mall&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;PS :- The output App from the appsgeyser site is a APK file. You will be required to enable the settings for install from third party in the Android machine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-6952712732552627718?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/6952712732552627718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/09/using-web-site-to-generate-app-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/6952712732552627718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/6952712732552627718'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/09/using-web-site-to-generate-app-for.html' title='Generating Android app for a website'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8678160558685274527</id><published>2011-09-13T08:48:00.000-07:00</published><updated>2011-09-13T08:48:54.796-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Light in a bottle - Recreation</title><content type='html'>After watching the video on &lt;a href="http://www.youtube.com/watch?v=JOl4vwhwkW8&amp;feature=player_embedded#!"&gt; Light in a bottle by Isang Litrong Liwanag Foundation &lt;/a&gt;, we tried to recreate this.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements :-&lt;/b&gt;&lt;br /&gt;1) A clean transparent bottle.&lt;br /&gt;2) Pure drinking water.&lt;br /&gt;3) Bleaching powder.&lt;br /&gt;4) Dark room environment.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps :-&lt;/b&gt;&lt;br /&gt;1) Put the water and bleach powder into the bottle. Stir it well and then seal the lid.&lt;br /&gt;2) Put the bottle in a dark room environment, with upper half above the environment and the lower half in the environment.&lt;br /&gt;3) Expose the upper half of the bottle to the sunlight.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Results :-&lt;/b&gt;&lt;br /&gt;1) The fluorescent light generated was awesome. &lt;a href="http://www.youtube.com/watch?v=d1IMqC6eo_c"&gt; Check the link &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;* Notes :- Need to find out the duration for which the bottle continues to glow without adding further bleach powder.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8678160558685274527?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8678160558685274527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/09/light-in-bottle-recreation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8678160558685274527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8678160558685274527'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/09/light-in-bottle-recreation.html' title='Light in a bottle - Recreation'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-2114222016270950520</id><published>2011-07-31T03:20:00.000-07:00</published><updated>2011-07-31T06:30:04.525-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Finite State Machine Compiler and Explorer in HDL</title><content type='html'>When compiling the HDL code, FSM Compiler and FSM Explorer come into picture. These tools hugely optimize the resource used by the logic in terms of space and timing.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FSM Compiler&lt;/b&gt; :-&lt;br /&gt;&lt;b&gt;-&gt;&lt;/b&gt; It automatically detects state machines in the source code.&lt;br /&gt;&lt;b&gt;-&gt;&lt;/b&gt; Implements the state encoding depending on the number of states present in the state machine, i.e.   &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a) 0-4 states  :- Sequential encoding.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b) 5-24 states :- One hot encoding.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;c) &gt;24 states  :- Gray encoding.&lt;br /&gt;&lt;b&gt;-&gt;&lt;/b&gt; Performs reachability analysis, i.e.    &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a) optimize away all state that can't be reached.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b) optimize all transition logic that can't be reached.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FSM Explorer&lt;/b&gt; :- &lt;br /&gt;&lt;b&gt;-&gt;&lt;/b&gt; Uses Finite State Machines extracted by the FSM Compiler.&lt;br /&gt;&lt;b&gt;-&gt;&lt;/b&gt; Runs through each encoding style as discussed in the FSM Compiler segment. And this tool will select the best (&lt;i&gt;most performant&lt;/i&gt;) implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-2114222016270950520?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/2114222016270950520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/hdl-compilation-finite-state-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2114222016270950520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2114222016270950520'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/hdl-compilation-finite-state-machine.html' title='Finite State Machine Compiler and Explorer in HDL'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-5097150655113254755</id><published>2011-07-31T03:04:00.000-07:00</published><updated>2011-07-31T03:04:27.571-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Nepal Telecom ADSL settings for PLANET router</title><content type='html'>The steps to follow are:-&lt;br /&gt;&lt;br /&gt;1) Connect the computer to the router via a point to point connector.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-oQgvm8ubwa4/TjUie5kFiFI/AAAAAAAAAvQ/XJjuedJo0h0/s1600/IMG_20110731_150707.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="400" width="300" src="http://4.bp.blogspot.com/-oQgvm8ubwa4/TjUie5kFiFI/AAAAAAAAAvQ/XJjuedJo0h0/s400/IMG_20110731_150707.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;                      &lt;u&gt; Point to Point connector &lt;/u&gt;&lt;br /&gt;&lt;br /&gt;2) Setup the wired lan connection with the router.&lt;br /&gt;&lt;br /&gt;3) Access the router. &lt;br /&gt;    Do this by opening any internet browser, i.e. Goolge Chrome or Internet Explorer, or Mozilla Firefox, etc. and type in &lt;b&gt;http://192.168.1.1&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;4) In the &lt;b&gt;Network&lt;/b&gt; Section, click on &lt;b&gt;WAN&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;5) Fill the fields with values as shown in the following pic. :&lt;br /&gt;    In the username and password (shown by the green ellipses) fill in the details as provided by the Nepal Telecom.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-qdAOzi9KlYE/TjUnT32tJwI/AAAAAAAAAvc/O3LfM_Gip0U/s1600/routersettings.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="225" width="400" src="http://4.bp.blogspot.com/-qdAOzi9KlYE/TjUnT32tJwI/AAAAAAAAAvc/O3LfM_Gip0U/s400/routersettings.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;6) Click on the Save button given at the end of the page.&lt;br /&gt;&lt;br /&gt;7) Then goto &lt;b&gt;Admin&lt;/b&gt; section and click on &lt;b&gt;commit/reboot&lt;/b&gt;. Click on &lt;b&gt;Reboot&lt;/b&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-n6zfNM7aINA/TjUoa7uWtFI/AAAAAAAAAvo/iDuV1U8wOSQ/s1600/Untitled.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="225" width="400" src="http://1.bp.blogspot.com/-n6zfNM7aINA/TjUoa7uWtFI/AAAAAAAAAvo/iDuV1U8wOSQ/s400/Untitled.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The system will go for a reboot. When the router comes up, you will be able to access the internet. Yippie ! ! !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-5097150655113254755?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/5097150655113254755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/nepal-telecom-adsl-settings-for-planet.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5097150655113254755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5097150655113254755'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/nepal-telecom-adsl-settings-for-planet.html' title='Nepal Telecom ADSL settings for PLANET router'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-oQgvm8ubwa4/TjUie5kFiFI/AAAAAAAAAvQ/XJjuedJo0h0/s72-c/IMG_20110731_150707.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-25240782122145873</id><published>2011-07-31T02:28:00.000-07:00</published><updated>2011-07-31T02:29:51.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Motor control via parallel ports of a PC : A failed project</title><content type='html'>It was the summer of 2007, when a friend came with a proposal. A proposal to build a control system to control the movement of an object along a fixed straight line. The object had to be moved to a certain distance from the initial location along a straight line.&lt;br /&gt;&lt;br /&gt;I took up the project and used a simple motor control logic to build the system. The computer parallel ports were used to send the control signals to the motor. The motor and control signals were in fact isolated by the optocoupler. These are electrical isolaters, which isolate the current from computer to the ones in the motor. The main purpose of its use is to isolate the back current from the motor from reaching the computer ports. Without isolation, the computer ports would just burn away upon significant back current.&lt;br /&gt;&lt;br /&gt;The motor then controlled the distance that would be covered by the object from its original location. A simple screw would convert the rotational movement of motor to linear movement of the object.&lt;br /&gt;&lt;br /&gt;When I tested the whole circuit to control the objects' movement using my computer, it worked great.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3Lf5B-D9vmg/TjUfpft-rII/AAAAAAAAAvE/BgUf7zAJqkA/s1600/DSC00052.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-3Lf5B-D9vmg/TjUfpft-rII/AAAAAAAAAvE/BgUf7zAJqkA/s400/DSC00052.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;But, when I took the circuit and tried to run the same code in Lab's PC, it showed a random behavior. I tried to debug it but to no avail. The motor would move the object to a random location when the computer sent the control signals. &lt;br /&gt;&lt;br /&gt;I took the circuit back to the room and checked. It ran perfectly. &lt;br /&gt;&lt;br /&gt;Even after several debugging sessions, I couldn't know the exact reason of the failure of the circuit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-25240782122145873?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/25240782122145873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/motor-control-via-parallel-ports-of-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/25240782122145873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/25240782122145873'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/motor-control-via-parallel-ports-of-pc.html' title='Motor control via parallel ports of a PC : A failed project'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-3Lf5B-D9vmg/TjUfpft-rII/AAAAAAAAAvE/BgUf7zAJqkA/s72-c/DSC00052.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4160504326577553676</id><published>2011-07-26T05:55:00.000-07:00</published><updated>2011-07-31T06:31:44.287-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Compiling top file in the beginning during Simulation in Verilog</title><content type='html'>Generally, we tend to compile the top verilog design file at the end, i.e. after compiling all other sub-blocks. Although this is a very good practice while synthesizing the code, you may face problems during synthesis and simulation if you are using `defines in your code to instantiate modules or signals conditionally.&lt;br /&gt;&lt;br /&gt;Follow the following example:-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0R6xCsXlPW4/Ti64aE5bLhI/AAAAAAAAAuQ/1RxyKARaK1M/s1600/temp.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="375" width="304" src="http://4.bp.blogspot.com/-0R6xCsXlPW4/Ti64aE5bLhI/AAAAAAAAAuQ/1RxyKARaK1M/s400/temp.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you compile the sub block first and then compile the top block, then the output would be an &lt;b&gt;OR gate&lt;/b&gt;. That is because, when the sub-block is being compiled, &lt;i&gt;&lt;b&gt;ANDGATE&lt;/b&gt;&lt;/i&gt; is not defined as yet. So, the OR gate would be instantiated.&lt;br /&gt;&lt;br /&gt;But, if you compile the top file and then compile the sub-block, then &lt;b&gt;AND gate&lt;/b&gt; would be instantiated, as the sub-block detects the &lt;i&gt;&lt;b&gt;ANDGATE&lt;/b&gt;&lt;/i&gt; to have been defined earlier.&lt;br /&gt;&lt;br /&gt;So, it is a good practice during simulation, to compile the top block before the sub-blocks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4160504326577553676?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4160504326577553676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-compiling-top-file-in-beginning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4160504326577553676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4160504326577553676'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-compiling-top-file-in-beginning.html' title='Compiling top file in the beginning during Simulation in Verilog'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0R6xCsXlPW4/Ti64aE5bLhI/AAAAAAAAAuQ/1RxyKARaK1M/s72-c/temp.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4600847962342437138</id><published>2011-07-22T06:27:00.000-07:00</published><updated>2011-07-31T06:31:29.227-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Do not use % in the verilog code during Verilog Synthesis</title><content type='html'>When you need to find the remainder of a division operation, then &lt;b&gt;%&lt;/b&gt;, i.e. Mod, is used. Suppose you want to find the remainder when 4 is divided by 3 then the code to implement is :-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-75ABwD5LX1s/Til5X-Cf7vI/AAAAAAAAAtc/gZ1yCnTMUSU/s1600/untitled.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="29" width="209" src="http://2.bp.blogspot.com/-75ABwD5LX1s/Til5X-Cf7vI/AAAAAAAAAtc/gZ1yCnTMUSU/s400/untitled.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;When you are designing complex logics, use of Mod or % makes your work easier and also the code is more readable. The simulation of code with use of % works fine. But, when you move to synthesis, the code takes up so much time to synthesize. And honestly, I don't know if it will ever synthesize. I had a piece of code with % used at multiple places. After waiting for 40 odd minutes, the synthesis just stuck at 80%. It was trying to synthesize but I couldn't wait longer. After removing the % from the code, I got the whole code synthesized in less than 10 minutes. :)&lt;br /&gt;&lt;br /&gt;So my advice to all the verilog coders will be to &lt;b&gt;Feel free to use % if the code is meant for simulation&lt;/b&gt;. But &lt;b&gt; Avoid usage of % in code that is to be synthesized. &lt;/b&gt; Rather use if..else statement, however lengthy they may be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4600847962342437138?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4600847962342437138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-synthesis-never-use-of-in-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4600847962342437138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4600847962342437138'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-synthesis-never-use-of-in-code.html' title='Do not use % in the verilog code during Verilog Synthesis'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-75ABwD5LX1s/Til5X-Cf7vI/AAAAAAAAAtc/gZ1yCnTMUSU/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-3254820647861574842</id><published>2011-07-22T06:15:00.000-07:00</published><updated>2011-07-22T06:17:36.322-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Verilog Simulation : Sensitivity list for a combinational logic</title><content type='html'>An interesting find today while I was simulating a big chunk of code. The problem occurred in the combinational always block. By rule, we have to put all the inputs to the combinational block in the sensitivity list. &lt;br /&gt;Eg for a simple and gate with input inpA and inpB and output as outAndAB, the coding goes as:-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gR0qSHunRuI/Til2jGOL3dI/AAAAAAAAAtE/f_3rP05ZCdQ/s1600/temp.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="71" width="264" src="http://3.bp.blogspot.com/-gR0qSHunRuI/Til2jGOL3dI/AAAAAAAAAtE/f_3rP05ZCdQ/s400/temp.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And if you simulate this design, the code will work fine. But when you move to complex combinational block designs, it is easier and better to assign &lt;b&gt;*&lt;/b&gt; in the sensitivity list. In my design I had similar code implemented in three places. While the two worked fine, I got issues in the third implementation. The output didn't get modified when the input changed even though the inputs were there in the sensitivity list. I tried putting the &lt;b&gt;*&lt;/b&gt;, which means all, in the sensitivity list and it worked. The tool will optimize the &lt;b&gt;*&lt;/b&gt; and put all required signals in the sensitivity list when simulating the code.&lt;br /&gt;&lt;br /&gt;After the change the code for the And gate will be :-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JvDkE3_uBsM/Til3zWovA4I/AAAAAAAAAtQ/XP3_exnJww0/s1600/untitled.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="71" width="264" src="http://4.bp.blogspot.com/-JvDkE3_uBsM/Til3zWovA4I/AAAAAAAAAtQ/XP3_exnJww0/s400/untitled.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So, remember to always &lt;b&gt;put * in the sensitivity list of a combinational block.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-3254820647861574842?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/3254820647861574842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-synthesis-sensitivity-list-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3254820647861574842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3254820647861574842'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-synthesis-sensitivity-list-for.html' title='Verilog Simulation : Sensitivity list for a combinational logic'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-gR0qSHunRuI/Til2jGOL3dI/AAAAAAAAAtE/f_3rP05ZCdQ/s72-c/temp.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-3830573732418362923</id><published>2011-07-18T07:42:00.000-07:00</published><updated>2011-07-31T06:32:04.885-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Default values of Reg and Wire in Modelsim Simulation</title><content type='html'>Ever wondered what is the default value assigned to a reg or a wire during simulation? &lt;br /&gt;Well, a &lt;b&gt;reg&lt;/b&gt; has a default value of &lt;b&gt;HiZ&lt;/b&gt; &lt;i&gt;(High Impedance)&lt;/i&gt; while a &lt;b&gt;wire&lt;/b&gt; has a default value of &lt;b&gt;X&lt;/b&gt; &lt;i&gt;(Don't Care)&lt;/i&gt; in Modelsim simulation.&lt;br /&gt;&lt;br /&gt;Verification :-&lt;br /&gt;a) Input Module :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jUGWevz3gNI/TiRD4wTLn8I/AAAAAAAAAr8/aZk1kgoPS1k/s1600/inputdef.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="139" width="273" src="http://1.bp.blogspot.com/-jUGWevz3gNI/TiRD4wTLn8I/AAAAAAAAAr8/aZk1kgoPS1k/s400/inputdef.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;b) Output Waveform :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wVFFDnpc5fs/TiRF4uD0mhI/AAAAAAAAAsk/sdIOGPo85Lo/s1600/outputwave.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="271" width="281" src="http://1.bp.blogspot.com/-wVFFDnpc5fs/TiRF4uD0mhI/AAAAAAAAAsk/sdIOGPo85Lo/s400/outputwave.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;*Note:- Simulation results of Modelsim SE 10.0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-3830573732418362923?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/3830573732418362923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/modelsim-default-values-of-reg-and-wire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3830573732418362923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3830573732418362923'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/modelsim-default-values-of-reg-and-wire.html' title='Default values of Reg and Wire in Modelsim Simulation'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-jUGWevz3gNI/TiRD4wTLn8I/AAAAAAAAAr8/aZk1kgoPS1k/s72-c/inputdef.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4241774764604806063</id><published>2011-07-18T06:25:00.000-07:00</published><updated>2011-07-18T07:49:10.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Run TCL file in Modelsim</title><content type='html'>Testing of logic designs in Modelsim can be automated using TCL files. To run TCL file in Modelsim, follow the two simple steps :-&lt;br /&gt;Step 1 :- Write the &lt;b&gt;TCL file&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Step 2 :- Open &lt;b&gt;Modelsim&lt;/b&gt;. Goto &lt;b&gt;Tools&lt;/b&gt; -&gt; &lt;b&gt;Tcl&lt;/b&gt; -&gt; &lt;b&gt;Execute Macro&lt;/b&gt;. And then select the &lt;b&gt;tcl file&lt;/b&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PCXOqdHjo9g/TiRHOJ4Z6LI/AAAAAAAAAs4/Brl3ABcs9eg/s1600/modelsim.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="291" width="400" src="http://4.bp.blogspot.com/-PCXOqdHjo9g/TiRHOJ4Z6LI/AAAAAAAAAs4/Brl3ABcs9eg/s400/modelsim.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4241774764604806063?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4241774764604806063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/run-tcl-file-in-modelsim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4241774764604806063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4241774764604806063'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/run-tcl-file-in-modelsim.html' title='Run TCL file in Modelsim'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-PCXOqdHjo9g/TiRHOJ4Z6LI/AAAAAAAAAs4/Brl3ABcs9eg/s72-c/modelsim.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-9148231375219650083</id><published>2011-07-17T00:22:00.000-07:00</published><updated>2011-07-17T00:23:59.129-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Computer Systems : Internal hard disk drive not found</title><content type='html'>I got this error while booting up my Dell Latitude. The screen said that the system could not find the internal hard disk drive. I was in shock. I tried googling up the issue but to no avail. I even jacked out the system RAMs and cleaned its connectors. I also removed the battery and put it back after few minutes. &lt;br /&gt;&lt;br /&gt;After these failed approaches, I entered the BIOS setup to see if the BIOS is actually reading the hard disk or not. &lt;i&gt;If BIOS can't read it then its time to buy new hard disk.&lt;/i&gt; With lots of combinations and permutations, I finally hit the nail's head. &lt;br /&gt;&lt;br /&gt;I solved the problem in two simple steps:-&lt;br /&gt;Goto the BIOS setup page. This page may look different based on the Dell laptop model.&lt;br /&gt;&lt;b&gt;Step 1&lt;/b&gt; :- &lt;br /&gt;In the &lt;b&gt;Boot Sequence&lt;/b&gt;, which is inside the &lt;b&gt;General Settings&lt;/b&gt;, move the &lt;b&gt;Internal HDD&lt;/b&gt; to the top. This will ensure that the system will first look up into the internal HDD for boot programs. By default, the floppy disk(diskette) drive is set to highest priority. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-aV0bolDYips/TiKMafkteYI/AAAAAAAAAqo/Xp2oACLKc3g/s1600/266558_10150317236131424_521051423_9482061_3052873_o.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-aV0bolDYips/TiKMafkteYI/AAAAAAAAAqo/Xp2oACLKc3g/s400/266558_10150317236131424_521051423_9482061_3052873_o.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Although this is not a major problem, but setting internal hdd as highest priority will not have any side effects, as the laptops these days lack the floppy disk drives, which are set to the highest priority in default conditions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2&lt;/b&gt;:- &lt;br /&gt;Next goto the &lt;b&gt;SATA Operation&lt;/b&gt; settings, which could be in &lt;b&gt;System Configuration&lt;/b&gt; or the &lt;b&gt;Device Info&lt;/b&gt; depending upon the laptop model. Set this to &lt;b&gt;ATA&lt;/b&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Bq4MocI6Em0/TiKMPNBaZmI/AAAAAAAAAqg/HUjHX9Odbds/s1600/279818_10150317234656424_521051423_9482033_1572747_o.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-Bq4MocI6Em0/TiKMPNBaZmI/AAAAAAAAAqg/HUjHX9Odbds/s400/279818_10150317234656424_521051423_9482033_1572747_o.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Why does this problem occur?&lt;br /&gt;Due to improper shutdowns or deletion of files in the windows folder, the BIOS settings would have modified. As the SATA operation setting, that defines the operation of hard disk, is set to some other than ATA, the system can't read the hard disk.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Notes&lt;/b&gt;:-&lt;br /&gt;1)This problem was faced in &lt;i&gt;Windows XP&lt;/i&gt; and thus could/couldn't work on other Operating systems.&lt;br /&gt;2)The solution worked on &lt;i&gt;Dell Latitude&lt;/i&gt; and &lt;i&gt;Inspiron&lt;/i&gt; laptops. For other models, you need to verify.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-9148231375219650083?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/9148231375219650083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/computer-systems-internal-hard-disk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/9148231375219650083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/9148231375219650083'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/computer-systems-internal-hard-disk.html' title='Computer Systems : Internal hard disk drive not found'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-aV0bolDYips/TiKMafkteYI/AAAAAAAAAqo/Xp2oACLKc3g/s72-c/266558_10150317236131424_521051423_9482061_3052873_o.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-4483359412371034903</id><published>2011-07-15T20:38:00.000-07:00</published><updated>2011-07-15T20:38:52.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Bash : syntax error in expression (error token is "12")</title><content type='html'>If you want to read a file line by line then you can follow the post in the &lt;a href="http://chandujjwal.blogspot.com/2011/07/reading-file-word-by-word-in-bash_15.html"&gt; link &lt;/a&gt;&lt;br /&gt;When you echo this line to the display or to another file, then there seems to be no issues. But, when you try to store the line contents to a variable, &lt;br /&gt;Eg:- &lt;br /&gt;&lt;b&gt;temp=$line&lt;/b&gt;&lt;br /&gt;then you could get the error :-&lt;br /&gt; &lt;i&gt;syntax error in expression (error token is ".....")&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This error occurs if the file, from which we are reading the lines, contains &lt;a href="http://en.wikipedia.org/wiki/Carriage_return"&gt; carriage return-line feed &lt;/a&gt;. The solution to this problem would be to strip the carriage return-line feed from the $line when it is being assigned to temp variable.&lt;br /&gt;Solution :-&lt;br /&gt;&lt;b&gt;temp=${line//$'\r'} &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Remember, if you want to assign temp again to another variable, then too you have to follow the same syntax of assignment as given in the solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-4483359412371034903?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/4483359412371034903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/bash-syntax-error-in-expression-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4483359412371034903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/4483359412371034903'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/bash-syntax-error-in-expression-error.html' title='Bash : syntax error in expression (error token is &quot;12&quot;)'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8698413067424746737</id><published>2011-07-15T06:47:00.000-07:00</published><updated>2011-07-15T06:48:03.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Reading a file word by word in bash</title><content type='html'>Reading a file word by word in bash can be done in the following two steps :-&lt;br /&gt;Step 1:- Read the file one line at a time and buffer it&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-EazXHbuPMqw/TiBEm4mBO5I/AAAAAAAAApk/I877WWfbiIY/s1600/linebyline.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="72" width="320" src="http://3.bp.blogspot.com/-EazXHbuPMqw/TiBEm4mBO5I/AAAAAAAAApk/I877WWfbiIY/s320/linebyline.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Step 2:- Read the buffered line one word at a time&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0E8Tq8PY-3c/TiBExdl06lI/AAAAAAAAAps/6xzh2wlovAg/s1600/wordbyword.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="74" width="320" src="http://4.bp.blogspot.com/-0E8Tq8PY-3c/TiBExdl06lI/AAAAAAAAAps/6xzh2wlovAg/s320/wordbyword.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So, combining the two, we can read a file word by word. The final code is :-&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Uh_uVcVRAcY/TiBE-k55C_I/AAAAAAAAAp0/nNhhGy5TNPQ/s1600/final.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="141" width="320" src="http://2.bp.blogspot.com/-Uh_uVcVRAcY/TiBE-k55C_I/AAAAAAAAAp0/nNhhGy5TNPQ/s320/final.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8698413067424746737?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8698413067424746737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/reading-file-word-by-word-in-bash_15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8698413067424746737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8698413067424746737'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/reading-file-word-by-word-in-bash_15.html' title='Reading a file word by word in bash'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-EazXHbuPMqw/TiBEm4mBO5I/AAAAAAAAApk/I877WWfbiIY/s72-c/linebyline.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-5861108524702796844</id><published>2011-07-03T02:16:00.000-07:00</published><updated>2011-07-03T02:24:15.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Verilog :- Why not to use Blocking Statements in Sequential Logic Design</title><content type='html'>Although there is no golden rule in verilog as to which type of statements to use while designing sequential circuits, it is highly recommended that non-blocking statement be used while designing such circuits.&lt;br /&gt;&lt;br /&gt;It is a very good and almost an essential practice to use blocking statements to design combinational block and non-blocking statements to design sequential logic.&lt;br /&gt;&lt;br /&gt;When you have multi-cycle paths to be designed as a sequential logic, then the use of blocking statements usually leads to optimisation/trimming of the logic. For a 2 cycle delay, you will only get a single cycle of delay. Consider the following example :- &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Case 1:- Sequential logic design with non-blocking statements:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Code:-&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-FaXgzeCP1mQ/ThAx4qG4l5I/AAAAAAAAAg8/v9nsIR60y9M/s1600/seq_code_non.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="200" width="190" src="http://1.bp.blogspot.com/-FaXgzeCP1mQ/ThAx4qG4l5I/AAAAAAAAAg8/v9nsIR60y9M/s200/seq_code_non.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Rtl Schematic :-&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4xWAMXLTJGg/Tg3KycjXT2I/AAAAAAAAAf0/tBUFvaffkDU/s1600/seq.bmp" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="82" width="200" src="http://4.bp.blogspot.com/-4xWAMXLTJGg/Tg3KycjXT2I/AAAAAAAAAf0/tBUFvaffkDU/s200/seq.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Case 2:- Sequential logic design with Blocking statements:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;Code:-&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Z-f9H7k3Wrg/ThAydnZwb9I/AAAAAAAAAhE/OKwPZQDc2_k/s1600/seq_code_block.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="200" width="186" src="http://1.bp.blogspot.com/-Z-f9H7k3Wrg/ThAydnZwb9I/AAAAAAAAAhE/OKwPZQDc2_k/s200/seq_code_block.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Rtl Schematic :-&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cub1mIQ8NaM/ThAyrU6tiII/AAAAAAAAAhM/G0JwPrjWk40/s1600/seq_block.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="90" width="200" src="http://1.bp.blogspot.com/-cub1mIQ8NaM/ThAyrU6tiII/AAAAAAAAAhM/G0JwPrjWk40/s200/seq_block.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;So, non-blocking statements should be used while designing Sequential blocks in Verilog.&lt;br /&gt;&lt;br /&gt;*Note :- The synthesis of code and rtl schematic generation were done using Xilinx ISE Release Version : 9.2.04i&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-5861108524702796844?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/5861108524702796844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-why-not-to-use-blocking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5861108524702796844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5861108524702796844'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/07/verilog-why-not-to-use-blocking.html' title='Verilog :- Why not to use Blocking Statements in Sequential Logic Design'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-FaXgzeCP1mQ/ThAx4qG4l5I/AAAAAAAAAg8/v9nsIR60y9M/s72-c/seq_code_non.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8386087536169604770</id><published>2011-06-22T09:06:00.001-07:00</published><updated>2011-06-22T09:11:27.269-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Declaring 2D Array I/O Ports in Verilog</title><content type='html'>2D arrays in verilog can be declared as :-&lt;br /&gt;&lt;i&gt;wire/reg [column_limit : 0] &lt;array_name&gt; [0 : row_limit] ;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Eg:- &lt;br /&gt;&lt;i&gt;wire [7:0] byteMem [0:31]; =&gt; this creates a wire array of 8 bits * 32.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Using 2D arrays in verilog is a very tricky thing. System verilog supports 2D arrays but verilog seems to treat it as an estranged friend. Flexibility in assigning and accessing the 2D arrays are very hard. But as always, there are work arounds.&lt;br /&gt;&lt;br /&gt;Verilog doesn't support 2D arrays as I/O ports. But there are cases when using and accessing 2D arrays are more efficient in reducing the code lines as well as improves the readability of the code. The work around for this is to declare the I/O ports as 1D array and use 2D wire internally which is then assigned the value as in the I/Os. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Suppose you need an output of 8bytes * 4 locations.&lt;/b&gt;&lt;br /&gt;1) Assign the output as array of (8*4) width, i.e. [8*4-1:0]&lt;br /&gt;2) Use an internal wire/reg array of 8bytes * 4 locations :-&lt;br /&gt;wire [7:0] temp [0:3];&lt;br /&gt;3) Using generate statement, assign the temp 2D array to store the values of the output array.&lt;br /&gt;*Note :- A simple define could be used to assign the values. Refer to Comment #7 on the link below for more.&lt;a href="http://www.edaboard.com/thread80929.html"&gt; Comment #7.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Simply use the macros defined in the link to implement virtual 2D array output/input ports.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8386087536169604770?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8386087536169604770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/declaring-2d-array-io-ports-in-verilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8386087536169604770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8386087536169604770'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/declaring-2d-array-io-ports-in-verilog.html' title='Declaring 2D Array I/O Ports in Verilog'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-3895557028364465142</id><published>2011-06-13T09:47:00.000-07:00</published><updated>2011-06-13T09:47:36.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Cygwin : "bash: $'\r': command not found"</title><content type='html'>When we copy bash scripts, edit them and then try to run these on the Cygwin, many a times we get the error :-&lt;br /&gt;"bash: $'\r': command not found".&lt;br /&gt;&lt;br /&gt;I don't know the exact reason for this, but it seems the bash can't read the file properly, so we need to use the &lt;b&gt;dos2unix.exe&lt;/b&gt; command in the cygwin to convert the script to readable format. This solves the problem.&lt;br /&gt;&lt;br /&gt;Syntax :- &lt;b&gt;dos2unix.exe &lt;i&gt;scriptname&lt;/i&gt; .&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Then run the script. It should run fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-3895557028364465142?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/3895557028364465142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/cygwin-bash-r-command-not-found.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3895557028364465142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3895557028364465142'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/cygwin-bash-r-command-not-found.html' title='Cygwin : &quot;bash: $&apos;\r&apos;: command not found&quot;'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-3947760404532967972</id><published>2011-06-12T09:05:00.000-07:00</published><updated>2011-06-12T09:34:07.776-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Declaring Ports in Verilog</title><content type='html'>Declaring ports in Verilog can be a tricky issue for beginners. Here is a brief of how and what to declare a port in Verilog HDL.&lt;br /&gt;&lt;br /&gt;We will start dividing the ports on the basis of their location, i.e. input/output and on the basis of their behavior, i.e. registered data or simple wires.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On the basis of Location&lt;/b&gt;:-&lt;br /&gt;We can group the ports into three on the basis of their locations :-&lt;br /&gt;1) Input ports,&lt;br /&gt;2) Output ports, and&lt;br /&gt;3) Inout ports.&lt;br /&gt;&lt;br /&gt;The input ports are basically the pins from where the data and signals reach the block. The output ports are the pins from where the data and signals leave the block. And the inouts are ports which can act as input and output during the run time.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;On the basis of Behavior&lt;/b&gt;:-&lt;br /&gt;We can group the ports into two on the basis of their behavior:-&lt;br /&gt;1) Reg&lt;br /&gt;2) Wire&lt;br /&gt;&lt;br /&gt;If you want the data to be registered, then declare the port as reg. This will store the data/signal, which can be used later in the design. On the other hand, if you just want a signal to propagate from one point to another without any delay or storage, then declare it as the wire.&lt;br /&gt;&lt;br /&gt;Even the inputs/outputs/inouts need to be declared on the basis of their behavior. Inputs are always wires, inouts are also always wire but outputs can be declared as wires or regs based on their behavior.&lt;br /&gt;&lt;br /&gt;Refer to following diagram :-&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-B3PpO3tUHbI/TfTjTdc8_fI/AAAAAAAAAdU/wI1FJXUOzWw/s1600/ports.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="89" width="200" src="http://4.bp.blogspot.com/-B3PpO3tUHbI/TfTjTdc8_fI/AAAAAAAAAdU/wI1FJXUOzWw/s200/ports.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Diagram Reference :- www.asic-world.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-3947760404532967972?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/3947760404532967972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/declaring-ports-in-verilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3947760404532967972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/3947760404532967972'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/06/declaring-ports-in-verilog.html' title='Declaring Ports in Verilog'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-B3PpO3tUHbI/TfTjTdc8_fI/AAAAAAAAAdU/wI1FJXUOzWw/s72-c/ports.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8753691913145741541</id><published>2011-05-27T20:30:00.000-07:00</published><updated>2011-05-27T20:34:36.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Declaring Virtual Pins in Quartus</title><content type='html'>When the system design in FPGA gets bigger, then its much easier to break the jumbo block into sub-blocks and work on each of them. Upon testing (simulating) and synthesizing these sub-blocks independently, we can integrate these to get the final jumbo design block. This breaking and developing act makes the development easier and more error proof. Also, we can decrease the development time by handing over the sub-block design and verification to different individuals.&lt;br /&gt;&lt;br /&gt;But, with the advantages, the breaking up of block into sub-blocks has few hurdles too. One of the significant hurdle is the increment in number of pins in the sub-blocks as compared to that of the final design. And we know that the number of pins supported by an FPGA is fixed.&lt;br /&gt;&lt;br /&gt;Let us take an example :-&lt;br /&gt;Suppose you have a Altera Stratix 4 device with 560 user I/O pins. Let us suppose the final design uses 540 I/O pins. And suppose you have divided the final design into sub-blocks A and B. Let us also suppose that "A" has 300 I/O pins usability and the "B" uses 600 I/O pins. &lt;br /&gt;&lt;br /&gt;So, simulating and synthesizing the sub-block "A" may not be a hurdle. But when it comes to "B", you will face problem synthesizing the model because the number of pins is more than the pins supported by the FPGA. This is when Declaration of virtual pins come into our advantage.&lt;br /&gt;&lt;br /&gt;Declaring the 60 or more pins in the design "B" will make sure that the design is synthesized by the Quartus tool. &lt;br /&gt;&lt;br /&gt;Following are the steps to declare the virtual pins in Quartus:-&lt;br /&gt;* We assume that the project is already opened in the Quartus tool. i.e. for Altera FPGA development.&lt;br /&gt;&lt;br /&gt;Step 1:- Goto Assignments menu at the top of the window. Then select the Assignment Editor.&lt;br /&gt;This will give you the Assignment Editor window as shown in the right hand side of&lt;br /&gt;the image below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lEfChCtY9_0/TeBpI-V9q1I/AAAAAAAAAcI/16LnRB6GnGM/s1600/virtual1.bmp" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="151" width="200" src="http://3.bp.blogspot.com/-lEfChCtY9_0/TeBpI-V9q1I/AAAAAAAAAcI/16LnRB6GnGM/s200/virtual1.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 2:- Click on the "new" option as shown in the image below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xc4t-0YgXwE/TeBpjxUeXfI/AAAAAAAAAcQ/QCwMasa5X-w/s1600/virtual2.bmp" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="151" width="200" src="http://4.bp.blogspot.com/-xc4t-0YgXwE/TeBpjxUeXfI/AAAAAAAAAcQ/QCwMasa5X-w/s200/virtual2.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 3:- You will now get an editable row in the Assignment Editor. Make sure that the Category &lt;br /&gt;menu at the right hand top of the editor, All is selected. Then, in the editable row, &lt;br /&gt;Select Assignment Name as "Virtual Pin"  and Value as "On". Now double click on the &lt;br /&gt;To option of the editable row. You will then get a small icon for Node Finder as shown&lt;br /&gt;in the image below. Click on it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wOHZ040pRJA/TeBq46mjS3I/AAAAAAAAAcY/wik8OjuYVBI/s1600/virtual3.bmp" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="151" width="200" src="http://1.bp.blogspot.com/-wOHZ040pRJA/TeBq46mjS3I/AAAAAAAAAcY/wik8OjuYVBI/s200/virtual3.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 4:- In the Node Finder window, you will see two big boxes with few options. Click on the &lt;br /&gt;List option to get all the I/O pins being used in the sub-design in the left box.&lt;br /&gt;Select the pins which you want to declare as virtual pins. Move this to the right hand&lt;br /&gt;box. It will look something like the image below.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-s-NwJfN_oOo/TeBrs1e-btI/AAAAAAAAAcg/qTJ_63JhHXY/s1600/virtual4.bmp" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="151" width="200" src="http://4.bp.blogspot.com/-s-NwJfN_oOo/TeBrs1e-btI/AAAAAAAAAcg/qTJ_63JhHXY/s200/virtual4.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Step 5:- Then click on OK. The Assignment Editor will show the various virtual pins which you&lt;br /&gt;declared. Once done with the checking, run the Analysis and Synthesis for the Project.&lt;br /&gt;Verify the virtual pins declaration by checking the Analysis and Synthesis Report,&lt;br /&gt;which will report the number of virtual pins used.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This technique of using virtual pins enables us to verify the designs of sub-blocks where the number of used pins is more than the pins available in the FPGA.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8753691913145741541?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8753691913145741541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/declaring-virtual-pins-in-quartus.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8753691913145741541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8753691913145741541'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/declaring-virtual-pins-in-quartus.html' title='Declaring Virtual Pins in Quartus'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-lEfChCtY9_0/TeBpI-V9q1I/AAAAAAAAAcI/16LnRB6GnGM/s72-c/virtual1.bmp' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-1836975239931423840</id><published>2011-05-21T00:51:00.000-07:00</published><updated>2011-05-29T21:45:14.674-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Is Skype worth $8.5 billion ?</title><content type='html'>There has been much of a debate on whether Skype is worth the amount Microsoft bought it for. Here is my side of the analysis.&lt;br /&gt;&lt;br /&gt;Skype has a total user base of 663 millions. Of the 663 million users, only 6% are pay users. These 6% generated revenue of $860 million in the year 2010 for Skype. Skype was bought at $8.5 billions by Microsoft.&lt;br /&gt;&lt;br /&gt;Now lets talk about another web craze, Facebook. Facebook has a global user base of 600 millions. The revenues for 2010 was reported as close to $2 billions. Of this, about $1.86 billions came from advertisement. Currently, Facebook is valuated at $50 billions.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pAkMULiscYQ/TeMgGFc4RUI/AAAAAAAAAco/RKREvqXtwX4/s1600/per%2Buser.bmp" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="121" width="200" src="http://2.bp.blogspot.com/-pAkMULiscYQ/TeMgGFc4RUI/AAAAAAAAAco/RKREvqXtwX4/s200/per%2Buser.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Lets start the comparison :&lt;br /&gt;1) Net worth per user :-&lt;br /&gt;a) Skype    :- $12&lt;br /&gt;b) Facebook :- $83&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Igrm6LShuek/TeMge94rfQI/AAAAAAAAAcw/2VUaVt6Vwe4/s1600/per%2Brevenue.bmp" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="121" width="200" src="http://4.bp.blogspot.com/-Igrm6LShuek/TeMge94rfQI/AAAAAAAAAcw/2VUaVt6Vwe4/s200/per%2Brevenue.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2) Net worth per Revenues :-&lt;br /&gt;a) Skype    :- 9.8&lt;br /&gt;c) Facebook :- 25&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apart from the calculations, when you talk of future growth, there too Skype has more potential than Facebook. Looking at the user growth rate of Facebook, one can see that saturation is very near. So, in the near future, the difference in user base between the two will not change much.&lt;br /&gt;&lt;br /&gt;Also, we can see that the major chunk of Facebook revenues comes from Advertisements. On the other hand Skype is fully dependent on the user charges as of now. I expect that to change in the near future. &lt;br /&gt;&lt;br /&gt;First, Skype can plunge into the Advertisement business. With the expertise of Microsoft, they can make a big impact. One positive thing is that they are providing free quality chatting services to millions. They would not mind listening to few seconds of advertisement provided they don't have to start paying for the chat services. &lt;br /&gt;&lt;br /&gt;Secondly, Skype can use the voice data and analyze it to generate much better advertisement hits. The voice data will give better know-how of the person than the written messages/statuses.&lt;br /&gt;This voice data can be cultivated by Microsoft to use it for improving Bing. In whole, profit for both the entities.&lt;br /&gt;&lt;br /&gt;Thus, my view is that the $8.5 billions paid by Microsoft to buy Skype is a profitable acquisition. At least, when compared to the Facebook valuation. If you think that both the giants are over-valued, then you can start fearing of the bubble.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-1836975239931423840?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/1836975239931423840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/is-skype-worth-85-billion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1836975239931423840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1836975239931423840'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/is-skype-worth-85-billion.html' title='Is Skype worth $8.5 billion ?'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pAkMULiscYQ/TeMgGFc4RUI/AAAAAAAAAco/RKREvqXtwX4/s72-c/per%2Buser.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-5713703789999336665</id><published>2011-05-07T05:22:00.000-07:00</published><updated>2011-05-21T00:08:36.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Using Perl to instantiate Verilog modules</title><content type='html'>The detailed procedure to use perl to instantiate verilog modules has been given in the following link:-&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ece.ucdavis.edu/~jwwebb/ee/howto/using_perl_with_sv.html" &gt; Use Perl to Instatiate Verilog Modules By Jeremy Webb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This post is about the few problems I faced following the exact steps as per the link and the way I resolve those issues.&lt;br /&gt;&lt;br /&gt;After downloading the package containing the .pm file and the perl script, i.e. .pl file, I tried to run make. I have not installed GCC feature in my cygwin as per now. So, there was no way I was getting the make command to run. So this is what I did.&lt;br /&gt;&lt;br /&gt;I copied the .pm file to one of the locations already pointed by the path. To know the path, simply run the .pl file. The file will look for the .pm file in the locations defined by the path and when not found, it will send you the error report. In the error report look for the path that is assigned against @INC.&lt;br /&gt;&lt;br /&gt;After copying the .pm file, simply execute the .pl file&lt;br /&gt;The syntax would be:-&lt;br /&gt;svtools.pl -i -f &lt; Verilog_Filename &gt;&lt;br /&gt;&lt;br /&gt;Reference:-&lt;br /&gt;&lt;a href="http://www.ece.ucdavis.edu/~jwwebb/ee/howto/using_perl_with_sv.html" &gt; Jeremy Webb's blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-5713703789999336665?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/5713703789999336665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/using-perl-to-instantiate-verilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5713703789999336665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5713703789999336665'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/using-perl-to-instantiate-verilog.html' title='Using Perl to instantiate Verilog modules'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-704890863152948138</id><published>2011-05-04T05:05:00.000-07:00</published><updated>2011-05-29T21:59:17.666-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Declare wires while using generate statements in Verilog</title><content type='html'>Even though there are intelligent guidelines for Verilog code writing, people rarely follow it. One of the cases is of declaring ports (wire and reg) in the verilog code.&lt;br /&gt;&lt;br /&gt;Two common mistakes made while declaring ports are :-&lt;br /&gt;1) Not declaring wire of single bit width.&lt;br /&gt;2) Declaring wire in the middle or end of the code.&lt;br /&gt;&lt;br /&gt;Guidelines will tell you to always declare ports and that too in the initial part of the code. Making the above mistakes may cause great problems, especially when the code contains generate blocks.&lt;br /&gt;&lt;br /&gt;When generate blocks are used, the wires which are not declared above the generate block are generated for the instantiated blocks. The important fact here is that, these wires which are locally generated are inaccessible to the other upper level modules. Even if you declare wires after the generate block ends, it will perform the same above mentioned task. So, if you are making use of these wires to design the output, you will have serious problems in the operation of the code. The wires will be always low for the upper level modules.&lt;br /&gt;&lt;br /&gt;An example is given below.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-5S5qwSgnee0/TcFNo3OQEjI/AAAAAAAAAbg/O3FL95mVy6w/s1600/Test.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 157px;" src="http://3.bp.blogspot.com/-5S5qwSgnee0/TcFNo3OQEjI/AAAAAAAAAbg/O3FL95mVy6w/s200/Test.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5602844775839437362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here, dataOutTemp of the Test module will be always low. This will make dataOut of Test module tied to zero. To avoid such problems, always declare ports before the actual design code.&lt;br /&gt;&lt;br /&gt;In the above case, to rectify the problem, we should declare the dataOutTemp as wire in line 11.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-704890863152948138?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/704890863152948138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/declaring-ports-in-verilog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/704890863152948138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/704890863152948138'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2011/05/declaring-ports-in-verilog.html' title='Declare wires while using generate statements in Verilog'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5S5qwSgnee0/TcFNo3OQEjI/AAAAAAAAAbg/O3FL95mVy6w/s72-c/Test.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8712197342761030794</id><published>2010-12-21T02:39:00.000-08:00</published><updated>2011-05-21T00:08:56.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Async FIFO Depth Calculation</title><content type='html'>When data transfer is to be done between different clock frequency domains, &lt;span style="font-weight:bold;"&gt;Async FIFO&lt;/span&gt;s are used. These FIFOs provide a medium to avoid data loss due to difference in the two frequencies.&lt;br /&gt;&lt;br /&gt;The calculation of &lt;span style="font-weight:bold;"&gt;Async FIFO Depth&lt;/span&gt; is the most important part in designing the inter-clock domain data transfer system. The FIFO Depth is dependent on the number of data bits to be transferred in one cycle and the difference in the frequencies of the clocks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CALCULATION :-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let the incoming data to the FIFO be at F1 Frequency, i.e. write frequency.&lt;br /&gt;&lt;br /&gt;Let the reading be done at F2 Frequency.&lt;br /&gt;&lt;br /&gt;Suppose, B number of bits are being written and read per cycle, then&lt;br /&gt;&lt;br /&gt;FIFO Depth = B - (B/F2)*F1 , if F2 &gt; F1&lt;br /&gt;else&lt;br /&gt;FIFO Depth = B - (B/F1)*F2 , if F1 &gt; F2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8712197342761030794?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8712197342761030794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/12/async-fifo-depth-calculation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8712197342761030794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8712197342761030794'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/12/async-fifo-depth-calculation.html' title='Async FIFO Depth Calculation'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-8722743520177400192</id><published>2010-12-16T03:55:00.000-08:00</published><updated>2011-05-21T00:09:28.140-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Factors Determining the Demand of Product</title><content type='html'>The period in which a product is perceived, designed, developed, tested and sold is known as product cycle. Modifications in the product may be demanded by the customers, thereby triggering the second rotation of product cycle. &lt;br /&gt;&lt;br /&gt;When a new product comes to the market, the demand of the product is directly proportional to the &lt;span style="font-weight:bold;"&gt;functionality&lt;/span&gt; offered by the product. At first, this is the only product providing the required functionality by the market, thus can be sold at high premium. This attracts other vendors too to design such products. Similar functionality offering products enter the market. This is when the products can not ask for high premiums, as the market is saturated in terms of functionality offered by the product.&lt;br /&gt;&lt;br /&gt;The customers want &lt;span style="font-weight:bold;"&gt;reliability&lt;/span&gt; of product to be the criteria for paying premium on the products. The product offering better reliability like shake free, water resistant, temperature independent, etc will have higher profit margins. This will again lead to overcrowding of such products from various vendors in the market.&lt;br /&gt;&lt;br /&gt;After functionality and reliability have reached the market demand levels, the searching parameter changes to &lt;span style="font-weight:bold;"&gt;convenience&lt;/span&gt;. Demand is driven by the level of convenience the product can provide like ease of use/handling, moving the product. &lt;br /&gt;&lt;br /&gt;Finally, when all other criteria are met by almost all the products, the &lt;span style="font-weight:bold;"&gt;price&lt;/span&gt; of the product plays the most important role in determining the demand of the product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-8722743520177400192?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/8722743520177400192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/12/factors-determining-demand-of-product.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8722743520177400192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/8722743520177400192'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/12/factors-determining-demand-of-product.html' title='Factors Determining the Demand of Product'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-5135881042133202922</id><published>2010-05-09T00:59:00.000-07:00</published><updated>2011-05-21T00:09:28.140-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>What sort of companies do venture capatilists like?</title><content type='html'>As follows:-&lt;br /&gt;&lt;br /&gt;1) Promoters having large static as well as dynamic stakes in the company.&lt;br /&gt;2) Promoters fully dedicated to the company. Part time working promoters are a no no.&lt;br /&gt;3) Promoters with impressive history and/or strong work ethics.&lt;br /&gt;4) A promise of long term benefits.&lt;br /&gt;5) Strong and intelligent work force.&lt;br /&gt;6) Mature management group.&lt;br /&gt;7) Clarity of the financial reports.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-5135881042133202922?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/5135881042133202922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/05/what-sort-of-companies-do-venture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5135881042133202922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5135881042133202922'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/05/what-sort-of-companies-do-venture.html' title='What sort of companies do venture capatilists like?'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-1725101918228714545</id><published>2010-05-09T00:43:00.000-07:00</published><updated>2011-05-21T00:09:28.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>The use of "WHY" by business leaders</title><content type='html'>What separates the business leaders from the normal people who "practice" business, is that the leaders always ask the question "why" when they are taking decisions. While the normal people are happy just to follow what top CEOs or top management gurus tell them or what the traditional reaction theory indicates, the leaders ask the all sort of questions like why should we follow the tradition,is it loss-proof? Why the management gurus are to be listened, are they right? &lt;br /&gt;&lt;br /&gt;These sort of questions make sure that when the majority of people face dire losses when the gurus and the tradition fails, the leaders smile with a bucket of profit. Always do your calculations and analysis. Never take decisions solely because some top business person has taken similar decision. Never take decisions just because those proved correct in the past. Analyze and then take decisions. Always ask "why".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-1725101918228714545?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/1725101918228714545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/05/use-of-why-by-business-leaders.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1725101918228714545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/1725101918228714545'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/05/use-of-why-by-business-leaders.html' title='The use of &quot;WHY&quot; by business leaders'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-2236388489129777512</id><published>2010-03-01T03:10:00.000-08:00</published><updated>2011-05-21T00:09:28.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Cooking vegetables and Entrepreneurship</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4uvEudFV_I/AAAAAAAAAZE/F6wfAba2rMg/s1600-h/Caution-Mind-Your-Head.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4uvEudFV_I/AAAAAAAAAZE/F6wfAba2rMg/s200/Caution-Mind-Your-Head.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5443637070331729906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Caution : &lt;br /&gt;Well I am no entrepreneur..neither am i a professor ..nor a guru teaching people about entrepreneurship. This post is solely based on the observation I have made and I don not guarantee any proof of whatsoever kind that the conclusion I made from my observation is cent percent true.&lt;br /&gt;&lt;br /&gt;Entrepreneurship has always been an interesting subject to me. Reading about global entrepreneurs has been a hobby kinda thing for me. Last Saturday, I was in my kitchen trying hard to cook some vegetables. This is when I found out that there are numerous teachings a man/woman/other can get about entrepreneurship while cooking vegetables (Could be non-vegetable items too. But being a supporter of PETA, solely because of the bullet girls that campaign for them, I would only use the reference of vegetables).&lt;br /&gt;&lt;br /&gt;First, begin with the shopping of right vegetables and spices. This is similar to searching the right resources for your company. The resources mean human as well as non-human resources. The better you get, the better your end product will be. Also, the price factor is to be kept in mind. The better the product you make, the better your profit is going to be.&lt;br /&gt;&lt;br /&gt;Next lesson you learn is when you start chopping vegetables. Once in a while you may get cuts and bruises. This is similar to an entrepreneur experiencing down periods in his financial performance. These bruises shouldn't take your enthusiasm away. These bruises and cuts will teach you to be more alert in the future. Also, as you gain experience, these events of cuts and bruising will minimize. &lt;br /&gt;&lt;br /&gt;Now, when you have cut the vegetables and kept the pan on the heater, you have to take major decisions. Whether the food is going to be totally fried, or totally boiled or a mixture of it. Similar to this, an entrepreneur must have a focused plan for his company. Whether his company will be an IT product/service company or a non IT one. And among these also, he has to choose the various options to be sure of the kind of final product he wants to make.&lt;br /&gt;&lt;br /&gt;In the middle of the cooking, you have to add spices. The perfect amount of salt. The perfect amount of ginger paste, chilly, turmeric, etc. An entrepreneur too must hire right number of people for management purpose, R&amp;D purpose, maintenence purpose, etc. Also, a similar choice is to made while dividing the budget for each of these departments. Extra salt would ruin the taste of the food. &lt;br /&gt;&lt;br /&gt;The ideal time for cooking vegetables is a very interesting value. It depends on a number of variables like the method of cooking, the type of pan used for cooking, the vegetables used, the taste preferred by the consumer. In industry too, the time taken to make the products are constrained by various variables. The complexity of the product. The efficiency of the R&amp;D, production and sales team. The time when the demand in the consumer market would be maximum.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4utY9_gK7I/AAAAAAAAAYk/SjO8RL-TUdE/s1600-h/bild2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 261px; height: 320px;" src="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4utY9_gK7I/AAAAAAAAAYk/SjO8RL-TUdE/s320/bild2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5443635219076754354" /&gt;&lt;/a&gt;&lt;br /&gt;And, finally when the vegetable is cooked, the way you serve it can make a big difference. An entrepreneur has to read the mind of the consumers and present the products accordingly. Advertisements, gala-openings, discounts, etc come into picture. Selling is an art. So is decorating the food while serving it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4utpHhD54I/AAAAAAAAAYs/t7pelBYXJCw/s1600-h/bild3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_uQlbW9jb8v4/S4utpHhD54I/AAAAAAAAAYs/t7pelBYXJCw/s320/bild3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5443635496511334274" /&gt;&lt;/a&gt;&lt;br /&gt;I think it would thus be safe to say that cooking vegetables is a crash course to an individual dreaming of being an entrepreneur.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-2236388489129777512?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/2236388489129777512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/03/cooking-vegetables-and-entrepreneurship.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2236388489129777512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2236388489129777512'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/03/cooking-vegetables-and-entrepreneurship.html' title='Cooking vegetables and Entrepreneurship'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_uQlbW9jb8v4/S4uvEudFV_I/AAAAAAAAAZE/F6wfAba2rMg/s72-c/Caution-Mind-Your-Head.gif' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-5659987440751456453</id><published>2010-02-19T09:18:00.000-08:00</published><updated>2011-05-21T00:08:56.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>FPGA : Sacrificing resource sharing for better timing</title><content type='html'>When it comes to any system design, the most important part is the optimum utilization of the available resources. Talking of system design with FPGAs, the resources mean the PLLs(Phase Locked Loop), RIOs(Rocket IOs), DCMs(Digital Clock Manager), BUFGs(Global Buffers), FFs(Flip-Flops), LUTs(Look Up Tables) and dedicated block rams.&lt;br /&gt;&lt;br /&gt;There are numerous vendors supplying FPGAs in the market like Xilinx, Altera, Lattice, etc. All these vendors supply a wide range of FPGAs. Suitable FPGA should be selected depending upon the system resources required for your design and the resources available in the FPGA.&lt;br /&gt;&lt;br /&gt;After the synthesisable code describing the system has been written, generating FPGA build takes two major steps. First, the code must fit the device selected and secondly, the design must meet the timing constraints (set up time, hold time, period constraints). &lt;br /&gt;&lt;br /&gt;Most of the tools used to make FPGA builds available these days try to optimise the code and try to fit it in the device taking as less resources as it can. One of the logic used for optimising code is &lt;b&gt;Resource Sharing&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Resource sharing is a technique where multiple logic blocks of the designed system share a common logic block. Let us take an example of a system which can add and subtract two input bits. The system can be thus divided into two major blocks of  Addition of these two bits would give a bit each of Sum and Carry. Meanwhile, a subtractor would have a bit each of Difference and Borrow as its outputs. As we write the truth table we see that the sum and difference outputs have same logic design. If we try to make FPGA build with the code describing the above mentioned logic, the tool will infer only one logic block for generation of output difference and sum, i.e A XOR B (where A and B are input bits). And the tool will also try to place this block in the FPGA which will be equidistant from the outputs sum and difference. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uQlbW9jb8v4/S3_zR-6PKeI/AAAAAAAAAYU/GWFPcT-7vKI/s1600-h/Fig1_1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 297px; height: 320px;" src="http://4.bp.blogspot.com/_uQlbW9jb8v4/S3_zR-6PKeI/AAAAAAAAAYU/GWFPcT-7vKI/s320/Fig1_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5440334365157435874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This sharing of A XOR B block by the adder and subtractor block is known as resource sharing. This leads to optimum resource(FFs and LUTs) utilisation.&lt;br /&gt;&lt;br /&gt;Referring to the above figure, we can see that if two logic blocks of A XOR B were generated, one each for sum and difference, the tool would have tried to place these two blocks as following:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uQlbW9jb8v4/S3_zarz92KI/AAAAAAAAAYc/2qBLbLaJTfA/s1600-h/Fig1_2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 297px; height: 320px;" src="http://1.bp.blogspot.com/_uQlbW9jb8v4/S3_zarz92KI/AAAAAAAAAYc/2qBLbLaJTfA/s320/Fig1_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5440334514649684130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When we are designing the system for lower speed(lower clock), then resource sharing is the best way to go. But, when we are working at higher speed where the timing is of utmost importance while placing the blocks in the FPGA, we have to take decisions of whether to use resource sharing or not. If the timing constraints for all the clocks used are met and the system is fitting in the device, then all is well. If the fitting issues arise, then we may have to enable resource sharing(by default the tools enable this feature). If we have design fitting handsomely but with problems meeting the timing constraints, then we may have to disable the resource sharing option. This would mean using up more resources but we would be rewarded with better timings. See the design for adder plus subtractor system in figures 1.1 with resource sharing and 1.2 without resource sharing. Obviously, the figure 1.1 uses lesser resources. But, when we calculate the total path delay from A and B to outputs Sum and Difference in the two designs, we will have to conclude that without resource sharing, we are achieving better timing in terms of path delays.&lt;br /&gt;&lt;br /&gt;Now, consider the adder plus subtractor design to be a part of a bigger design, where the inputs A and B are outputs of Flip-Flops and the outputs Sum and Difference are inputs to different Flip-Flops. Using the design represented in figure 1.2 would lead to better margins in terms of setup times and the maximum clock speed that can be used in the design.&lt;br /&gt;&lt;br /&gt;This way, sacrificing resource sharing can lead to better timing achievements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-5659987440751456453?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/5659987440751456453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/02/fpga-sacrificing-resource-sharing-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5659987440751456453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/5659987440751456453'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/02/fpga-sacrificing-resource-sharing-for.html' title='FPGA : Sacrificing resource sharing for better timing'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_uQlbW9jb8v4/S3_zR-6PKeI/AAAAAAAAAYU/GWFPcT-7vKI/s72-c/Fig1_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-7802193670575066514</id><published>2010-02-14T00:28:00.000-08:00</published><updated>2011-05-21T00:08:56.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Inefficient cooling system design in Inspiron 1525</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uQlbW9jb8v4/S3e7W7kj01I/AAAAAAAAAXw/FKNq9o61rlU/s1600-h/spearsc4.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 185px;" src="http://4.bp.blogspot.com/_uQlbW9jb8v4/S3e7W7kj01I/AAAAAAAAAXw/FKNq9o61rlU/s320/spearsc4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5438021077695714130" /&gt;&lt;/a&gt;&lt;br /&gt;For a couple of months, I had a problem with my Inspiron 1525 shutting down in the middle of nowhere. For some time it wasn't a very serious problem, so I just let it do all its mischief. Then, a week ago I started playing Counter-Strike. The problem repeated like anything. After every ten minutes or so, the laptop shut down. Then I thought, enough is enough I have got to find out a solution.&lt;br /&gt;&lt;br /&gt;Ten minutes of googling led me to find a &lt;a href="http://support.dell.com/support/edocs/systems/ins1525/en/SM/cpucool.htm#wp1179839" &gt; solution&lt;/a&gt;, thanks to Andreas .The problem was due to inefficient cooling system design in the Inspiron 1525.&lt;br /&gt;&lt;br /&gt;The cooling system consists of a heat transfer system, which transfers heat from the processor to the sink, fan and heat sink. The sink then radiates the heat out of the laptop. The affect of radiator(heat sink) is enhanced by the fan which helps to keep the heat sink cooler. If the fan doesn't work or the heat sink can't get the effect of fan, then the sink can't radiate the heat efficiently, and thus the temperature of CPU rises causing the computer to shut down.&lt;br /&gt;&lt;br /&gt;The problem with my laptop was that there was dirt in between the heat sink and the fan. This meant the heat sink couldn't get the proper air-flow to cool it. The result, the heat sink wasn't functioning up to its optimum level and thus the processor was getting heated. This led to my computer getting shut down repeatedly. &lt;br /&gt;&lt;br /&gt;The solution was to remove the dirt that lied in between the fan and the heat sink.&lt;br /&gt;&lt;br /&gt;This is something I have to do every 2-3 months. But, this could have been avoided if the cooling system had been designed in a much better way. In the above paragraph, I have described about the parts of a cooling system. There is one thing missing. And that is a filter. Basically, when the fan is operating, it takes in air from some place (some vents) and then blows the air towards the heat sink. As the name suggests, the filter filters the air coming to the fan through these vents. The result is that the air flowing from the fan to heat sink is dirt free. Thus, there is no way dust can accumulate in between the fan and heat sink. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_uQlbW9jb8v4/S3fFlHX9CuI/AAAAAAAAAYI/keg8QbBLdHI/s1600-h/parts104.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 246px;" src="http://3.bp.blogspot.com/_uQlbW9jb8v4/S3fFlHX9CuI/AAAAAAAAAYI/keg8QbBLdHI/s320/parts104.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5438032316498512610" /&gt;&lt;/a&gt;&lt;br /&gt;The filter system in the laptop seems to be absent which led to occurrence of this problem. I don't know if they didn't add filter to the cooling system design for some advanced reasons or they just forgot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-7802193670575066514?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/7802193670575066514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2010/02/inefficient-cooling-system-design-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/7802193670575066514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/7802193670575066514'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2010/02/inefficient-cooling-system-design-in.html' title='Inefficient cooling system design in Inspiron 1525'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_uQlbW9jb8v4/S3e7W7kj01I/AAAAAAAAAXw/FKNq9o61rlU/s72-c/spearsc4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-391608337647042552</id><published>2009-02-11T06:43:00.000-08:00</published><updated>2011-05-21T00:09:28.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Ideal time to buy shares</title><content type='html'>With recession hitting almost all the countries directly or indirectly, people and corporations have started to save money and cut their expenditures. This leads to reduction in flow of money  in the market. This severely damages the economy of the country. Money flow is very important for a growing economy. But, the fear of uncertain future has lead people to spend less and save more. People have liquidated a large amount of their investments. This has lead to massive devaluation of share prices of almost all the companies. For any cunning investor this is a heavenly time to invest in those shares. The market is bound to bounce back. The share prices are bound to shoot up.&lt;br /&gt;&lt;br /&gt;The major principles laid down by Benjamin Graham, one of the teachers of Warren Buffet, are:&lt;br /&gt;1) Buy shares of those companies whose share value is 2/3rd of the intrinsic value.&lt;br /&gt;2) With low P/E ratio.&lt;br /&gt;Intrinsic value is an element to measure the true value of one share. A simple calculation of evaluating it would be getting the net assests of the company divided by total shares.&lt;br /&gt;P/E ratio is total price of one share divided by the earnings the share gives in one year. Lower P/E ratio means you will earn amount equal to share value in shortest time.&lt;br /&gt;Thus analysing the current situation where the share prices have fallen to very low values, well below the 2/3rd margin and choosing lower P/E offering companies, it is an ideal time to buy shares. When the market rises out of recession, even capital gain will be in huge positive magnitude.&lt;br /&gt;&lt;br /&gt;Also, note the pointing of Warren Buffet, who believes in buying devaluated shares of big and strong companies as these companies' shares are bound to bounce back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-391608337647042552?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/391608337647042552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2009/02/ideal-time-to-buy-shares.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/391608337647042552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/391608337647042552'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2009/02/ideal-time-to-buy-shares.html' title='Ideal time to buy shares'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-478542583323340614</id><published>2009-02-01T23:09:00.000-08:00</published><updated>2011-05-21T00:08:56.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Pipelining and Retiming in High Speed Digital Logic Designs</title><content type='html'>&lt;div style="text-align: center;"&gt;Consider  figure 1.1, which pretty much describes the basic block of any digital logic design. The maximum allowable frequency that can be used in a circuit design is given by the equation&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fmax=1/Tmin&lt;/span&gt; -------(i)&lt;br /&gt;where Tmin is calculated as&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tmin=Tc-q + Tcomb + Tsu&lt;/span&gt;-------(ii)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;Note&lt;/span&gt;: &lt;span style="font-size:85%;"&gt;There may be many such circuits as figure 1.1 in  complex system design with variable Tcombs. In such cases, the highest Tcomb is used to determine Tmin and the path associated with it is called &lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;critical path&lt;/span&gt;&lt;span style="font-size:85%;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_uQlbW9jb8v4/SYadr9zjbjI/AAAAAAAAAAo/y63QRsQHvs0/s1600-h/ab.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 319px; height: 232px;" src="http://3.bp.blogspot.com/_uQlbW9jb8v4/SYadr9zjbjI/AAAAAAAAAAo/y63QRsQHvs0/s320/ab.bmp" alt="" id="BLOGGER_PHOTO_ID_5298095390298697266" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt; &lt;span style="font-style: italic;"&gt;Tc-q&lt;/span&gt;::The time taken by the input at the flip-flop, D ,to give output Q after the trigger edge of the clock.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Tcomb&lt;/span&gt;::Total delay of combinational logic in between the flip-flops.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;"&gt;Tsu&lt;/span&gt;::The minimum time interval for which the input of the flip-flop must remain  stable before the trigger edge of the clock.&lt;br /&gt;&lt;br /&gt;Let us take an example:&lt;br /&gt;Suppose, Tc-q=5ns, Tcomb=15ns, Tsu=5 ns&lt;br /&gt;then, Tmin=25ns and thus &lt;span style="font-weight: bold; font-style: italic;"&gt;Fmax=40 Mhz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In digital systems, processing is basically done by the combinational logic while the flip-flops help to control the data and the processing. As technology advances, processing becomes much more complex. But as the processing becomes more and more complex, the maximum allowable frequency decreases accordingly. Thus realizing high speed Digital system design with large combinational blocks using the basic block as in figure 1.1 is not possible. This is when we need to rearrange the circuit so that high frequency can still be used.Two major techniques are widely followed in high speed digital logic design::&lt;br /&gt;(i) Pipelining&lt;br /&gt;(ii) Retiming&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Pipelining&lt;/span&gt;::&lt;/span&gt;&lt;br /&gt;Pipelining is a process by which a normal large combinational logic block between two flip-flops is broken down into two or more pieces. Then, flip-flops are inserted to isolate those pieces. When applied for critical paths, Tmin decreases, thus allowing us to use higher operational frequencies. If we try to pipeline the circuit described by figure 1.1, we would get a result as described by figure 1.2.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uQlbW9jb8v4/SYajp9uAJSI/AAAAAAAAABA/GOeAZVudQ4g/s1600-h/abc.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 415px; height: 210px;" src="http://4.bp.blogspot.com/_uQlbW9jb8v4/SYajp9uAJSI/AAAAAAAAABA/GOeAZVudQ4g/s320/abc.bmp" alt="" id="BLOGGER_PHOTO_ID_5298101952985441570" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Suppose ,       Tcomb(2)=6ns&lt;br /&gt;and                 Tcomb(3)=9ns&lt;br /&gt;&lt;br /&gt;From the figure,&lt;br /&gt;The critical path (highest path delay) in the circuit is the path from 2nd D f/f to 3rd D f/f. Thus,&lt;br /&gt;&lt;br /&gt;Tmin= Tc-q + Tcomb(3) + Tsu&lt;br /&gt;          =19ns&lt;br /&gt;This gives, &lt;span style="font-weight: bold; font-style: italic;"&gt;Fmax= 52.6 Mhz&lt;/span&gt;.&lt;br /&gt;This way, efficient pipelining can be used to increase the maximum permissible frequency for a digital design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Retiming::&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Retiming is a much complex technique, which is generally done by the help of software. Consider a circuit where the delay of combinational blocks vary greatly. Then, inspite of the fact that there are paths with low delays, we would have to consider the maximum &lt;span style="font-style: italic;"&gt;Tcomb &lt;/span&gt;(i.e. of critical path&lt;span style="font-style: italic;"&gt;) &lt;/span&gt;in order to obtain Tmin. This will give us comparatively low maximum allowable frequency. An example is given in Figure 1.3.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uQlbW9jb8v4/SYajp2nZ4QI/AAAAAAAAABI/k2FXAy77oaA/s1600-h/abcd.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 378px; height: 164px;" src="http://1.bp.blogspot.com/_uQlbW9jb8v4/SYajp2nZ4QI/AAAAAAAAABI/k2FXAy77oaA/s320/abcd.bmp" alt="" id="BLOGGER_PHOTO_ID_5298101951078719746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Suppose, Tcomb(4)=3ns&lt;br /&gt;and          Tcomb(5)=12ns&lt;br /&gt;&lt;br /&gt;Then, Tmin=Tc-q + Tcomb(5) + Tsu&lt;br /&gt;                  =22ns&lt;br /&gt;This gives, &lt;span style="font-weight: bold; font-style: italic;"&gt;Fmax=45.4 Mhz.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We can redistribute the combinational logic blocks in such a way that the variance in their delays is minimized. If we do this for the circuit described by Figure 1.3 we can, at the best, get two blocks of 7.5 ns.&lt;br /&gt;Then&lt;span style="font-weight: bold; font-style: italic;"&gt;,  Fmax would be 57.1 Mhz&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Note: &lt;span style="font-size:85%;"&gt;The example denotes an ideal case.  In general, after  rearranging, Tcomb(4) will be &gt; =3ns and Tcomb(5) will be &lt; =12ns&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Even if we don't get this optimal result, any decrement in the critical path delay due to this process of redistribution will enable us to use higher frequencies.This procedure is termed as &lt;span style="font-style: italic;"&gt;Retiming&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Although the final hardware may increase due these procedures, we gain a lot in terms of maximum allowable frequency. And in case of high speed digital logic designs, the latter is given priority.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-478542583323340614?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/478542583323340614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2009/02/pipelining-and-retiming-in-high-speed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/478542583323340614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/478542583323340614'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2009/02/pipelining-and-retiming-in-high-speed.html' title='Pipelining and Retiming in High Speed Digital Logic Designs'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_uQlbW9jb8v4/SYadr9zjbjI/AAAAAAAAAAo/y63QRsQHvs0/s72-c/ab.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-635227793589981548</id><published>2009-01-31T22:46:00.000-08:00</published><updated>2011-05-21T00:08:56.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><title type='text'>Graphene to replace Silicon in IC fabrication</title><content type='html'>Silicon has been long used as the base to fabricate Integrated Circuits(ICs). But with the fabrication industry strictly following the Moore's law that packing density of chips doubles every 18 months, it won't be long before Silicon technology saturates. The signs have been seen and thus the fabrication industry is keenly searching an alternative as in near future we won't be able to increase the packing density of circuits based on silicon as it achieves saturation. One of the solution could be to use Graphene instead.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Graphene&lt;/b&gt; is a one-atom-thick planar sheet of &lt;a href="http://en.wikipedia.org/wiki/Sp2_bond" title="Sp2 bond" class="mw-redirect"&gt;sp&lt;sup&gt;2&lt;/sup&gt;-bonded carbon&lt;/a&gt; atoms that are densely packed in a honeycomb crystal lattice. The requirement of any material to be used as substrate in IC fabrication is to have metallic, semiconductor and insulating properties either in free state and/or in compound state of that very material. The semiconductor nature helps in controlling the action of transistors(the building blocks of chips). The metallic property is needed to have high speed movement of carriers. The insulator quality is needed to isolate the transistors and also differentiate the on and off state resistance of transistors that need to have high variance.&lt;br /&gt;&lt;br /&gt;The graphene sheet, rolled so as to form tubes, can act as metallic or semiconducting in nature based on the angle of rolling. The metallic nature of these tubes has long been appreciated by the fabrication industry. They have remarkably high electron mobilty at room temperature, with reported values in excess of &lt;span style="white-space: nowrap;"&gt;15,000 cm&lt;sup&gt;2&lt;/sup&gt;V&lt;sup&gt;−1&lt;/sup&gt;s&lt;sup&gt;−1&lt;/sup&gt;&lt;/span&gt;. Also the mobility of holes and electrons are almost equal. The conductivity remains constant for a high range of temperatures. The semiconducting nature of graphene can be exploited by rolling the sheet at certain angle or by bending the tubes to an angle. This bending of graphene tubes decreases the conductivity at the bends and thus can be made to act as semicontuctor after some calculations. The only problem scientists were facing with graphene as a substitute of silicon was the insulating property of graphene which was very poor.&lt;br /&gt;&lt;br /&gt;But , scientists in Manchester University have shown that graphene can be easily modified to act as an insulator by adding hydrogen atoms to its surface. The new material , called &lt;span style="font-weight: bold;"&gt;graphane&lt;/span&gt;, is made by exposing a graphene sheet to ionized hydrogen gas for some two hours. Until now, graphene was used to make transistors with other materials. But this process can't be used in IC fabrication due to the time and cost that comes with such processes. Commercially, this would fail. The need is of one material to be used as the base of the IC which can be then modified to act as conductor, semiconductor or insulator. Now, with this major successful experiment, graphene can be used as a subsitute of silicon. Also, this technology being new, would last for long time in the fabrication industry before it achieves its saturation. That means, it would be 10-20 years at least before we would start hunting for new material to substitute graphene for IC fabrication.&lt;br /&gt;&lt;br /&gt;Thus, I see graphene substituting silicon in the ICs in the near future so as to fulfil the rising demand of higher speed of the market and to follow the Moore's law of doubling of packing density every 18 months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-635227793589981548?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/635227793589981548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2009/01/graphene-to-replace-silicon-in-ic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/635227793589981548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/635227793589981548'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2009/01/graphene-to-replace-silicon-in-ic.html' title='Graphene to replace Silicon in IC fabrication'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7826105489414291502.post-2122793497017329298</id><published>2009-01-26T02:56:00.000-08:00</published><updated>2011-05-21T00:09:28.142-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><title type='text'>Time for Change</title><content type='html'>&lt;div style="text-align: center;"&gt;        &lt;span style="font-weight: bold;font-size:130%;" &gt;                                                                                                   Change, we can.....&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;                                                                                 -U.S. President Barack Obama&lt;br /&gt;&lt;/div&gt;                                                    &lt;br /&gt;&lt;br /&gt;"Change" is a word feared by many. People prefer routines. We are very reluctant when it comes to changing our habits.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_KGdCTLXnKUE/SXiHV6Co4QI/AAAAAAAAACE/gTxjD68MPqY/s1600-h/GurkhaAttack.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 242px;" src="http://2.bp.blogspot.com/_KGdCTLXnKUE/SXiHV6Co4QI/AAAAAAAAACE/gTxjD68MPqY/s320/GurkhaAttack.jpg" alt="" id="BLOGGER_PHOTO_ID_5294130172401344770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Talking about changes, the market scenario has changed drastically over few months. The government approach on the free market has changed. The trading systems have changed over time. We have moved from barter system to gold to money and now to virtual money(debit, credit, bonds, shares, etc.) . Sea levels have risen. Ozone layer has dropped. Population has increased over past centuries. The whole atmosphere has changed. Government have changed. Everything is changing. Change is infact inevitable.&lt;br /&gt;&lt;br /&gt;The defination of power has changed from swords, guns and missiles to knowledge. The priority of all the nations has changed from military to economy. Pen has become mightier than the sword. And to this change in time and the environment, people have unwillingly changed themselves accordingly. Even the animals and plants have adapted. But, to this day, of there is one thing/species that hasn't changed that is we .."Nepalese". We are still stubborn to accept that we fear "change" the most. Maybe its because of the legacy our Gurkha ancestors have for bravery, we can't face the fact that we fear something i.e. change.&lt;br /&gt;&lt;br /&gt;Days are gone when courage in battlefield meant everything. Days are gone when war used to be won with guns, cannons, missiles and khukuris. Now the war is won with economics and the market is the battleground. People in almost all parts of the world have accepted these facts and moved from learning sword-swinging to accounting and finances. And , talk about us. We stand tall and refuse to change ...refuse to accpet these changes. We still feel that we are born fighters. We still feel its in our blood and we still believe sword is mightier than the pen. Look at Japan and Germany. The people there were fighters too. But now, their pen speaks, their knowledge wins the war, and for the guns and swords..those rust in museums. People in the developed nations solve problems with dialouges, meeting , conversations.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_KGdCTLXnKUE/SXiHWA-RyhI/AAAAAAAAACU/vSvm3hf3uVg/s1600-h/610x.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 226px;" src="http://4.bp.blogspot.com/_KGdCTLXnKUE/SXiHWA-RyhI/AAAAAAAAACU/vSvm3hf3uVg/s320/610x.jpg" alt="" id="BLOGGER_PHOTO_ID_5294130174262102546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We , in Nepal, still choose violence to solve every problem. All the decisions are made by the mob and laws passed on the streets. Be it some actor from neighbouring country saying that he doesn't like our country(no one verified this...totally based on rumours..), or some movie telling Lord Buddha was born in some other country, we have always gone to the streets for solutions and burnt our mother Nepal to pacify ourself. May be to "demonstrate" that we have won....Won what?..i don't know..&lt;br /&gt;&lt;br /&gt;Well may be to show that we are the decendants of the fierce Gurkhas. Maybe to show the world that we are still brave..errrr.. may be we are still fools as pointed out by our Maha Kabi Laxmi Prasad Devkota. We show pride in burning shops and devastating the economy. Convesations and dialouges are always lower priorities while solving issues. Violence is the defacto choice.&lt;br /&gt;&lt;br /&gt;Maybe we are too immature when it comes to dealing with situations. Or, maybe we still believe that sword is mightier than pen. Maybe Khukuri still rules for us. It is not that we lack brilliant brains in Nepal(Nepalese have shown their brain-power in almost all fields in the world), it is because we are afraid of change. ....change in our approach to solve problems ...change the way we live....change the way we show our courage..&lt;br /&gt;&lt;br /&gt;When the whole world is talking about change(remember ....Change, we can.....), we still fear it. Fears of having no strikes....fears of having no bandhs...fears of being governed by proper administrators...fear of not having the mob rule which we enjoy ....fear of not being able to decide things on the streets.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_KGdCTLXnKUE/SXiHV32niyI/AAAAAAAAACM/F8e2XH2hpw0/s1600-h/library.good.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 170px;" src="http://1.bp.blogspot.com/_KGdCTLXnKUE/SXiHV32niyI/AAAAAAAAACM/F8e2XH2hpw0/s320/library.good.jpg" alt="" id="BLOGGER_PHOTO_ID_5294130171814054690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well, dinasaurs didn't accept the idea of change..the idea of adaptation, so they are extinct now. The cockroaches adapted to the environmental change, so they still have their decendants living. We have to realise this fact and understand that Khukuris can't win the war for us. We must be proud of our past and also realise that we have to change our present if we are to be in the future. We have to start giving importance to knowledge. We have to start using our thick heads rather than use tyres and bricks. We have to use tourches to light the houses ...not to burn them. We need to change so as to build our economy rather than doom it. We need to accept and acknowledge the power of knowledge. We need to adapt to the changing time. We need to change. Only then, we will have a future or else just like the damn stubborn dinasaurs, we will be extinct too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Change, we must....&lt;br /&gt;                                 -&lt;span style="font-size:100%;"&gt;Unknown&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7826105489414291502-2122793497017329298?l=chandujjwal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandujjwal.blogspot.com/feeds/2122793497017329298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://chandujjwal.blogspot.com/2009/01/time-for-change_26.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2122793497017329298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7826105489414291502/posts/default/2122793497017329298'/><link rel='alternate' type='text/html' href='http://chandujjwal.blogspot.com/2009/01/time-for-change_26.html' title='Time for Change'/><author><name>Ujjwal Chand</name><uri>http://www.blogger.com/profile/15419914992426514840</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/-D0hV-ze2CqE/ThC6y-Jb3wI/AAAAAAAAAhY/es8zuTq2ypo/s220/279084_10150224270097039_562062038_7653992_5611952_o.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_KGdCTLXnKUE/SXiHV6Co4QI/AAAAAAAAACE/gTxjD68MPqY/s72-c/GurkhaAttack.jpg' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
