<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Tutorial-Devices</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>Recent changes to Tutorial-Devices</description><atom:link href="https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 14 Oct 2012 04:04:31 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v19
+++ v20
@@ -88,7 +88,7 @@
 
 The plugin allows devices to be declared quickly and easily. Anywhere a device declaration is legal (either within the global namespace or within a package declaration), the content-assist feature of the plugin may be activated using CTRL + SPACE. (A good rule of thumb is to always remember that content assist can be activated anywhere to see what options are available to you.) When activated in the context of a device, a dropdown box appears that proposes a device declaration from a template as one of the available options. If it is selected, it inserts a template of a device into the document, with tabbed fields to be able to name things quickly. After the ENTER key is pressed, the cursor is moved to the body of the device, after the three required attributes, ready to declare pins. Further use of CTRL + SPACE will aid in forming pin declarations.
 
-![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device.jpg)
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device2.jpg)
 
 ####Tips and Tricks####
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 04:04:31 -0000</pubDate><guid>https://sourceforge.net398c2b955e239aadf470481288bf70fc8a158eee</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v18
+++ v19
@@ -88,7 +88,7 @@
 
 The plugin allows devices to be declared quickly and easily. Anywhere a device declaration is legal (either within the global namespace or within a package declaration), the content-assist feature of the plugin may be activated using CTRL + SPACE. (A good rule of thumb is to always remember that content assist can be activated anywhere to see what options are available to you.) When activated in the context of a device, a dropdown box appears that proposes a device declaration from a template as one of the available options. If it is selected, it inserts a template of a device into the document, with tabbed fields to be able to name things quickly. After the ENTER key is pressed, the cursor is moved to the body of the device, after the three required attributes, ready to declare pins. Further use of CTRL + SPACE will aid in forming pin declarations.
 
-![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device2.jpg)
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device.jpg)
 
 ####Tips and Tricks####
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 04:03:55 -0000</pubDate><guid>https://sourceforge.netf7d000730614fc286fa0863360a5d9a2fc9eb8ac</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v17
+++ v18
@@ -88,7 +88,7 @@
 
 The plugin allows devices to be declared quickly and easily. Anywhere a device declaration is legal (either within the global namespace or within a package declaration), the content-assist feature of the plugin may be activated using CTRL + SPACE. (A good rule of thumb is to always remember that content assist can be activated anywhere to see what options are available to you.) When activated in the context of a device, a dropdown box appears that proposes a device declaration from a template as one of the available options. If it is selected, it inserts a template of a device into the document, with tabbed fields to be able to name things quickly. After the ENTER key is pressed, the cursor is moved to the body of the device, after the three required attributes, ready to declare pins. Further use of CTRL + SPACE will aid in forming pin declarations.
 
-![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device2.png)
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device2.jpg)
 
 ####Tips and Tricks####
 
@@ -102,7 +102,7 @@
 
 The plugin will initially report an error, but also provide you with some valuable quick-fix options. Select the lowest quickfix in the proposal box: _Generate new pin list from pin name and vector indices_.
 
-[[img src=quickfix_pinnames2.jpg]]
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/quickfix_pinnames2.jpg)
 
 Once the quickfix is clicked, the pin declaration should look exactly the same as it did the first time, except we didn't enter any of the physical pin names in by hand this time. Note that this quickfix generates the names according to the way the array has been declared. If the array had been \[0:9\] , the elements in the physical pin name list would have been reversed, and would look like this:
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 04:03:23 -0000</pubDate><guid>https://sourceforge.net1965e597df46a2da279975a1bbe62785900b9a04</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v16
+++ v17
@@ -88,7 +88,7 @@
 
 The plugin allows devices to be declared quickly and easily. Anywhere a device declaration is legal (either within the global namespace or within a package declaration), the content-assist feature of the plugin may be activated using CTRL + SPACE. (A good rule of thumb is to always remember that content assist can be activated anywhere to see what options are available to you.) When activated in the context of a device, a dropdown box appears that proposes a device declaration from a template as one of the available options. If it is selected, it inserts a template of a device into the document, with tabbed fields to be able to name things quickly. After the ENTER key is pressed, the cursor is moved to the body of the device, after the three required attributes, ready to declare pins. Further use of CTRL + SPACE will aid in forming pin declarations.
 
-![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/device2.png)
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/template-device2.png)
 
 ####Tips and Tricks####
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 04:01:52 -0000</pubDate><guid>https://sourceforge.netd52eb44fdbfc64f8ccfc51caf0a64d16c4c9117b</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v15
+++ v16
@@ -88,7 +88,7 @@
 
 The plugin allows devices to be declared quickly and easily. Anywhere a device declaration is legal (either within the global namespace or within a package declaration), the content-assist feature of the plugin may be activated using CTRL + SPACE. (A good rule of thumb is to always remember that content assist can be activated anywhere to see what options are available to you.) When activated in the context of a device, a dropdown box appears that proposes a device declaration from a template as one of the available options. If it is selected, it inserts a template of a device into the document, with tabbed fields to be able to name things quickly. After the ENTER key is pressed, the cursor is moved to the body of the device, after the three required attributes, ready to declare pins. Further use of CTRL + SPACE will aid in forming pin declarations.
 
-[[img src=template-device2.jpg]]
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/device2.png)
 
 ####Tips and Tricks####
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 03:57:48 -0000</pubDate><guid>https://sourceforge.netb6cd3f67af5b9e5095b82cf2a03b90151d5e897a</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v14
+++ v15
@@ -6,7 +6,7 @@
 
 Before starting any design, a collection of devices must be defined. A device may contain two types of elements in any quantity, and in any order. These are: (1) attributes, and (2) pins. Some special attributes are used to reference a particular footprint for the device when a netlist is created. All are tabulated into a Bill of Material for use in parts procurement. Pins form a logical to physical mapping of PHDL pin names to footprint pin names in the layout tool. PHDL allows aggregation of pins in the form of arrays, which some layout tools do not support natively. Throughout a design, these pins are referenced frequently to form the electrical connectivity of the board, just as mouse clicks on a screen would draw the connectivity as lines, terminating a device pins. An example device and its equivalent device declaration is shown below.
 
-[[img src=resistor2.png]]
+![alt](http://phdl.sourceforge.net/wikifiles/tutorial/images/resistor2.png)
 
     /*A surface mount resistor */
     device res_0603 {
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 03:57:02 -0000</pubDate><guid>https://sourceforge.net1f3c268eabff5e2cebf2805df46f63ea1661abda</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Sun, 14 Oct 2012 03:53:52 -0000</pubDate><guid>https://sourceforge.netc123f58368c3f89476a79b16d37251516f86ac22</guid></item><item><title>WikiPage Tutorial-Devices modified by Wesley J. Landaker</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v12
+++ v13
@@ -71,14 +71,14 @@
 
 On all devices (especially high-pin-count devices), there is frequently a need to check that all pins have been declared. Use the **PINCOUNT** attribute like this:
 
-device res_array {
-  attr REFPREFIX = "RA";
-  attr FOOTPRINT = "R0612";
-  attr LIBRARY = "rcl-smd";
-  attr PINCOUNT = "8";     // checks for 8 declared pins (below)
-  pin[3:0] a = {1,2,3,4};  // found 4 pins here...
-  pin[3:0] b = {8,7,6,5};  // another 4 pins here... we have 8!
-}
+    device res_array {
+      attr REFPREFIX = "RA";
+      attr FOOTPRINT = "R0612";
+      attr LIBRARY = "rcl-smd";
+      attr PINCOUNT = "8";     // checks for 8 declared pins (below)
+      pin[3:0] a = {1,2,3,4};  // found 4 pins here...
+      pin[3:0] b = {8,7,6,5};  // another 4 pins here... we have 8!
+    }
 
 This ensures that since we know we are working with an 8-pin device, we have correctly declared 8 pins somewhere in the device body. In this case, we have declared two pin arrays with four pins each, for a total of 8 individual pins. The **PINCOUNT** attribute requires an integer value, and the compiler will issue an error if it is not an integer, or does not declare the exact number of pins found in the device body.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Wesley J. Landaker</dc:creator><pubDate>Tue, 09 Oct 2012 23:20:18 -0000</pubDate><guid>https://sourceforge.net9262ba2c842430a2a2f6924e2f70d81700c9a7ab</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v11
+++ v12
@@ -63,11 +63,11 @@
       pin[3:0] b = {8,7,6,5};
     }
 
-On the left, array indices in braces separated by a colon form the size of the array (in this case, 4 ), and on the right is a comma-separated list in braces of physical pin-names to which these array values correspond. This means that pin a[3] corresponds to physical pin 1 of the footprint R0612 , a[2] corresponds to 2 , and so on. In other words, the mapping is always taken in left to right order that the array has been declared. If the array for pin a had been declared as:
+On the left, array indices in braces separated by a colon form the size of the array (in this case, 4 ), and on the right is a comma-separated list in braces of physical pin-names to which these array values correspond. This means that pin a\[3\] corresponds to physical pin 1 of the footprint R0612 , a\[2\] corresponds to 2 , and so on. In other words, the mapping is always taken in left to right order that the array has been declared. If the array for pin a had been declared as:
 
     pin[0:3] a = {1,2,3,4};	// a[0] -&gt; 1, a[1] -&gt; 2, a[2] -&gt; 3, a[3] -&gt; 4
 
-then a[3] would map to physical pin 4 of the footprint. If the size of the array on the left does not equal the size of the list on the right, the compiler will issue an error, since this is obviously not the intent of the declaration.
+then a\[3\] would map to physical pin 4 of the footprint. If the size of the array on the left does not equal the size of the list on the right, the compiler will issue an error, since this is obviously not the intent of the declaration.
 
 On all devices (especially high-pin-count devices), there is frequently a need to check that all pins have been declared. Use the **PINCOUNT** attribute like this:
 
@@ -111,4 +111,4 @@
 There are also quickfixes to correct attribute names that are not capitalized. You can use CTRL + SPACE at any time to activate content assist to aid in declaring attributes and pins.
 
 ####Summary####
-This tutorial has demonstrated the syntax of a PHDL device declaration, the required attributes necessary for generating valid netlist output, as well as introduced some of the automation that the plugin itself provides in analyzing your PHDL code. These features are the tip of the iceburg as far as what the plugin is capable of. Hopefully this tutorial has spiked your interest. If so, read on!
+This tutorial has demonstrated the syntax of a PHDL device declaration, the required attributes necessary for generating valid netlist output, as well as introduced some of the automation that the plugin itself provides in analyzing your PHDL code. These features are the tip of the iceburg as far as what the plugin is capable of. Hopefully this tutorial has piqued your interest. If so, read on!
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Tue, 09 Oct 2012 23:09:16 -0000</pubDate><guid>https://sourceforge.net1584efb893316007ebc003621361808c5223cf9d</guid></item><item><title>WikiPage Tutorial-Devices modified by Brent Nelson</title><link>https://sourceforge.net/p/phdl/wiki/Tutorial-Devices/</link><description>&lt;pre&gt;--- v10
+++ v11
@@ -20,11 +20,11 @@
       pin b = {2};
     }
 
-Notice that there are three attributes declared: **REFPREFIX*, **FOOTPRINT**, and **LIBRARY**, and they are all uppercase. The compiler discourages non-uppercase attribute names since all attributes are treated case-insensitive throughout the language. The attribute values can be any string of characters and spaces. These three attributes at a minimum are necessary to produce a valid netlist output. The functionality of each attribute is explained below:
+Notice that there are three attributes declared: **REFPREFIX**, **FOOTPRINT**, and **LIBRARY**, and they are all uppercase. The compiler discourages non-uppercase attribute names since all attributes are treated case-insensitive throughout the language. The attribute values can be any string of characters and spaces. These three attributes at a minimum are necessary to produce a valid netlist output. The functionality of each attribute is explained below:
 
-  * The **REFPREFIX* attribute provides the prefix for the unique name that each instance of the device will have on the board. This is due to the conventional method of generating unique reference designators for instanced devices on a PCB. The combination of REFPREFIX (in this case R ) and an integer forms the unique reference designator ( R1, R2, R3, ... R100, ... ) at elaboration time.
+  * The **REFPREFIX** attribute provides the prefix for the unique name that each instance of the device will have on the board. This is due to the conventional method of generating unique reference designators for instanced devices on a PCB. The combination of REFPREFIX (in this case R ) and an integer forms the unique reference designator ( R1, R2, R3, ... R100, ... ) at elaboration time.
 
-  * The **FOOTPRINT* attribute references the particular layout footprint (or PADS decal) to which this device refers.
+  * The **FOOTPRINT** attribute references the particular layout footprint (or PADS decal) to which this device refers.
 
   * The **LIBRARY** attribute references the particular library that the footprint (or PADS decal) resides inside the layout tool libraries.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Brent Nelson</dc:creator><pubDate>Tue, 09 Oct 2012 23:07:59 -0000</pubDate><guid>https://sourceforge.netf27f754063c41ec9e7c8addc7267744817a9539a</guid></item></channel></rss>