<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://ift.wiki.uib.no/index.php?action=history&amp;feed=atom&amp;title=EDK_tutorial_3</id>
	<title>EDK tutorial 3 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://ift.wiki.uib.no/index.php?action=history&amp;feed=atom&amp;title=EDK_tutorial_3"/>
	<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;action=history"/>
	<updated>2026-04-13T11:58:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;diff=215&amp;oldid=prev</id>
		<title>Nfyku at 08:20, 2 March 2009</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;diff=215&amp;oldid=prev"/>
		<updated>2009-03-02T08:20:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;amp;diff=215&amp;amp;oldid=214&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nfyku</name></author>
	</entry>
	<entry>
		<id>http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;diff=214&amp;oldid=prev</id>
		<title>Nfyku: New page: == VHDL design i ISE 7.1 for virtex-4 ==  En enkel steg-for-steg veiledning til implementasjon av en RS232 transmitter på en virtex-4 FPGA  Dette er en kort introduksjon til Xilinx ISE og...</title>
		<link rel="alternate" type="text/html" href="http://ift.wiki.uib.no/index.php?title=EDK_tutorial_3&amp;diff=214&amp;oldid=prev"/>
		<updated>2009-03-02T08:19:40Z</updated>

		<summary type="html">&lt;p&gt;New page: == VHDL design i ISE 7.1 for virtex-4 ==  En enkel steg-for-steg veiledning til implementasjon av en RS232 transmitter på en virtex-4 FPGA  Dette er en kort introduksjon til Xilinx ISE og...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== VHDL design i ISE 7.1 for virtex-4 ==&lt;br /&gt;
&lt;br /&gt;
En enkel steg-for-steg veiledning til implementasjon av en RS232 transmitter på en virtex-4 FPGA&lt;br /&gt;
&lt;br /&gt;
Dette er en kort introduksjon til Xilinx ISE og vhdl design i EDK. Vi tar utgangspunkt i det samme prototypekortet (DS-BD-V4LX25MB) som i turtorail 1 og 2. Målet er å lage en enkelt RS232 transmitter som sender koden på DIP-bryterene til en terminal på PC&amp;#039;en. Du vil trenge hyperterminal eller et annet tilsvarende program til å lese COM porten på PC&amp;#039;en. &lt;br /&gt;
&lt;br /&gt;
=== Lage nytt prosjekt ===&lt;br /&gt;
&lt;br /&gt;
Start programmet &amp;quot;Project Navigator&amp;quot; under &amp;quot;Xilinx ISE 7.1i&amp;quot; menyen. Når du starter opp vil forrige prosjekt automatisk ligge der hvist noen har brukt ISE før deg. I tilfelle så lukker du prosjektet ved å velge &amp;quot;Close Project&amp;quot; under &amp;quot;File&amp;quot; menyen. Fra &amp;quot;file&amp;quot; menyen velger du så &amp;quot;New Project&amp;quot;. Du vil nå få opp et vindu hvor du kan navngi prosjektet og velge plasering. Kall prosjektet &amp;quot;RS232&amp;quot; og finn en passende plasering for prosjektkatalogen. &amp;quot;Top Level Module Type&amp;quot; setter du til VHD. Trykk så &amp;quot;Next&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_30.jpg]]&lt;br /&gt;
&lt;br /&gt;
 Du vil nå få opp et vindu hvor du kan velge hviken FPGA du vil bruke, samt vertøyvalg. Sett &amp;quot;Device Family&amp;quot; til Virtex4, &amp;quot;Device&amp;quot; til &amp;quot;xc4vlx25&amp;quot;, &amp;quot;Package&amp;quot; til &amp;quot;ff668&amp;quot; og &amp;quot;Speed Grade til -10&amp;quot;. &amp;quot;Synthesis Tool&amp;quot; settes til &amp;quot;XST&amp;quot;, &amp;quot;Simulator&amp;quot; til &amp;quot;ISE simulator&amp;quot; og simuleringsspråk settes til VHDL. Trykk så &amp;quot;Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_31.jpg]]&lt;br /&gt;
&lt;br /&gt;
Du vil nå få opp ett vindu hvor du har muligheten til å få generert en kildefil til prosjektet. Trykk på &amp;quot;New Source&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_32.jpg]]&lt;br /&gt;
&lt;br /&gt;
Velg &amp;quot;VHDL Module&amp;quot; og gi den navnet &amp;quot;RS232_main&amp;quot;. Pass på at boksen &amp;quot;Add to Project&amp;quot; er merket og trykk &amp;quot;Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_33.jpg]]&lt;br /&gt;
&lt;br /&gt;
Du kan nå legge til porter. Legg inn portene; clk, reset og send som &amp;quot;in&amp;quot;. Legg til data som &amp;quot;in&amp;quot; og sett MSB til 7 og LSB til 0. Legg til port tx og opptatt som &amp;quot;out&amp;quot;. Trykk så &amp;quot;Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_34.jpg]]&lt;br /&gt;
&lt;br /&gt;
Du får nå opp et vindu med et samendrag av kildefilen din. Trykk &amp;quot;Finish&amp;quot;. Du kommer nå tilbake til vinduet hvor du kan legge til kildefiler. Trykk &amp;quot;Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Neste vindu lar deg legge til ferdige kilderfiler. Ta filene [[Media:rs232_clk.vhd&amp;quot;&amp;gt;rs232_clk.vhd&amp;lt;/a&amp;gt; og [[Media:rs232_tx.vhd&amp;quot;&amp;gt;rs232_tx.vhd&amp;lt;/a&amp;gt; og last dem ned på maskinen din. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---------------------------------&lt;br /&gt;
--Tor Aleksander Birk Danielsen--&lt;br /&gt;
--     klokke til RS232        --&lt;br /&gt;
--        10.04.2005           --&lt;br /&gt;
---------------------------------&lt;br /&gt;
library IEEE;&lt;br /&gt;
use IEEE.STD_LOGIC_1164.ALL;&lt;br /&gt;
use IEEE.STD_LOGIC_ARITH.ALL;&lt;br /&gt;
use IEEE.STD_LOGIC_UNSIGNED.ALL;&lt;br /&gt;
&lt;br /&gt;
entity rs232_clk is&lt;br /&gt;
   port( 	clk       :  in    std_logic;  --main clk 100MHz&lt;br /&gt;
         reset     :  in    std_logic;  --global reset&lt;br /&gt;
         clk_tx    :  inout std_logic;  --sendeklokke 16*baudrate&lt;br /&gt;
         bit_send  :  out   std_logic); --pulstog 1*baudrate&lt;br /&gt;
end rs232_clk;&lt;br /&gt;
&lt;br /&gt;
architecture Behavioral of rs232_clk is&lt;br /&gt;
--interne tellere&lt;br /&gt;
   signal clk_teller_1 : std_logic_vector(0 to 8);&lt;br /&gt;
   signal clk_teller_2 : std_logic_vector(0 to 3);&lt;br /&gt;
&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
---------------------------------------&lt;br /&gt;
--lage klokkefrekvens på 16xbaudraten--&lt;br /&gt;
--   clk/(budrate*16) = tellerverdi*2--&lt;br /&gt;
-- 100MHz/(9600*32) = 325 = 101000101--&lt;br /&gt;
---------------------------------------&lt;br /&gt;
   process (clk)&lt;br /&gt;
   begin&lt;br /&gt;
   if clk&amp;#039;event and clk=&amp;#039;1&amp;#039; then&lt;br /&gt;
      if reset = &amp;#039;1&amp;#039; then&lt;br /&gt;
         clk_teller_1 &amp;lt;= clk_teller_1 + 1;&lt;br /&gt;
         if clk_teller_1 = &amp;quot;101000101&amp;quot; then&lt;br /&gt;
            clk_tx &amp;lt;= not clk_tx;&lt;br /&gt;
            clk_teller_1 &amp;lt;= &amp;quot;000000000&amp;quot;;&lt;br /&gt;
         end if;&lt;br /&gt;
      else&lt;br /&gt;
         clk_teller_1 &amp;lt;= &amp;quot;000000000&amp;quot;;&lt;br /&gt;
      end if;&lt;br /&gt;
   end if;&lt;br /&gt;
   end process;&lt;br /&gt;
&lt;br /&gt;
---------------------------------------&lt;br /&gt;
--lage 1/16 puls av clk_tx til sender--&lt;br /&gt;
--    dvs pulstog med samme frekvens --&lt;br /&gt;
--    som baudraten                  --&lt;br /&gt;
---------------------------------------&lt;br /&gt;
   process (reset, clk_tx)&lt;br /&gt;
   begin &lt;br /&gt;
      if reset = &amp;#039;0&amp;#039; then&lt;br /&gt;
         bit_send  &amp;lt;= &amp;#039;0&amp;#039;;	&lt;br /&gt;
         clk_teller_2 &amp;lt;= &amp;quot;0000&amp;quot;;&lt;br /&gt;
      elsif rising_edge(clk_tx) then&lt;br /&gt;
         clk_teller_2 &amp;lt;= clk_teller_2 + 1;&lt;br /&gt;
         if clk_teller_2 = &amp;quot;1111&amp;quot; then&lt;br /&gt;
            bit_send &amp;lt;= &amp;#039;1&amp;#039;;&lt;br /&gt;
         elsif	 clk_teller_2 = &amp;quot;0000&amp;quot; then&lt;br /&gt;
            bit_send &amp;lt;= &amp;#039;0&amp;#039;;&lt;br /&gt;
         end if;&lt;br /&gt;
      end if;&lt;br /&gt;
   end process;&lt;br /&gt;
&lt;br /&gt;
end Behavioral;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
---------------------------------&lt;br /&gt;
--Tor Aleksander Birk Danielsen--&lt;br /&gt;
--       sender RS232          --&lt;br /&gt;
--        10.04.2005           --&lt;br /&gt;
---------------------------------&lt;br /&gt;
library IEEE;&lt;br /&gt;
use IEEE.STD_LOGIC_1164.ALL;&lt;br /&gt;
use IEEE.STD_LOGIC_ARITH.ALL;&lt;br /&gt;
use IEEE.STD_LOGIC_UNSIGNED.ALL;&lt;br /&gt;
&lt;br /&gt;
entity rs232_tx is&lt;br /&gt;
   port( clk_tx   :  in   std_logic;  --clk 16 * baudrateklokke&lt;br /&gt;
         reset    :  in   std_logic;  --global reset&lt;br /&gt;
         bit_send :  in   std_logic;  --pulstog 1*baudrate&lt;br /&gt;
         send     :  in   std_logic;  --starter transmitt&lt;br /&gt;
         data     :  in   std_logic_vector(7 downto 0); --data som skal sendes&lt;br /&gt;
         tx       :  out  std_logic;  --transmittpinne&lt;br /&gt;
         opptatt  :  out  std_logic); --sender opptatt signal&lt;br /&gt;
end rs232_tx;&lt;br /&gt;
&lt;br /&gt;
architecture Behavioral of rs232_tx is&lt;br /&gt;
   type 	 tilstander is (idle, start_sending, sender, stop_send);&lt;br /&gt;
   signal sende_data :       tilstander := idle;&lt;br /&gt;
   signal transmitt_buffer : std_logic_vector(9 downto 0); 	--transmitt buffer (10 bit)&lt;br /&gt;
   signal transmitt_data : 	  std_logic_vector(7 downto 0);   	--inneholder databyte som skal sendes&lt;br /&gt;
   signal bit_teller:        integer := 9;&lt;br /&gt;
begin&lt;br /&gt;
&lt;br /&gt;
-------------------------&lt;br /&gt;
--senderutine for rs232--&lt;br /&gt;
-------------------------&lt;br /&gt;
   sender_rs232: process (reset, clk_tx)&lt;br /&gt;
   begin&lt;br /&gt;
      if reset=&amp;#039;0&amp;#039; then&lt;br /&gt;
         opptatt &amp;lt;= &amp;#039;0&amp;#039;;&lt;br /&gt;
         sende_data &amp;lt;= idle;&lt;br /&gt;
         transmitt_buffer &amp;lt;= (others=&amp;gt; &amp;#039;1&amp;#039;);&lt;br /&gt;
      elsif rising_edge(clk_tx) then&lt;br /&gt;
         case sende_data  is&lt;br /&gt;
            when idle =&amp;gt;&lt;br /&gt;
               if send = &amp;#039;0&amp;#039; then&lt;br /&gt;
                  transmitt_data &amp;lt;= data;&lt;br /&gt;
                  opptatt &amp;lt;= &amp;#039;1&amp;#039;;&lt;br /&gt;
                  sende_data &amp;lt;= start_sending;&lt;br /&gt;
               else&lt;br /&gt;
                  opptatt &amp;lt;= &amp;#039;0&amp;#039;;&lt;br /&gt;
               end if;&lt;br /&gt;
&lt;br /&gt;
            when start_sending =&amp;gt;&lt;br /&gt;
               if bit_send = &amp;#039;1&amp;#039; then&lt;br /&gt;
                  sende_data &amp;lt;= sender;&lt;br /&gt;
                  bit_teller &amp;lt;= 9;&lt;br /&gt;
                  transmitt_buffer &amp;lt;= &amp;#039;1&amp;#039; &amp;amp; transmitt_data &amp;amp; &amp;#039;0&amp;#039;;&lt;br /&gt;
               end if;&lt;br /&gt;
&lt;br /&gt;
            when sender =&amp;gt;&lt;br /&gt;
               if bit_send	= &amp;#039;1&amp;#039; then&lt;br /&gt;
                  bit_teller &amp;lt;= bit_teller - 1;&lt;br /&gt;
                  transmitt_buffer &amp;lt;= &amp;#039;1&amp;#039; &amp;amp; transmitt_buffer(transmitt_buffer&amp;#039;high downto 1);&lt;br /&gt;
                  if bit_teller = 1 then&lt;br /&gt;
                     sende_data &amp;lt;= stop_send;&lt;br /&gt;
                  end if;&lt;br /&gt;
               end if;&lt;br /&gt;
&lt;br /&gt;
            when stop_send =&amp;gt;&lt;br /&gt;
               if bit_send = &amp;#039;1&amp;#039; then&lt;br /&gt;
                  sende_data &amp;lt;= idle;&lt;br /&gt;
               end if;&lt;br /&gt;
&lt;br /&gt;
            When others =&amp;gt;&lt;br /&gt;
               sende_data &amp;lt;= idle;&lt;br /&gt;
 &lt;br /&gt;
         end case;			&lt;br /&gt;
      end if;&lt;br /&gt;
   end process;&lt;br /&gt;
   tx &amp;lt;= transmitt_buffer(0);&lt;br /&gt;
end Behavioral;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trykk så &amp;quot;Add Source&amp;quot; og legg begge filene til prosjektet. På spørsmål om filtype velg &amp;quot;VHDL design file&amp;quot;. Trykk så &amp;quot;Next&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_35.jpg]]&lt;br /&gt;
&lt;br /&gt;
Du vil nå få opp et sammendrag av prosjektet ditt. Trykk &amp;quot;Finish&amp;quot; og prosjektet vil bli generert.&lt;br /&gt;
&lt;br /&gt;
=== Lage koden ===&lt;br /&gt;
&lt;br /&gt;
Vi har nå en main fil samt en fil med klokkekode og en fil med transisjonskode. Neste steg bli å inkludere klokken og senderen i hovedfilene vår. Dobbeltklikk på filen &amp;quot;RS232_main.vhd&amp;quot; under &amp;quot;Module View&amp;quot; for å åpne filen for editering. Legg til følgende kodebit mellom &amp;quot;architecture ..&amp;quot; og &amp;quot;begin&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--legger til komponenter&lt;br /&gt;
   component rs232_clk&lt;br /&gt;
      port ( clk              : in    std_logic;&lt;br /&gt;
             reset            : in    std_logic;&lt;br /&gt;
             clk_tx           : out   std_logic; &lt;br /&gt;
             bit_send         : out   std_logic);&lt;br /&gt;
   end component;&lt;br /&gt;
&lt;br /&gt;
   component rs232_tx&lt;br /&gt;
      port ( clk_tx           : in    std_logic;&lt;br /&gt;
             reset            : in    std_logic;  &lt;br /&gt;
             bit_send         : in    std_logic;&lt;br /&gt;
             send             : in    std_logic;&lt;br /&gt;
             data             : in    std_logic_vector(7 downto 0);&lt;br /&gt;
             tx               : out   std_logic;&lt;br /&gt;
             opptatt          : out   std_logic);&lt;br /&gt;
   end component;&lt;br /&gt;
&lt;br /&gt;
--definere interne signaler&lt;br /&gt;
   signal bit_send   : std_logic;&lt;br /&gt;
   signal clk_tx     : std_logic;             &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Etter begin legges følgende kodebit inn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- kobler klokke og tx signaler til rs232_main entity sig.&lt;br /&gt;
   klokke_gen: rs232_clk&lt;br /&gt;
      port map( clk,&lt;br /&gt;
                reset,&lt;br /&gt;
                clk_tx, &lt;br /&gt;
                bit_send);&lt;br /&gt;
&lt;br /&gt;
   transmitt: rs232_tx&lt;br /&gt;
      port map( clk_tx,&lt;br /&gt;
                reset,  &lt;br /&gt;
                bit_send,&lt;br /&gt;
                send,&lt;br /&gt;
                data,&lt;br /&gt;
                tx,&lt;br /&gt;
                opptatt);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filen [[Media:RS232_main.vhd]] kan lastes ned ferdig hvis du er usikker på om du har lagt inn koden korrekt. Når du er ferdig med å redigere main filen tar du å lagrer prosjektet. Neste steg blir å test om koden er korekt. I &amp;quot;prosess View&amp;quot; vinduet går du til &amp;quot;Design Utilities&amp;quot; og dobbelklikker på &amp;quot;Check Syntax for Simulation&amp;quot;. Har du gjort alt korekt skal du ikke få noen feilmelding nå. I &amp;quot;Module view&amp;quot; kan du også se at RS232_clk og RS232_tx har blitt underordnet RS232_main.&lt;br /&gt;
&lt;br /&gt;
=== Legge til pinner ===&lt;br /&gt;
&lt;br /&gt;
Neste steg er å legge til &amp;quot;user constraints&amp;quot; som i vårt tilfelle betyr å definere hvilke pinner som skal til hviken port. I &amp;quot;Module View&amp;quot; menyen markerer du filen RS232_main.vhd da det er denne filen du ønsker å legge &amp;quot;User Constraints&amp;quot; til. Når filen er markert går du til &amp;quot;Prosess View&amp;quot; vinduet og velger &amp;quot;User Constraints&amp;quot; menyen. Dobbeltklikk på &amp;quot;Assign Package Pins&amp;quot;. Du vil nå få spørsmål om du vil legge til en UCF fil til prosjektet. Trykk &amp;quot;Yes&amp;quot;. Du får nå opp et nytt vindu. I &amp;quot;Design Object List&amp;quot; vinduet har du en oversikt over alle IO porter i prosjektet ditt. Vi skal nå legge inn pinnr i &amp;quot;Loc&amp;quot; til hver av portene. Legg til følgene:&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_36.jpg]]&lt;br /&gt;
&lt;br /&gt;
Når du er ferdig lagrer du og avslutter hele 2Xilinx Pace&amp;quot; vinduet. Du har nå fått generert en UCF fil til prosjektet ditt som inneholder følgende:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#PACE: Start of Constraints generated by PACE&lt;br /&gt;
&lt;br /&gt;
#PACE: Start of PACE I/O Pin Assignments&lt;br /&gt;
NET &amp;quot;clk&amp;quot;  LOC = &amp;quot;B13&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;0&amp;gt;&amp;quot;  LOC = &amp;quot;AD11&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;1&amp;gt;&amp;quot;  LOC = &amp;quot;AC12&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;2&amp;gt;&amp;quot;  LOC = &amp;quot;AC13&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;3&amp;gt;&amp;quot;  LOC = &amp;quot;AD13&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;4&amp;gt;&amp;quot;  LOC = &amp;quot;AC14&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;5&amp;gt;&amp;quot;  LOC = &amp;quot;AD14&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;6&amp;gt;&amp;quot;  LOC = &amp;quot;AC15&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;data&amp;lt;7&amp;gt;&amp;quot;  LOC = &amp;quot;AB7&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;opptatt&amp;quot;  LOC = &amp;quot;AE9&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;reset&amp;quot;  LOC = &amp;quot;AB9&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;send&amp;quot;  LOC = &amp;quot;AA11&amp;quot;  ;&lt;br /&gt;
NET &amp;quot;tx&amp;quot;  LOC = &amp;quot;T7&amp;quot;  ;&lt;br /&gt;
&lt;br /&gt;
#PACE: Start of PACE Area Constraints&lt;br /&gt;
&lt;br /&gt;
#PACE: Start of PACE Prohibit Constraints&lt;br /&gt;
&lt;br /&gt;
#PACE: End of Constraints generated by PACE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sythesisering og Implementering ===&lt;br /&gt;
 &lt;br /&gt;
Neste steg blir å Synthesiserer og implementere deisgnet vårt. Marker igjen filen RS232_main.vhd i &amp;quot;Module View&amp;quot; vinduet og dobbeltklikk på &amp;quot;Genreate Programming File&amp;quot; i &amp;quot;Process View&amp;quot;. Du vil nå få generert en bit fil som kan lastes over i FPGA&amp;#039;en.&lt;br /&gt;
&lt;br /&gt;
=== Programering og testing ===&lt;br /&gt;
&lt;br /&gt;
Vi skal nå programmere FPGA&amp;#039;en. Sørg for at det er strøm på kortet og at programmeringsadapterert er koblet til. Start også hyperterminal med med en baudrate på 9600kbps. Gå til &amp;quot;Process View&amp;quot; og dobeltklikk på &amp;quot;Configure Device(iMPACT). Du åpner nå iMPACT programmet. På spørsmålom konfigurerig velg &amp;quot;Boundary-Scan mode&amp;quot;. I neste vindu velger du automatisk tilkobling. Trykk så &amp;quot;Finish&amp;quot;. iMPACT vil nå automatisk sjekke hvor mange og hvilke type FPGA&amp;#039;er som er koblet til programmeringsadapterert. Du vil få et vindu som sier at en enhet er funnet. Trykk &amp;quot;Ok&amp;quot;. Du får nå opp et vindu der du blir bedt om å tilordne en new configureringsfil. Velg filen rs232_main.bit. Du får nå opp en advarsel. Ignorer denne og trykk &amp;quot;Ok&amp;quot;. Høyreklikk på bildet av Virtex4 og velg &amp;quot;porgram...&amp;quot;. Trykk så &amp;quot;Ok&amp;quot;. Du vil nå programere FPGA&amp;#039;en.&lt;br /&gt;
&lt;br /&gt;
[[Image:EDK_XPS_37.jpg]]&lt;br /&gt;
&lt;br /&gt;
Hvis du nå trykker &amp;quot;Push2&amp;quot; bryteren vil du få bittmønsteret til DIP-bryterene oversendt til hyperterminal som ASCII kode. Du har nå suksessfult laget og implementert VHDL kode med ISE.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mikroelektronikk]]&lt;/div&gt;</summary>
		<author><name>Nfyku</name></author>
	</entry>
</feed>