Added autoincrement ability and updated top level schematic.

This commit is contained in:
id101010
2016-06-06 21:43:25 +02:00
parent 45b78fe93e
commit ff913a6544
5 changed files with 258 additions and 244 deletions

View File

@@ -1,41 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<symbol version="7" name="lcd_driver">
<symboltype>BLOCK</symboltype>
<timestamp>2016-6-3T16:19:19</timestamp>
<pin polarity="Input" x="0" y="-352" name="clk" />
<pin polarity="Input" x="0" y="-288" name="reset" />
<pin polarity="Input" x="0" y="-224" name="new_character" />
<pin polarity="Input" x="0" y="-160" name="new_pos" />
<pin polarity="Input" x="0" y="-96" name="auto_incr_cursor" />
<timestamp>2016-6-6T19:34:31</timestamp>
<pin polarity="Input" x="0" y="-288" name="clk" />
<pin polarity="Input" x="0" y="-224" name="reset" />
<pin polarity="Input" x="0" y="-160" name="new_character" />
<pin polarity="Input" x="0" y="-96" name="new_pos" />
<pin polarity="Input" x="0" y="-32" name="data(7:0)" />
<pin polarity="Output" x="432" y="-352" name="busy" />
<pin polarity="Output" x="432" y="-256" name="lcd_en" />
<pin polarity="Output" x="432" y="-160" name="lcd_rs" />
<pin polarity="Output" x="432" y="-64" name="lcd_db(7:0)" />
<pin polarity="Output" x="416" y="-288" name="busy" />
<pin polarity="Output" x="416" y="-208" name="lcd_en" />
<pin polarity="Output" x="416" y="-128" name="lcd_rs" />
<pin polarity="Output" x="416" y="-48" name="lcd_db(7:0)" />
<graph>
<rect width="304" x="64" y="-384" height="384" />
<attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="216" y="-392" type="symbol" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-352" type="pin clk" />
<line x2="0" y1="-352" y2="-352" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-288" type="pin reset" />
<rect width="288" x="64" y="-320" height="320" />
<attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="208" y="-328" type="symbol" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-288" type="pin clk" />
<line x2="0" y1="-288" y2="-288" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-224" type="pin new_character" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-224" type="pin reset" />
<line x2="0" y1="-224" y2="-224" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-160" type="pin new_pos" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-160" type="pin new_character" />
<line x2="0" y1="-160" y2="-160" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-96" type="pin auto_incr_cursor" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-96" type="pin new_pos" />
<line x2="0" y1="-96" y2="-96" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin data(7:0)" />
<rect width="64" x="0" y="-44" height="24" />
<line x2="0" y1="-32" y2="-32" x1="64" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="360" y="-352" type="pin busy" />
<line x2="432" y1="-352" y2="-352" x1="368" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="360" y="-256" type="pin lcd_en" />
<line x2="432" y1="-256" y2="-256" x1="368" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="360" y="-160" type="pin lcd_rs" />
<line x2="432" y1="-160" y2="-160" x1="368" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="360" y="-64" type="pin lcd_db(7:0)" />
<rect width="64" x="368" y="-76" height="24" />
<line x2="432" y1="-64" y2="-64" x1="368" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="344" y="-288" type="pin busy" />
<line x2="416" y1="-288" y2="-288" x1="352" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="344" y="-208" type="pin lcd_en" />
<line x2="416" y1="-208" y2="-208" x1="352" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="344" y="-128" type="pin lcd_rs" />
<line x2="416" y1="-128" y2="-128" x1="352" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="344" y="-48" type="pin lcd_db(7:0)" />
<rect width="64" x="352" y="-60" height="24" />
<line x2="416" y1="-48" y2="-48" x1="352" />
</graph>
</symbol>

View File

@@ -53,7 +53,6 @@ entity lcd_driver is
data : in STD_LOGIC_VECTOR (7 downto 0); -- either one ascii char (8bit) or new cursor position (0-31)
new_character : in STD_LOGIC; -- a new character is available on the data bus
new_pos : in STD_LOGIC; -- a new cursor position is available on the data bus
auto_incr_cursor : in STD_LOGIC; -- the cursor should automatically be incremented after writing a new character
busy : out STD_LOGIC; -- 1 when sending stuff
lcd_db : out STD_LOGIC_VECTOR (7 downto 0); -- lcd databus
lcd_en : out STD_LOGIC; -- lcd enable
@@ -64,16 +63,17 @@ architecture Behavioral of lcd_driver is
-- type definitions
type display_state is (
INIT, -- initialization, wait for 40ms to pass
SEND_FS1, -- send the function set
SEND_FS2, -- send the function set
SEND_SD, -- send the display ON/OFF control
SEND_CD, -- send a clear
SEND_ES, -- send entry mode set
WAITING1, -- wait and toggle lcd_en
WAITING2, -- wait and toggle lcd_en
WAITING3, -- wait and toggle lcd_en
DONE); -- initialization done
INIT, -- initialization, wait for 40ms to pass
SEND_FS1, -- send the function set
SEND_FS2, -- send the function set
SEND_SD, -- send the display ON/OFF control
SEND_CD, -- send a clear
SEND_ES, -- send entry mode set
SEND_ADRESS, -- send a new adress
WAITING1, -- wait and toggle lcd_en
WAITING2, -- wait and toggle lcd_en
WAITING3, -- wait and toggle lcd_en
DONE); -- initialization done
-- signals
signal cur_state : display_state := INIT; -- cur_state register
@@ -208,6 +208,17 @@ begin
next_ret_state <= DONE;
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
next_state <= WAITING1;
when SEND_ADRESS => -- entry set mode
next_lcd_db <= '1' & data(6 downto 0);
next_lcd_en <= '1';
next_lcd_rs <= '0';
next_counter <= (others => '0');
next_ret_state <= DONE;
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
next_state <= WAITING1;
when DONE => -- initialization done
@@ -216,12 +227,19 @@ begin
next_lcd_rs <= '0';
if(new_character = '1') then -- send data
next_lcd_rs <= '1';
next_lcd_rs <= '1';
next_counter <= (others => '0');
next_ret_state <= DONE;
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
next_state <= WAITING1;
next_lcd_db <= data;
next_lcd_db <= data;
elsif(new_pos = '1') then -- new address
next_lcd_rs <= '0';
next_counter <= (others => '0');
next_ret_state <= SEND_ADRESS;
next_ret_counter <= to_unsigned(PAUSE_COUNT,NBITS);
next_state <= WAITING1;
next_lcd_db <= "000001" & data(7) & '0';
end if;
when WAITING1 => -- wait with jump

View File

@@ -8,4 +8,4 @@ MODULE toplevel
SUBMODULE rotary_dec
INSTANCE XLXI_43
SUBMODULE lcd_driver
INSTANCE XLXI_45
INSTANCE XLXI_88

View File

@@ -6,6 +6,7 @@
<trait edittrait="all:0" />
</attr>
<netlist>
<signal name="XLXN_131" />
<signal name="FORM(1:0)" />
<signal name="FORM(0)" />
<signal name="FORM(1)" />
@@ -20,8 +21,6 @@
<signal name="J18_IO2" />
<signal name="J18_IO3" />
<signal name="J18_IO1" />
<signal name="XLXN_30" />
<signal name="DAC_CLR" />
<signal name="LED0" />
<signal name="SW0" />
<signal name="SW1" />
@@ -32,17 +31,17 @@
<signal name="XLXN_77" />
<signal name="XLXN_78" />
<signal name="XLXN_79" />
<signal name="XLXN_70" />
<signal name="LCD_busy">
</signal>
<signal name="LCD_busy" />
<signal name="LCD_RS" />
<signal name="LCD_DB(7:0)" />
<signal name="XLXN_92(7:0)" />
<signal name="XLXN_93" />
<signal name="LCD_RW" />
<signal name="XLXN_95" />
<signal name="XLXN_96" />
<signal name="XLXN_170" />
<signal name="XLXN_70" />
<signal name="LCD_E" />
<signal name="XLXN_176" />
<signal name="XLXN_177(7:0)" />
<signal name="LCD_DB(7:0)" />
<signal name="LCD_RW" />
<signal name="XLXN_30" />
<signal name="DAC_CLR" />
<port polarity="Input" name="CLK_50MHZ" />
<port polarity="Output" name="SPI_SCK" />
<port polarity="Output" name="DAC_CS" />
@@ -51,7 +50,6 @@
<port polarity="Output" name="J18_IO2" />
<port polarity="Output" name="J18_IO3" />
<port polarity="Output" name="J18_IO1" />
<port polarity="Output" name="DAC_CLR" />
<port polarity="Output" name="LED0" />
<port polarity="Input" name="SW0" />
<port polarity="Input" name="SW1" />
@@ -59,9 +57,10 @@
<port polarity="Input" name="ROT_B" />
<port polarity="Input" name="ROT_CENTER" />
<port polarity="Output" name="LCD_RS" />
<port polarity="Output" name="LCD_E" />
<port polarity="Output" name="LCD_DB(7:0)" />
<port polarity="Output" name="LCD_RW" />
<port polarity="Output" name="LCD_E" />
<port polarity="Output" name="DAC_CLR" />
<blockdef name="spi_driver">
<timestamp>2016-5-20T8:33:2</timestamp>
<rect width="256" x="64" y="-192" height="192" />
@@ -134,20 +133,19 @@
<line x2="384" y1="-32" y2="-32" x1="320" />
</blockdef>
<blockdef name="lcd_driver">
<timestamp>2016-6-3T16:19:19</timestamp>
<rect width="304" x="64" y="-384" height="384" />
<line x2="0" y1="-352" y2="-352" x1="64" />
<timestamp>2016-6-6T19:34:31</timestamp>
<rect width="288" x="64" y="-320" height="320" />
<line x2="0" y1="-288" y2="-288" x1="64" />
<line x2="0" y1="-224" y2="-224" x1="64" />
<line x2="0" y1="-160" y2="-160" x1="64" />
<line x2="0" y1="-96" y2="-96" x1="64" />
<rect width="64" x="0" y="-44" height="24" />
<line x2="0" y1="-32" y2="-32" x1="64" />
<line x2="432" y1="-352" y2="-352" x1="368" />
<line x2="432" y1="-256" y2="-256" x1="368" />
<line x2="432" y1="-160" y2="-160" x1="368" />
<rect width="64" x="368" y="-76" height="24" />
<line x2="432" y1="-64" y2="-64" x1="368" />
<line x2="416" y1="-288" y2="-288" x1="352" />
<line x2="416" y1="-208" y2="-208" x1="352" />
<line x2="416" y1="-128" y2="-128" x1="352" />
<rect width="64" x="352" y="-60" height="24" />
<line x2="416" y1="-48" y2="-48" x1="352" />
</blockdef>
<block symbolname="dds" name="XLXI_2">
<blockpin signalname="CLK_50MHZ" name="clk" />
@@ -182,13 +180,6 @@
<blockpin signalname="CLK_50MHZ" name="I" />
<blockpin signalname="J18_IO1" name="O" />
</block>
<block symbolname="buf" name="XLXI_19">
<blockpin signalname="XLXN_30" name="I" />
<blockpin signalname="DAC_CLR" name="O" />
</block>
<block symbolname="vcc" name="XLXI_20">
<blockpin signalname="XLXN_30" name="P" />
</block>
<block symbolname="buf" name="XLXI_25">
<blockpin signalname="SW0" name="I" />
<blockpin signalname="FORM(0)" name="O" />
@@ -201,14 +192,6 @@
<blockpin signalname="SW0" name="I" />
<blockpin signalname="LED0" name="O" />
</block>
<block symbolname="rotary_dec" name="XLXI_43">
<blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="ROT_A" name="A" />
<blockpin signalname="ROT_B" name="B" />
<blockpin signalname="XLXN_77" name="up_down" />
<blockpin signalname="XLXN_78" name="ce" />
<blockpin signalname="XLXN_79" name="error" />
</block>
<block symbolname="gnd" name="XLXI_44">
<blockpin signalname="XLXN_68" name="G" />
</block>
@@ -217,23 +200,30 @@
<blockpin signalname="XLXN_68" name="rst" />
<blockpin signalname="XLXN_79" name="enc_err" />
<blockpin signalname="LCD_busy" name="lcd_busy" />
<blockpin signalname="XLXN_93" name="lcd_newchar" />
<blockpin signalname="XLXN_176" name="lcd_newchar" />
<blockpin signalname="FREQ(16:0)" name="freq_out(16:0)" />
<blockpin signalname="XLXN_77" name="enc_updown" />
<blockpin signalname="XLXN_78" name="enc_ce" />
<blockpin signalname="ROT_CENTER" name="enc_btn" />
<blockpin signalname="XLXN_92(7:0)" name="lcd_data(7:0)" />
<blockpin signalname="XLXN_177(7:0)" name="lcd_data(7:0)" />
</block>
<block symbolname="rotary_dec" name="XLXI_43">
<blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="ROT_A" name="A" />
<blockpin signalname="ROT_B" name="B" />
<blockpin signalname="XLXN_77" name="up_down" />
<blockpin signalname="XLXN_78" name="ce" />
<blockpin signalname="XLXN_79" name="error" />
</block>
<block symbolname="gnd" name="XLXI_46">
<blockpin signalname="XLXN_70" name="G" />
</block>
<block symbolname="lcd_driver" name="XLXI_45">
<block symbolname="lcd_driver" name="XLXI_88">
<blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="XLXN_70" name="reset" />
<blockpin signalname="XLXN_93" name="new_character" />
<blockpin signalname="XLXN_176" name="new_character" />
<blockpin name="new_pos" />
<blockpin name="auto_incr_cursor" />
<blockpin signalname="XLXN_92(7:0)" name="data(7:0)" />
<blockpin signalname="XLXN_177(7:0)" name="data(7:0)" />
<blockpin signalname="LCD_busy" name="busy" />
<blockpin signalname="LCD_E" name="lcd_en" />
<blockpin signalname="LCD_RS" name="lcd_rs" />
@@ -242,219 +232,234 @@
<block symbolname="gnd" name="XLXI_51">
<blockpin signalname="LCD_RW" name="G" />
</block>
<block symbolname="buf" name="XLXI_19">
<blockpin signalname="XLXN_30" name="I" />
<blockpin signalname="DAC_CLR" name="O" />
</block>
<block symbolname="vcc" name="XLXI_20">
<blockpin signalname="XLXN_30" name="P" />
</block>
</netlist>
<sheet sheetnum="1" width="5440" height="3520">
<instance x="2256" y="1520" name="XLXI_2" orien="R0">
<instance x="2944" y="2192" name="XLXI_2" orien="R0">
</instance>
<instance x="2848" y="1376" name="XLXI_1" orien="R0">
<instance x="3536" y="2048" name="XLXI_1" orien="R0">
</instance>
<branch name="FORM(1:0)">
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="2128" y="1488" type="branch" />
<wire x2="2128" y1="1488" y2="1504" x1="2128" />
<wire x2="2128" y1="1504" y2="1536" x1="2128" />
<wire x2="2256" y1="1488" y2="1488" x1="2128" />
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="2816" y="2160" type="branch" />
<wire x2="2816" y1="2160" y2="2176" x1="2816" />
<wire x2="2816" y1="2176" y2="2208" x1="2816" />
<wire x2="2944" y1="2160" y2="2160" x1="2816" />
</branch>
<bustap x2="2032" y1="1504" y2="1504" x1="2128" />
<bustap x2="2032" y1="1536" y2="1536" x1="2128" />
<bustap x2="2720" y1="2176" y2="2176" x1="2816" />
<bustap x2="2720" y1="2208" y2="2208" x1="2816" />
<branch name="FORM(0)">
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="1936" y="1504" type="branch" />
<wire x2="1936" y1="1504" y2="1504" x1="1824" />
<wire x2="2032" y1="1504" y2="1504" x1="1936" />
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="2624" y="2176" type="branch" />
<wire x2="2624" y1="2176" y2="2176" x1="2512" />
<wire x2="2720" y1="2176" y2="2176" x1="2624" />
</branch>
<branch name="FORM(1)">
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="1936" y="1568" type="branch" />
<wire x2="1936" y1="1568" y2="1568" x1="1824" />
<wire x2="2032" y1="1568" y2="1568" x1="1936" />
<wire x2="2032" y1="1536" y2="1568" x1="2032" />
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="2624" y="2240" type="branch" />
<wire x2="2624" y1="2240" y2="2240" x1="2512" />
<wire x2="2720" y1="2240" y2="2240" x1="2624" />
<wire x2="2720" y1="2208" y2="2240" x1="2720" />
</branch>
<branch name="CLK_50MHZ">
<wire x2="2256" y1="1360" y2="1360" x1="2224" />
<wire x2="2944" y1="2032" y2="2032" x1="2912" />
</branch>
<branch name="XLXN_9(11:0)">
<wire x2="2736" y1="1360" y2="1360" x1="2640" />
<wire x2="2736" y1="1344" y2="1360" x1="2736" />
<wire x2="2848" y1="1344" y2="1344" x1="2736" />
<wire x2="3424" y1="2032" y2="2032" x1="3328" />
<wire x2="3424" y1="2016" y2="2032" x1="3424" />
<wire x2="3536" y1="2016" y2="2016" x1="3424" />
</branch>
<instance x="2576" y="1264" name="XLXI_7" orien="R0" />
<instance x="3264" y="1936" name="XLXI_7" orien="R0" />
<branch name="XLXN_10">
<wire x2="2640" y1="1072" y2="1136" x1="2640" />
<wire x2="2720" y1="1072" y2="1072" x1="2640" />
<wire x2="2720" y1="1072" y2="1280" x1="2720" />
<wire x2="2848" y1="1280" y2="1280" x1="2720" />
<wire x2="3328" y1="1744" y2="1808" x1="3328" />
<wire x2="3408" y1="1744" y2="1744" x1="3328" />
<wire x2="3408" y1="1744" y2="1952" x1="3408" />
<wire x2="3536" y1="1952" y2="1952" x1="3408" />
</branch>
<branch name="SPI_SCK">
<wire x2="3264" y1="1216" y2="1216" x1="3232" />
<wire x2="3392" y1="1216" y2="1216" x1="3264" />
<wire x2="3264" y1="1136" y2="1216" x1="3264" />
<wire x2="3392" y1="1136" y2="1136" x1="3264" />
<wire x2="3952" y1="1888" y2="1888" x1="3920" />
<wire x2="4080" y1="1888" y2="1888" x1="3952" />
<wire x2="3952" y1="1808" y2="1888" x1="3952" />
<wire x2="4080" y1="1808" y2="1808" x1="3952" />
</branch>
<branch name="DAC_CS">
<wire x2="3264" y1="1280" y2="1280" x1="3232" />
<wire x2="3392" y1="1280" y2="1280" x1="3264" />
<wire x2="3264" y1="1248" y2="1280" x1="3264" />
<wire x2="3616" y1="1248" y2="1248" x1="3264" />
<wire x2="3952" y1="1952" y2="1952" x1="3920" />
<wire x2="4080" y1="1952" y2="1952" x1="3952" />
<wire x2="3952" y1="1920" y2="1952" x1="3952" />
<wire x2="4304" y1="1920" y2="1920" x1="3952" />
</branch>
<branch name="SPI_MOSI">
<wire x2="3264" y1="1344" y2="1344" x1="3232" />
<wire x2="3392" y1="1344" y2="1344" x1="3264" />
<wire x2="3264" y1="1312" y2="1344" x1="3264" />
<wire x2="3616" y1="1312" y2="1312" x1="3264" />
<wire x2="3952" y1="2016" y2="2016" x1="3920" />
<wire x2="4080" y1="2016" y2="2016" x1="3952" />
<wire x2="3952" y1="1984" y2="2016" x1="3952" />
<wire x2="4304" y1="1984" y2="1984" x1="3952" />
</branch>
<branch name="FREQ(16:0)">
<attrtext style="alignment:SOFT-LEFT;fontsize:28;fontname:Arial" attrname="Name" x="2075" y="1424" type="branch" />
<wire x2="1904" y1="1056" y2="1056" x1="1536" />
<wire x2="1904" y1="1056" y2="1424" x1="1904" />
<wire x2="2256" y1="1424" y2="1424" x1="1904" />
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="2763" y="2096" type="branch" />
<wire x2="2592" y1="1728" y2="1728" x1="2224" />
<wire x2="2592" y1="1728" y2="2096" x1="2592" />
<wire x2="2763" y1="2096" y2="2096" x1="2592" />
<wire x2="2944" y1="2096" y2="2096" x1="2763" />
</branch>
<instance x="3392" y="1168" name="XLXI_14" orien="R0" />
<instance x="4080" y="1840" name="XLXI_14" orien="R0" />
<branch name="J18_IO4">
<wire x2="3648" y1="1136" y2="1136" x1="3616" />
<wire x2="4336" y1="1808" y2="1808" x1="4304" />
</branch>
<instance x="3616" y="1280" name="XLXI_15" orien="R0" />
<instance x="3616" y="1344" name="XLXI_16" orien="R0" />
<instance x="4304" y="1952" name="XLXI_15" orien="R0" />
<instance x="4304" y="2016" name="XLXI_16" orien="R0" />
<branch name="J18_IO2">
<wire x2="3872" y1="1248" y2="1248" x1="3840" />
<wire x2="4560" y1="1920" y2="1920" x1="4528" />
</branch>
<branch name="J18_IO3">
<wire x2="3872" y1="1312" y2="1312" x1="3840" />
<wire x2="4560" y1="1984" y2="1984" x1="4528" />
</branch>
<branch name="CLK_50MHZ">
<wire x2="2832" y1="960" y2="960" x1="2784" />
<wire x2="2832" y1="960" y2="1216" x1="2832" />
<wire x2="2848" y1="1216" y2="1216" x1="2832" />
<wire x2="2944" y1="960" y2="960" x1="2832" />
<wire x2="3520" y1="1632" y2="1632" x1="3472" />
<wire x2="3520" y1="1632" y2="1888" x1="3520" />
<wire x2="3536" y1="1888" y2="1888" x1="3520" />
<wire x2="3632" y1="1632" y2="1632" x1="3520" />
</branch>
<instance x="2944" y="992" name="XLXI_17" orien="R0" />
<instance x="3632" y="1664" name="XLXI_17" orien="R0" />
<branch name="J18_IO1">
<wire x2="3200" y1="960" y2="960" x1="3168" />
<wire x2="3888" y1="1632" y2="1632" x1="3856" />
</branch>
<instance x="3136" y="1840" name="XLXI_19" orien="R0" />
<branch name="XLXN_30">
<wire x2="3136" y1="1808" y2="1808" x1="3104" />
</branch>
<branch name="DAC_CLR">
<wire x2="3392" y1="1808" y2="1808" x1="3360" />
</branch>
<instance x="3040" y="1808" name="XLXI_20" orien="R0" />
<branch name="LED0">
<wire x2="1872" y1="1648" y2="1648" x1="1824" />
<wire x2="2560" y1="2320" y2="2320" x1="2512" />
</branch>
<instance x="1600" y="1536" name="XLXI_25" orien="R0" />
<instance x="1600" y="1600" name="XLXI_26" orien="R0" />
<instance x="2288" y="2208" name="XLXI_25" orien="R0" />
<instance x="2288" y="2272" name="XLXI_26" orien="R0" />
<branch name="SW0">
<wire x2="1568" y1="1504" y2="1504" x1="1504" />
<wire x2="1568" y1="1504" y2="1648" x1="1568" />
<wire x2="1600" y1="1648" y2="1648" x1="1568" />
<wire x2="1600" y1="1504" y2="1504" x1="1568" />
<wire x2="2256" y1="2176" y2="2176" x1="2192" />
<wire x2="2256" y1="2176" y2="2320" x1="2256" />
<wire x2="2288" y1="2320" y2="2320" x1="2256" />
<wire x2="2288" y1="2176" y2="2176" x1="2256" />
</branch>
<branch name="SW1">
<wire x2="1600" y1="1568" y2="1568" x1="1504" />
<wire x2="2288" y1="2240" y2="2240" x1="2192" />
</branch>
<instance x="1600" y="1680" name="XLXI_27" orien="R0" />
<iomarker fontsize="28" x="2224" y="1360" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="3392" y="1216" name="SPI_SCK" orien="R0" />
<iomarker fontsize="28" x="3392" y="1280" name="DAC_CS" orien="R0" />
<iomarker fontsize="28" x="3392" y="1344" name="SPI_MOSI" orien="R0" />
<iomarker fontsize="28" x="3872" y="1248" name="J18_IO2" orien="R0" />
<iomarker fontsize="28" x="3872" y="1312" name="J18_IO3" orien="R0" />
<iomarker fontsize="28" x="3200" y="960" name="J18_IO1" orien="R0" />
<iomarker fontsize="28" x="3648" y="1136" name="J18_IO4" orien="R0" />
<iomarker fontsize="28" x="2784" y="960" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="3392" y="1808" name="DAC_CLR" orien="R0" />
<iomarker fontsize="28" x="1872" y="1648" name="LED0" orien="R0" />
<iomarker fontsize="28" x="1504" y="1568" name="SW1" orien="R180" />
<iomarker fontsize="28" x="1504" y="1504" name="SW0" orien="R180" />
<instance x="2288" y="2352" name="XLXI_27" orien="R0" />
<branch name="CLK_50MHZ">
<wire x2="1088" y1="464" y2="464" x1="1024" />
<wire x2="1088" y1="464" y2="672" x1="1088" />
<wire x2="1104" y1="672" y2="672" x1="1088" />
<wire x2="1776" y1="1136" y2="1136" x1="1712" />
<wire x2="1776" y1="1136" y2="1344" x1="1776" />
<wire x2="1792" y1="1344" y2="1344" x1="1776" />
</branch>
<branch name="ROT_A">
<wire x2="448" y1="928" y2="928" x1="368" />
<wire x2="1136" y1="1600" y2="1600" x1="1056" />
</branch>
<branch name="ROT_B">
<wire x2="448" y1="992" y2="992" x1="368" />
<wire x2="1136" y1="1664" y2="1664" x1="1056" />
</branch>
<branch name="CLK_50MHZ">
<wire x2="448" y1="864" y2="864" x1="368" />
<wire x2="1136" y1="1536" y2="1536" x1="1056" />
</branch>
<instance x="912" y="704" name="XLXI_44" orien="R0" />
<instance x="1600" y="1376" name="XLXI_44" orien="R0" />
<branch name="XLXN_68">
<wire x2="1056" y1="576" y2="576" x1="976" />
<wire x2="1056" y1="576" y2="736" x1="1056" />
<wire x2="1104" y1="736" y2="736" x1="1056" />
<wire x2="1744" y1="1248" y2="1248" x1="1664" />
<wire x2="1744" y1="1248" y2="1408" x1="1744" />
<wire x2="1792" y1="1408" y2="1408" x1="1744" />
</branch>
<branch name="ROT_CENTER">
<wire x2="1104" y1="800" y2="800" x1="1072" />
<wire x2="1792" y1="1472" y2="1472" x1="1760" />
</branch>
<iomarker fontsize="28" x="1024" y="464" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="368" y="928" name="ROT_A" orien="R180" />
<iomarker fontsize="28" x="368" y="992" name="ROT_B" orien="R180" />
<iomarker fontsize="28" x="368" y="864" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="1072" y="800" name="ROT_CENTER" orien="R180" />
<instance x="1104" y="1088" name="XLXI_50" orien="R0">
<instance x="1792" y="1760" name="XLXI_50" orien="R0">
</instance>
<branch name="XLXN_77">
<wire x2="1104" y1="864" y2="864" x1="832" />
<wire x2="1792" y1="1536" y2="1536" x1="1520" />
</branch>
<branch name="XLXN_78">
<wire x2="1104" y1="928" y2="928" x1="832" />
<wire x2="1792" y1="1600" y2="1600" x1="1520" />
</branch>
<branch name="XLXN_79">
<wire x2="1104" y1="992" y2="992" x1="832" />
<wire x2="1792" y1="1664" y2="1664" x1="1520" />
</branch>
<instance x="448" y="1024" name="XLXI_43" orien="R0">
<instance x="1136" y="1696" name="XLXI_43" orien="R0">
</instance>
<branch name="CLK_50MHZ">
<wire x2="2032" y1="464" y2="464" x1="2000" />
</branch>
<branch name="LCD_busy">
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="960" y="352" type="branch" />
<wire x2="96" y1="352" y2="1056" x1="96" />
<wire x2="1104" y1="1056" y2="1056" x1="96" />
<wire x2="960" y1="352" y2="352" x1="96" />
<wire x2="2496" y1="352" y2="352" x1="960" />
<wire x2="2496" y1="352" y2="464" x1="2496" />
<wire x2="2496" y1="464" y2="464" x1="2464" />
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="1648" y="1024" type="branch" />
<wire x2="784" y1="1024" y2="1728" x1="784" />
<wire x2="1792" y1="1728" y2="1728" x1="784" />
<wire x2="1648" y1="1024" y2="1024" x1="784" />
<wire x2="3184" y1="1024" y2="1024" x1="1648" />
<wire x2="3184" y1="1024" y2="1168" x1="3184" />
<wire x2="3184" y1="1168" y2="1168" x1="3152" />
</branch>
<branch name="LCD_RS">
<wire x2="2496" y1="656" y2="656" x1="2464" />
<wire x2="3168" y1="1328" y2="1328" x1="3152" />
<wire x2="3232" y1="1328" y2="1328" x1="3168" />
</branch>
<instance x="2192" y="1232" name="XLXI_46" orien="R0" />
<branch name="XLXN_70">
<wire x2="2256" y1="1088" y2="1104" x1="2256" />
<wire x2="2336" y1="1088" y2="1088" x1="2256" />
<wire x2="2336" y1="1088" y2="1232" x1="2336" />
<wire x2="2736" y1="1232" y2="1232" x1="2336" />
</branch>
<iomarker fontsize="28" x="2912" y="2032" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="4080" y="1888" name="SPI_SCK" orien="R0" />
<iomarker fontsize="28" x="4080" y="1952" name="DAC_CS" orien="R0" />
<iomarker fontsize="28" x="4080" y="2016" name="SPI_MOSI" orien="R0" />
<iomarker fontsize="28" x="4560" y="1920" name="J18_IO2" orien="R0" />
<iomarker fontsize="28" x="4560" y="1984" name="J18_IO3" orien="R0" />
<iomarker fontsize="28" x="3888" y="1632" name="J18_IO1" orien="R0" />
<iomarker fontsize="28" x="4336" y="1808" name="J18_IO4" orien="R0" />
<iomarker fontsize="28" x="3472" y="1632" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="2560" y="2320" name="LED0" orien="R0" />
<iomarker fontsize="28" x="2192" y="2240" name="SW1" orien="R180" />
<iomarker fontsize="28" x="2192" y="2176" name="SW0" orien="R180" />
<iomarker fontsize="28" x="1712" y="1136" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="1056" y="1600" name="ROT_A" orien="R180" />
<iomarker fontsize="28" x="1056" y="1664" name="ROT_B" orien="R180" />
<iomarker fontsize="28" x="1056" y="1536" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="1760" y="1472" name="ROT_CENTER" orien="R180" />
<instance x="2736" y="1456" name="XLXI_88" orien="R0">
</instance>
<iomarker fontsize="28" x="2656" y="1168" name="CLK_50MHZ" orien="R180" />
<branch name="CLK_50MHZ">
<wire x2="2672" y1="1168" y2="1168" x1="2656" />
<wire x2="2720" y1="1168" y2="1168" x1="2672" />
<wire x2="2736" y1="1168" y2="1168" x1="2720" />
</branch>
<branch name="XLXN_176">
<wire x2="2240" y1="1344" y2="1344" x1="2224" />
<wire x2="2480" y1="1344" y2="1344" x1="2240" />
<wire x2="2480" y1="1296" y2="1344" x1="2480" />
<wire x2="2736" y1="1296" y2="1296" x1="2480" />
</branch>
<branch name="XLXN_177(7:0)">
<wire x2="2240" y1="1408" y2="1408" x1="2224" />
<wire x2="2480" y1="1408" y2="1408" x1="2240" />
<wire x2="2480" y1="1408" y2="1424" x1="2480" />
<wire x2="2736" y1="1424" y2="1424" x1="2480" />
</branch>
<branch name="LCD_DB(7:0)">
<wire x2="2496" y1="752" y2="752" x1="2464" />
<wire x2="3168" y1="1408" y2="1408" x1="3152" />
<wire x2="3232" y1="1408" y2="1408" x1="3168" />
</branch>
<instance x="2032" y="816" name="XLXI_45" orien="R0">
</instance>
<iomarker fontsize="28" x="2000" y="464" name="CLK_50MHZ" orien="R180" />
<iomarker fontsize="28" x="2496" y="656" name="LCD_RS" orien="R0" />
<iomarker fontsize="28" x="2496" y="752" name="LCD_DB(7:0)" orien="R0" />
<branch name="XLXN_92(7:0)">
<wire x2="1776" y1="736" y2="736" x1="1536" />
<wire x2="1776" y1="736" y2="784" x1="1776" />
<wire x2="2032" y1="784" y2="784" x1="1776" />
</branch>
<branch name="XLXN_93">
<wire x2="1984" y1="672" y2="672" x1="1536" />
<wire x2="2032" y1="592" y2="592" x1="1984" />
<wire x2="1984" y1="592" y2="672" x1="1984" />
</branch>
<instance x="1504" y="560" name="XLXI_46" orien="R0" />
<branch name="XLXN_70">
<wire x2="1568" y1="416" y2="432" x1="1568" />
<wire x2="1648" y1="416" y2="416" x1="1568" />
<wire x2="1648" y1="416" y2="528" x1="1648" />
<wire x2="2032" y1="528" y2="528" x1="1648" />
</branch>
<instance x="3088" y="640" name="XLXI_51" orien="R0" />
<branch name="LCD_RW">
<wire x2="3184" y1="448" y2="448" x1="3152" />
<wire x2="3152" y1="448" y2="496" x1="3152" />
<wire x2="3152" y1="496" y2="512" x1="3152" />
</branch>
<iomarker fontsize="28" x="3184" y="448" name="LCD_RW" orien="R0" />
<iomarker fontsize="28" x="3232" y="1248" name="LCD_E" orien="R0" />
<branch name="LCD_E">
<wire x2="2496" y1="560" y2="560" x1="2464" />
<wire x2="3184" y1="1248" y2="1248" x1="3152" />
<wire x2="3232" y1="1248" y2="1248" x1="3184" />
</branch>
<iomarker fontsize="28" x="2496" y="560" name="LCD_E" orien="R0" />
<iomarker fontsize="28" x="3232" y="1328" name="LCD_RS" orien="R0" />
<iomarker fontsize="28" x="3232" y="1408" name="LCD_DB(7:0)" orien="R0" />
<instance x="4144" y="1264" name="XLXI_51" orien="R0" />
<branch name="LCD_RW">
<wire x2="4240" y1="1072" y2="1072" x1="4208" />
<wire x2="4208" y1="1072" y2="1120" x1="4208" />
<wire x2="4208" y1="1120" y2="1136" x1="4208" />
</branch>
<iomarker fontsize="28" x="4240" y="1072" name="LCD_RW" orien="R0" />
<instance x="3952" y="2224" name="XLXI_19" orien="R0" />
<branch name="XLXN_30">
<wire x2="3952" y1="2192" y2="2192" x1="3920" />
</branch>
<branch name="DAC_CLR">
<wire x2="4208" y1="2192" y2="2192" x1="4176" />
</branch>
<instance x="3856" y="2192" name="XLXI_20" orien="R0" />
<iomarker fontsize="28" x="4208" y="2192" name="DAC_CLR" orien="R0" />
</sheet>
</drawing>

View File

@@ -225,7 +225,7 @@
</transform>
<transform xil_pn:end_ts="1464954092" xil_pn:in_ck="-1222633688712987584" xil_pn:name="TRAN_ISimulateBehavioralModel" xil_pn:prop_ck="-7301171803071747408" xil_pn:start_ts="1464954092">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="NotReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="OutOfDateForPredecessor"/>
<status xil_pn:value="OutOfDateForOutputs"/>
@@ -237,7 +237,7 @@
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1464971127" xil_pn:in_ck="6038244062278950263" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="6927427346963598489" xil_pn:start_ts="1464971126">
<transform xil_pn:end_ts="1465241870" xil_pn:in_ck="6038244062278950263" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="6927427346963598489" xil_pn:start_ts="1465241869">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="toplevel.vhf"/>
@@ -262,7 +262,7 @@
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1464971141" xil_pn:in_ck="-5804926608689456155" xil_pn:name="TRANEXT_xstsynthesize_spartan3e" xil_pn:prop_ck="1663716282806445198" xil_pn:start_ts="1464971127">
<transform xil_pn:end_ts="1465242071" xil_pn:in_ck="-5804926608689456155" xil_pn:name="TRANEXT_xstsynthesize_spartan3e" xil_pn:prop_ck="1663716282806445198" xil_pn:start_ts="1465242061">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/>
@@ -270,9 +270,7 @@
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name=".lso"/>
<outfile xil_pn:name="_xmsgs/xst.xmsgs"/>
<outfile xil_pn:name="dds.ngr"/>
<outfile xil_pn:name="lcd_driver.ngr"/>
<outfile xil_pn:name="spi_driver.ngr"/>
<outfile xil_pn:name="toplevel.jhd"/>
<outfile xil_pn:name="toplevel.lso"/>
<outfile xil_pn:name="toplevel.ngc"/>
@@ -289,7 +287,7 @@
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
</transform>
<transform xil_pn:end_ts="1464971147" xil_pn:in_ck="-2091007341535647977" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="-1538882668640856751" xil_pn:start_ts="1464971141">
<transform xil_pn:end_ts="1465242075" xil_pn:in_ck="-7078274988114474919" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="-1538882668640856751" xil_pn:start_ts="1465242071">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_ngo"/>
@@ -298,11 +296,9 @@
<outfile xil_pn:name="toplevel.ngd"/>
<outfile xil_pn:name="toplevel_ngdbuild.xrpt"/>
</transform>
<transform xil_pn:end_ts="1464971153" xil_pn:in_ck="1621356785167787192" xil_pn:name="TRANEXT_map_spartan3" xil_pn:prop_ck="570889668722473129" xil_pn:start_ts="1464971147">
<transform xil_pn:end_ts="1465242080" xil_pn:in_ck="4873113828297183478" xil_pn:name="TRANEXT_map_spartan3" xil_pn:prop_ck="570889668722473129" xil_pn:start_ts="1465242075">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForOutputs"/>
<status xil_pn:value="OutputChanged"/>
<outfile xil_pn:name="_xmsgs/map.xmsgs"/>
<outfile xil_pn:name="toplevel.pcf"/>
<outfile xil_pn:name="toplevel_map.map"/>
@@ -313,7 +309,7 @@
<outfile xil_pn:name="toplevel_summary.xml"/>
<outfile xil_pn:name="toplevel_usage.xml"/>
</transform>
<transform xil_pn:end_ts="1464971189" xil_pn:in_ck="985354266144665770" xil_pn:name="TRANEXT_par_spartan3" xil_pn:prop_ck="-988662182046631445" xil_pn:start_ts="1464971153">
<transform xil_pn:end_ts="1465242098" xil_pn:in_ck="2913749866623724303" xil_pn:name="TRANEXT_par_spartan3" xil_pn:prop_ck="-988662182046631445" xil_pn:start_ts="1465242080">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/>
@@ -328,7 +324,7 @@
<outfile xil_pn:name="toplevel_pad.txt"/>
<outfile xil_pn:name="toplevel_par.xrpt"/>
</transform>
<transform xil_pn:end_ts="1464971197" xil_pn:in_ck="8640606860472830956" xil_pn:name="TRANEXT_bitFile_spartan3a" xil_pn:prop_ck="-426368325978129584" xil_pn:start_ts="1464971189">
<transform xil_pn:end_ts="1465242105" xil_pn:in_ck="6038244062278944814" xil_pn:name="TRANEXT_bitFile_spartan3a" xil_pn:prop_ck="-426368325978129584" xil_pn:start_ts="1465242098">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/>
@@ -340,13 +336,11 @@
<outfile xil_pn:name="webtalk.log"/>
<outfile xil_pn:name="webtalk_pn.xml"/>
</transform>
<transform xil_pn:end_ts="1464971012" xil_pn:in_ck="6038244062278931960" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="5767926783713760761" xil_pn:start_ts="1464971002">
<transform xil_pn:end_ts="1465242109" xil_pn:in_ck="6038244062278931960" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="5767926783713760761" xil_pn:start_ts="1465242105">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputChanged"/>
</transform>
<transform xil_pn:end_ts="1464971188" xil_pn:in_ck="6034042283462732464" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416186" xil_pn:start_ts="1464971185">
<transform xil_pn:end_ts="1465242098" xil_pn:in_ck="4873113828297183346" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416186" xil_pn:start_ts="1465242095">
<status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/trce.xmsgs"/>