Simplified Rotary Encoder

This commit is contained in:
T-moe
2016-06-10 12:29:27 +02:00
parent 2cd5d550ae
commit 9cfabb1772
7 changed files with 114 additions and 146 deletions

View File

@@ -1,48 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<symbol version="7" name="controller"> <symbol version="7" name="controller">
<symboltype>BLOCK</symboltype> <symboltype>BLOCK</symboltype>
<timestamp>2016-6-10T7:49:11</timestamp> <timestamp>2016-6-10T10:10:3</timestamp>
<pin polarity="Input" x="0" y="-480" name="clk" /> <pin polarity="Input" x="0" y="-416" name="clk" />
<pin polarity="Input" x="0" y="-416" name="rst" /> <pin polarity="Input" x="0" y="-352" name="rst" />
<pin polarity="Input" x="0" y="-160" name="enc_err" />
<pin polarity="Input" x="0" y="-96" name="lcd_busy" /> <pin polarity="Input" x="0" y="-96" name="lcd_busy" />
<pin polarity="Input" x="0" y="-32" name="form(1:0)" /> <pin polarity="Input" x="0" y="-32" name="form(1:0)" />
<pin polarity="Input" x="0" y="-352" name="enc_btn" /> <pin polarity="Output" x="464" y="-416" name="lcd_newchar" />
<pin polarity="Input" x="0" y="-224" name="enc_ce" /> <pin polarity="Output" x="464" y="-352" name="lcd_newpos" />
<pin polarity="Input" x="0" y="-288" name="enc_updown" /> <pin polarity="Output" x="464" y="-288" name="lcd_data(7:0)" />
<pin polarity="Output" x="544" y="-480" name="lcd_newchar" /> <pin polarity="Output" x="464" y="-224" name="freq_out(16:0)" />
<pin polarity="Output" x="544" y="-416" name="lcd_newpos" /> <pin polarity="Input" x="0" y="-224" name="enc_right" />
<pin polarity="Output" x="544" y="-352" name="lcd_data(7:0)" /> <pin polarity="Input" x="0" y="-160" name="enc_ce" />
<pin polarity="Output" x="544" y="-288" name="freq_out(16:0)" /> <pin polarity="Input" x="0" y="-288" name="enc_btn" />
<graph> <graph>
<rect width="416" x="64" y="-512" height="512" /> <rect width="336" x="64" y="-448" height="448" />
<attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="216" y="-520" type="symbol" /> <attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="192" y="-456" type="symbol" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-480" type="pin clk" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-416" type="pin clk" />
<line x2="0" y1="-480" y2="-480" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-416" type="pin rst" />
<line x2="0" y1="-416" y2="-416" x1="64" /> <line x2="0" y1="-416" y2="-416" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-160" type="pin enc_err" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-352" type="pin rst" />
<line x2="0" y1="-160" y2="-160" x1="64" /> <line x2="0" y1="-352" y2="-352" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-96" type="pin lcd_busy" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-96" type="pin lcd_busy" />
<line x2="0" y1="-96" y2="-96" x1="64" /> <line x2="0" y1="-96" y2="-96" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin form(1:0)" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin form(1:0)" />
<rect width="64" x="0" y="-44" height="24" /> <rect width="64" x="0" y="-44" height="24" />
<line x2="0" y1="-32" y2="-32" x1="64" /> <line x2="0" y1="-32" y2="-32" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-352" type="pin enc_btn" /> <attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="392" y="-416" type="pin lcd_newchar" />
<line x2="0" y1="-352" y2="-352" x1="64" /> <line x2="464" y1="-416" y2="-416" x1="400" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-224" type="pin enc_ce" /> <attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="392" y="-352" type="pin lcd_newpos" />
<line x2="464" y1="-352" y2="-352" x1="400" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="392" y="-288" type="pin lcd_data(7:0)" />
<rect width="64" x="400" y="-300" height="24" />
<line x2="464" y1="-288" y2="-288" x1="400" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="376" y="-224" type="pin freq_out(16:0)" />
<rect width="64" x="400" y="-236" height="24" />
<line x2="464" y1="-224" y2="-224" x1="400" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-224" type="pin enc_right" />
<line x2="0" y1="-224" y2="-224" x1="64" /> <line x2="0" y1="-224" y2="-224" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-288" type="pin enc_updown" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-160" type="pin enc_ce" />
<line x2="0" y1="-160" y2="-160" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-288" type="pin enc_btn" />
<line x2="0" y1="-288" y2="-288" x1="64" /> <line x2="0" y1="-288" y2="-288" x1="64" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="472" y="-480" type="pin lcd_newchar" />
<line x2="544" y1="-480" y2="-480" x1="480" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="472" y="-416" type="pin lcd_newpos" />
<line x2="544" y1="-416" y2="-416" x1="480" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="472" y="-352" type="pin lcd_data(7:0)" />
<rect width="64" x="480" y="-364" height="24" />
<line x2="544" y1="-352" y2="-352" x1="480" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="472" y="-288" type="pin freq_out(16:0)" />
<rect width="64" x="480" y="-300" height="24" />
<line x2="544" y1="-288" y2="-288" x1="480" />
</graph> </graph>
</symbol> </symbol>

View File

@@ -32,10 +32,9 @@ use IEEE.NUMERIC_STD.ALL;
entity controller is entity controller is
Port ( clk : in STD_LOGIC; Port ( clk : in STD_LOGIC;
rst: in STD_LOGIC; rst: in STD_LOGIC;
enc_updown : in STD_LOGIC; enc_right : in STD_LOGIC;
enc_ce : in STD_LOGIC; enc_ce : in STD_LOGIC;
enc_btn: in STD_LOGIC; enc_btn: in STD_LOGIC;
enc_err : in STD_LOGIC;
form : in unsigned(1 downto 0); form : in unsigned(1 downto 0);
lcd_busy: in STD_LOGIC; lcd_busy: in STD_LOGIC;
lcd_data: out unsigned(7 downto 0); lcd_data: out unsigned(7 downto 0);
@@ -144,7 +143,7 @@ begin
lcd_newchar <= lcd_newchar_reg; lcd_newchar <= lcd_newchar_reg;
lcd_newpos <= lcd_newpos_reg; lcd_newpos <= lcd_newpos_reg;
NSL: process(digit_reg,enc_updown,enc_ce,enc_err,enc_btn,digpos_reg,btn_old_reg, charcnt_reg, lcd_busy, lcd_data_reg, busy_old_reg, state_reg, ret_state_reg, enc_ce,enc_old_reg, form_old_reg, form) NSL: process(digit_reg,enc_right,enc_ce,enc_btn,digpos_reg,btn_old_reg, charcnt_reg, lcd_busy, lcd_data_reg, busy_old_reg, state_reg, ret_state_reg, enc_ce,enc_old_reg, form_old_reg, form)
begin begin
digit_next <= digit_reg; digit_next <= digit_reg;
digpos_next <= digpos_reg; digpos_next <= digpos_reg;
@@ -249,8 +248,8 @@ begin
if(form /= form_old_reg) then if(form /= form_old_reg) then
state_next <= S_FORM_CONT; state_next <= S_FORM_CONT;
elsif(enc_ce='1' and enc_old_reg ='0' and enc_err='0') then elsif(enc_ce='1' and enc_old_reg ='0') then
if(enc_updown='1') then if(enc_right='1') then
if(digit_reg(to_integer(digpos_reg)) = to_unsigned(9,4)) then if(digit_reg(to_integer(digpos_reg)) = to_unsigned(9,4)) then
digit_next(to_integer(digpos_reg)) <= to_unsigned(0,4); digit_next(to_integer(digpos_reg)) <= to_unsigned(0,4);
else else

View File

@@ -11,9 +11,9 @@ entity rotary_dec is
Port ( clk : in std_logic; -- Systemtakt Port ( clk : in std_logic; -- Systemtakt
A : in std_logic; -- Spur A A : in std_logic; -- Spur A
B : in std_logic; -- Spur B B : in std_logic; -- Spur B
up_down : out std_logic; -- Zaehlrichtung right : out std_logic; -- Zaehlrichtung
ce : out std_logic; -- Clock Enable ce : out std_logic); -- Clock Enable
error : out std_logic); -- illegaler Signalübergang
end rotary_dec; end rotary_dec;
architecture Behavioral of rotary_dec is architecture Behavioral of rotary_dec is
@@ -41,23 +41,9 @@ variable state: std_logic_vector(3 downto 0);
begin begin
state := a_in & b_in & a_old & b_old; state := a_in & b_in & a_old & b_old;
case state is case state is
when "0000" => up_down <= '0'; ce <= '0'; error <= '0'; when "0001" => right <= '0'; ce <= '1';
when "0001" => up_down <= '1'; ce <= '1'; error <= '0'; when "0010" => right <= '1'; ce <= '1';
when "0010" => up_down <= '0'; ce <= '1'; error <= '0'; when others => right <= '0'; ce <= '0';
when "0011" => up_down <= '0'; ce <= '0'; error <= '1';
when "0100" => up_down <= '0'; ce <= '1'; error <= '0';
when "0101" => up_down <= '0'; ce <= '0'; error <= '0';
when "0110" => up_down <= '0'; ce <= '0'; error <= '1';
when "0111" => up_down <= '1'; ce <= '1'; error <= '0';
when "1000" => up_down <= '1'; ce <= '1'; error <= '0';
when "1001" => up_down <= '0'; ce <= '0'; error <= '1';
when "1010" => up_down <= '0'; ce <= '0'; error <= '0';
when "1011" => up_down <= '0'; ce <= '1'; error <= '0';
when "1100" => up_down <= '0'; ce <= '0'; error <= '1';
when "1101" => up_down <= '0'; ce <= '1'; error <= '0';
when "1110" => up_down <= '1'; ce <= '1'; error <= '0';
when "1111" => up_down <= '0'; ce <= '0'; error <= '0';
when others => null;
end case; end case;
end process; end process;

View File

@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<symbol version="7" name="rotary_dec"> <symbol version="7" name="rotary_dec">
<symboltype>BLOCK</symboltype> <symboltype>BLOCK</symboltype>
<timestamp>2016-5-23T16:56:27</timestamp> <timestamp>2016-6-10T10:5:37</timestamp>
<pin polarity="Input" x="0" y="-160" name="clk" /> <pin polarity="Input" x="0" y="-160" name="clk" />
<pin polarity="Input" x="0" y="-96" name="A" /> <pin polarity="Input" x="0" y="-96" name="A" />
<pin polarity="Input" x="0" y="-32" name="B" /> <pin polarity="Input" x="0" y="-32" name="B" />
<pin polarity="Output" x="384" y="-160" name="up_down" /> <pin polarity="Output" x="384" y="-32" name="ce" />
<pin polarity="Output" x="384" y="-96" name="ce" /> <pin polarity="Output" x="384" y="-96" name="right" />
<pin polarity="Output" x="384" y="-32" name="error" />
<graph> <graph>
<rect width="256" x="64" y="-192" height="192" /> <rect width="256" x="64" y="-192" height="192" />
<attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="192" y="-200" type="symbol" /> <attrtext style="alignment:BCENTER;fontsize:56;fontname:Arial" attrname="SymbolName" x="192" y="-200" type="symbol" />
@@ -17,11 +16,9 @@
<line x2="0" y1="-96" y2="-96" x1="64" /> <line x2="0" y1="-96" y2="-96" x1="64" />
<attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin B" /> <attrtext style="fontsize:24;fontname:Arial" attrname="PinName" x="72" y="-32" type="pin B" />
<line x2="0" y1="-32" y2="-32" x1="64" /> <line x2="0" y1="-32" y2="-32" x1="64" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-160" type="pin up_down" /> <attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-32" type="pin ce" />
<line x2="384" y1="-160" y2="-160" x1="320" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-96" type="pin ce" />
<line x2="384" y1="-96" y2="-96" x1="320" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-32" type="pin error" />
<line x2="384" y1="-32" y2="-32" x1="320" /> <line x2="384" y1="-32" y2="-32" x1="320" />
<attrtext style="alignment:RIGHT;fontsize:24;fontname:Arial" attrname="PinName" x="312" y="-96" type="pin right" />
<line x2="384" y1="-96" y2="-96" x1="320" />
</graph> </graph>
</symbol> </symbol>

View File

@@ -4,7 +4,7 @@ MODULE toplevel
SUBMODULE dds SUBMODULE dds
INSTANCE XLXI_2 INSTANCE XLXI_2
SUBMODULE controller SUBMODULE controller
INSTANCE XLXI_89 INSTANCE XLXI_90
SUBMODULE rotary_dec SUBMODULE rotary_dec
INSTANCE XLXI_43 INSTANCE XLXI_43
SUBMODULE lcd_driver SUBMODULE lcd_driver

View File

@@ -19,9 +19,6 @@
<signal name="J18_IO1" /> <signal name="J18_IO1" />
<signal name="ROT_A" /> <signal name="ROT_A" />
<signal name="ROT_B" /> <signal name="ROT_B" />
<signal name="ROT_CENTER" />
<signal name="XLXN_77" />
<signal name="XLXN_78" />
<signal name="XLXN_79" /> <signal name="XLXN_79" />
<signal name="LCD_busy" /> <signal name="LCD_busy" />
<signal name="LCD_RS" /> <signal name="LCD_RS" />
@@ -33,13 +30,14 @@
<signal name="DAC_CLR" /> <signal name="DAC_CLR" />
<signal name="XLXN_179" /> <signal name="XLXN_179" />
<signal name="XLXN_180(7:0)" /> <signal name="XLXN_180(7:0)" />
<signal name="XLXN_193(1:0)" />
<signal name="FORM(1)" /> <signal name="FORM(1)" />
<signal name="LED0" /> <signal name="LED0" />
<signal name="SW0" /> <signal name="SW0" />
<signal name="SW1" /> <signal name="SW1" />
<signal name="FORM(0)" /> <signal name="FORM(0)" />
<signal name="BTN_EAST" /> <signal name="BTN_EAST" />
<signal name="XLXN_77" />
<signal name="ROT_CENTER" />
<port polarity="Input" name="CLK_50MHZ" /> <port polarity="Input" name="CLK_50MHZ" />
<port polarity="Output" name="SPI_SCK" /> <port polarity="Output" name="SPI_SCK" />
<port polarity="Output" name="DAC_CS" /> <port polarity="Output" name="DAC_CS" />
@@ -50,7 +48,6 @@
<port polarity="Output" name="J18_IO1" /> <port polarity="Output" name="J18_IO1" />
<port polarity="Input" name="ROT_A" /> <port polarity="Input" name="ROT_A" />
<port polarity="Input" name="ROT_B" /> <port polarity="Input" name="ROT_B" />
<port polarity="Input" name="ROT_CENTER" />
<port polarity="Output" name="LCD_RS" /> <port polarity="Output" name="LCD_RS" />
<port polarity="Output" name="LCD_E" /> <port polarity="Output" name="LCD_E" />
<port polarity="Output" name="LCD_DB(7:0)" /> <port polarity="Output" name="LCD_DB(7:0)" />
@@ -60,6 +57,7 @@
<port polarity="Input" name="SW0" /> <port polarity="Input" name="SW0" />
<port polarity="Input" name="SW1" /> <port polarity="Input" name="SW1" />
<port polarity="Input" name="BTN_EAST" /> <port polarity="Input" name="BTN_EAST" />
<port polarity="Input" name="ROT_CENTER" />
<blockdef name="spi_driver"> <blockdef name="spi_driver">
<timestamp>2016-5-20T8:33:2</timestamp> <timestamp>2016-5-20T8:33:2</timestamp>
<rect width="256" x="64" y="-192" height="192" /> <rect width="256" x="64" y="-192" height="192" />
@@ -106,33 +104,31 @@
<line x2="32" y1="-64" y2="-64" x1="96" /> <line x2="32" y1="-64" y2="-64" x1="96" />
</blockdef> </blockdef>
<blockdef name="controller"> <blockdef name="controller">
<timestamp>2016-6-10T7:49:11</timestamp> <timestamp>2016-6-10T10:10:3</timestamp>
<rect width="416" x="64" y="-512" height="512" /> <rect width="336" x="64" y="-448" height="448" />
<line x2="0" y1="-480" y2="-480" x1="64" />
<line x2="0" y1="-416" y2="-416" x1="64" /> <line x2="0" y1="-416" y2="-416" x1="64" />
<line x2="0" y1="-160" y2="-160" x1="64" /> <line x2="0" y1="-352" y2="-352" x1="64" />
<line x2="0" y1="-96" y2="-96" x1="64" /> <line x2="0" y1="-96" y2="-96" x1="64" />
<rect width="64" x="0" y="-44" height="24" /> <rect width="64" x="0" y="-44" height="24" />
<line x2="0" y1="-32" y2="-32" x1="64" /> <line x2="0" y1="-32" y2="-32" x1="64" />
<line x2="0" y1="-352" y2="-352" x1="64" /> <line x2="464" y1="-416" y2="-416" x1="400" />
<line x2="464" y1="-352" y2="-352" x1="400" />
<rect width="64" x="400" y="-300" height="24" />
<line x2="464" y1="-288" y2="-288" x1="400" />
<rect width="64" x="400" y="-236" height="24" />
<line x2="464" y1="-224" y2="-224" x1="400" />
<line x2="0" y1="-224" y2="-224" x1="64" /> <line x2="0" y1="-224" y2="-224" x1="64" />
<line x2="0" y1="-160" y2="-160" x1="64" />
<line x2="0" y1="-288" y2="-288" x1="64" /> <line x2="0" y1="-288" y2="-288" x1="64" />
<line x2="544" y1="-480" y2="-480" x1="480" />
<line x2="544" y1="-416" y2="-416" x1="480" />
<rect width="64" x="480" y="-364" height="24" />
<line x2="544" y1="-352" y2="-352" x1="480" />
<rect width="64" x="480" y="-300" height="24" />
<line x2="544" y1="-288" y2="-288" x1="480" />
</blockdef> </blockdef>
<blockdef name="rotary_dec"> <blockdef name="rotary_dec">
<timestamp>2016-5-23T16:56:27</timestamp> <timestamp>2016-6-10T10:5:37</timestamp>
<rect width="256" x="64" y="-192" height="192" /> <rect width="256" x="64" y="-192" height="192" />
<line x2="0" y1="-160" y2="-160" x1="64" /> <line x2="0" y1="-160" y2="-160" x1="64" />
<line x2="0" y1="-96" y2="-96" x1="64" /> <line x2="0" y1="-96" y2="-96" x1="64" />
<line x2="0" y1="-32" y2="-32" x1="64" /> <line x2="0" y1="-32" y2="-32" x1="64" />
<line x2="384" y1="-160" y2="-160" x1="320" />
<line x2="384" y1="-96" y2="-96" x1="320" />
<line x2="384" y1="-32" y2="-32" x1="320" /> <line x2="384" y1="-32" y2="-32" x1="320" />
<line x2="384" y1="-96" y2="-96" x1="320" />
</blockdef> </blockdef>
<blockdef name="lcd_driver"> <blockdef name="lcd_driver">
<timestamp>2016-6-6T19:34:31</timestamp> <timestamp>2016-6-6T19:34:31</timestamp>
@@ -183,9 +179,8 @@
<blockpin signalname="CLK_50MHZ" name="clk" /> <blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="ROT_A" name="A" /> <blockpin signalname="ROT_A" name="A" />
<blockpin signalname="ROT_B" name="B" /> <blockpin signalname="ROT_B" name="B" />
<blockpin signalname="XLXN_77" name="up_down" /> <blockpin signalname="XLXN_79" name="ce" />
<blockpin signalname="XLXN_78" name="ce" /> <blockpin signalname="XLXN_77" name="right" />
<blockpin signalname="XLXN_79" name="error" />
</block> </block>
<block symbolname="lcd_driver" name="XLXI_88"> <block symbolname="lcd_driver" name="XLXI_88">
<blockpin signalname="CLK_50MHZ" name="clk" /> <blockpin signalname="CLK_50MHZ" name="clk" />
@@ -208,20 +203,6 @@
<block symbolname="vcc" name="XLXI_20"> <block symbolname="vcc" name="XLXI_20">
<blockpin signalname="XLXN_30" name="P" /> <blockpin signalname="XLXN_30" name="P" />
</block> </block>
<block symbolname="controller" name="XLXI_89">
<blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="BTN_EAST" name="rst" />
<blockpin signalname="XLXN_79" name="enc_err" />
<blockpin signalname="LCD_busy" name="lcd_busy" />
<blockpin signalname="FORM(1:0)" name="form(1:0)" />
<blockpin signalname="ROT_CENTER" name="enc_btn" />
<blockpin signalname="XLXN_78" name="enc_ce" />
<blockpin signalname="XLXN_77" name="enc_updown" />
<blockpin signalname="XLXN_176" name="lcd_newchar" />
<blockpin signalname="XLXN_179" name="lcd_newpos" />
<blockpin signalname="XLXN_180(7:0)" name="lcd_data(7:0)" />
<blockpin signalname="FREQ(16:0)" name="freq_out(16:0)" />
</block>
<block symbolname="buf" name="XLXI_25"> <block symbolname="buf" name="XLXI_25">
<blockpin signalname="SW0" name="I" /> <blockpin signalname="SW0" name="I" />
<blockpin signalname="FORM(0)" name="O" /> <blockpin signalname="FORM(0)" name="O" />
@@ -234,6 +215,19 @@
<blockpin signalname="SW0" name="I" /> <blockpin signalname="SW0" name="I" />
<blockpin signalname="LED0" name="O" /> <blockpin signalname="LED0" name="O" />
</block> </block>
<block symbolname="controller" name="XLXI_90">
<blockpin signalname="CLK_50MHZ" name="clk" />
<blockpin signalname="BTN_EAST" name="rst" />
<blockpin signalname="LCD_busy" name="lcd_busy" />
<blockpin signalname="FORM(1:0)" name="form(1:0)" />
<blockpin signalname="XLXN_176" name="lcd_newchar" />
<blockpin signalname="XLXN_179" name="lcd_newpos" />
<blockpin signalname="XLXN_180(7:0)" name="lcd_data(7:0)" />
<blockpin signalname="FREQ(16:0)" name="freq_out(16:0)" />
<blockpin signalname="XLXN_77" name="enc_right" />
<blockpin signalname="XLXN_79" name="enc_ce" />
<blockpin signalname="ROT_CENTER" name="enc_btn" />
</block>
</netlist> </netlist>
<sheet sheetnum="1" width="5440" height="3520"> <sheet sheetnum="1" width="5440" height="3520">
<instance x="2944" y="2192" name="XLXI_2" orien="R0"> <instance x="2944" y="2192" name="XLXI_2" orien="R0">
@@ -268,8 +262,8 @@
</branch> </branch>
<branch name="FREQ(16:0)"> <branch name="FREQ(16:0)">
<attrtext style="alignment:SOFT-LEFT;fontsize:28;fontname:Arial" attrname="Name" x="2763" y="2096" type="branch" /> <attrtext style="alignment:SOFT-LEFT;fontsize:28;fontname:Arial" attrname="Name" x="2763" y="2096" type="branch" />
<wire x2="2592" y1="1536" y2="1536" x1="2336" /> <wire x2="2592" y1="1600" y2="1600" x1="2256" />
<wire x2="2592" y1="1536" y2="2096" x1="2592" /> <wire x2="2592" y1="1600" y2="2096" x1="2592" />
<wire x2="2944" y1="2096" y2="2096" x1="2592" /> <wire x2="2944" y1="2096" y2="2096" x1="2592" />
</branch> </branch>
<instance x="4080" y="1840" name="XLXI_14" orien="R0" /> <instance x="4080" y="1840" name="XLXI_14" orien="R0" />
@@ -294,9 +288,6 @@
<branch name="J18_IO1"> <branch name="J18_IO1">
<wire x2="3888" y1="1632" y2="1632" x1="3856" /> <wire x2="3888" y1="1632" y2="1632" x1="3856" />
</branch> </branch>
<branch name="CLK_50MHZ">
<wire x2="1792" y1="1344" y2="1344" x1="1776" />
</branch>
<branch name="ROT_A"> <branch name="ROT_A">
<wire x2="1136" y1="1600" y2="1600" x1="1056" /> <wire x2="1136" y1="1600" y2="1600" x1="1056" />
</branch> </branch>
@@ -306,15 +297,6 @@
<branch name="CLK_50MHZ"> <branch name="CLK_50MHZ">
<wire x2="1136" y1="1536" y2="1536" x1="1056" /> <wire x2="1136" y1="1536" y2="1536" x1="1056" />
</branch> </branch>
<branch name="ROT_CENTER">
<wire x2="1792" y1="1472" y2="1472" x1="1760" />
</branch>
<branch name="XLXN_77">
<wire x2="1792" y1="1536" y2="1536" x1="1520" />
</branch>
<branch name="XLXN_78">
<wire x2="1792" y1="1600" y2="1600" x1="1520" />
</branch>
<branch name="XLXN_79"> <branch name="XLXN_79">
<wire x2="1792" y1="1664" y2="1664" x1="1520" /> <wire x2="1792" y1="1664" y2="1664" x1="1520" />
</branch> </branch>
@@ -344,7 +326,6 @@
<iomarker fontsize="28" x="1056" y="1600" name="ROT_A" 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="1664" name="ROT_B" orien="R180" />
<iomarker fontsize="28" x="1056" y="1536" name="CLK_50MHZ" 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 x="2736" y="1456" name="XLXI_88" orien="R0">
</instance> </instance>
<iomarker fontsize="28" x="2656" y="1168" name="CLK_50MHZ" orien="R180" /> <iomarker fontsize="28" x="2656" y="1168" name="CLK_50MHZ" orien="R180" />
@@ -352,9 +333,9 @@
<wire x2="2736" y1="1168" y2="1168" x1="2656" /> <wire x2="2736" y1="1168" y2="1168" x1="2656" />
</branch> </branch>
<branch name="XLXN_176"> <branch name="XLXN_176">
<wire x2="2480" y1="1344" y2="1344" x1="2336" /> <wire x2="2416" y1="1408" y2="1408" x1="2256" />
<wire x2="2480" y1="1296" y2="1344" x1="2480" /> <wire x2="2736" y1="1296" y2="1296" x1="2416" />
<wire x2="2736" y1="1296" y2="1296" x1="2480" /> <wire x2="2416" y1="1296" y2="1408" x1="2416" />
</branch> </branch>
<branch name="LCD_DB(7:0)"> <branch name="LCD_DB(7:0)">
<wire x2="3232" y1="1408" y2="1408" x1="3152" /> <wire x2="3232" y1="1408" y2="1408" x1="3152" />
@@ -381,17 +362,15 @@
<instance x="3856" y="2192" name="XLXI_20" orien="R0" /> <instance x="3856" y="2192" name="XLXI_20" orien="R0" />
<iomarker fontsize="28" x="4208" y="2192" name="DAC_CLR" orien="R0" /> <iomarker fontsize="28" x="4208" y="2192" name="DAC_CLR" orien="R0" />
<branch name="XLXN_179"> <branch name="XLXN_179">
<wire x2="2480" y1="1408" y2="1408" x1="2336" /> <wire x2="2448" y1="1472" y2="1472" x1="2256" />
<wire x2="2480" y1="1360" y2="1408" x1="2480" /> <wire x2="2736" y1="1360" y2="1360" x1="2448" />
<wire x2="2736" y1="1360" y2="1360" x1="2480" /> <wire x2="2448" y1="1360" y2="1472" x1="2448" />
</branch> </branch>
<branch name="XLXN_180(7:0)"> <branch name="XLXN_180(7:0)">
<wire x2="2480" y1="1472" y2="1472" x1="2336" /> <wire x2="2480" y1="1536" y2="1536" x1="2256" />
<wire x2="2480" y1="1424" y2="1472" x1="2480" />
<wire x2="2736" y1="1424" y2="1424" x1="2480" /> <wire x2="2736" y1="1424" y2="1424" x1="2480" />
<wire x2="2480" y1="1424" y2="1536" x1="2480" />
</branch> </branch>
<instance x="1792" y="1824" name="XLXI_89" orien="R0">
</instance>
<bustap x2="1472" y1="2064" y2="2064" x1="1568" /> <bustap x2="1472" y1="2064" y2="2064" x1="1568" />
<bustap x2="1472" y1="2000" y2="2000" x1="1568" /> <bustap x2="1472" y1="2000" y2="2000" x1="1568" />
<instance x="1040" y="2032" name="XLXI_25" orien="R0" /> <instance x="1040" y="2032" name="XLXI_25" orien="R0" />
@@ -425,14 +404,11 @@
<branch name="FORM(1:0)"> <branch name="FORM(1:0)">
<attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="1568" y="1792" type="branch" /> <attrtext style="alignment:SOFT-BCENTER;fontsize:28;fontname:Arial" attrname="Name" x="1568" y="1792" type="branch" />
<wire x2="1792" y1="1792" y2="1792" x1="1568" /> <wire x2="1792" y1="1792" y2="1792" x1="1568" />
<wire x2="1568" y1="1792" y2="2160" x1="1568" /> <wire x2="1568" y1="1792" y2="2000" x1="1568" />
<wire x2="1568" y1="2000" y2="2064" x1="1568" />
<wire x2="1568" y1="2064" y2="2160" x1="1568" />
<wire x2="2944" y1="2160" y2="2160" x1="1568" /> <wire x2="2944" y1="2160" y2="2160" x1="1568" />
</branch> </branch>
<branch name="BTN_EAST">
<wire x2="1792" y1="1408" y2="1408" x1="1760" />
</branch>
<iomarker fontsize="28" x="1760" y="1408" name="BTN_EAST" orien="R180" />
<iomarker fontsize="28" x="1776" y="1344" name="CLK_50MHZ" orien="R180" />
<branch name="BTN_EAST"> <branch name="BTN_EAST">
<wire x2="2736" y1="1232" y2="1232" x1="2704" /> <wire x2="2736" y1="1232" y2="1232" x1="2704" />
</branch> </branch>
@@ -441,5 +417,22 @@
<wire x2="3536" y1="1952" y2="1952" x1="3504" /> <wire x2="3536" y1="1952" y2="1952" x1="3504" />
</branch> </branch>
<iomarker fontsize="28" x="3504" y="1952" name="BTN_EAST" orien="R180" /> <iomarker fontsize="28" x="3504" y="1952" name="BTN_EAST" orien="R180" />
<branch name="XLXN_77">
<wire x2="1792" y1="1600" y2="1600" x1="1520" />
</branch>
<branch name="CLK_50MHZ">
<wire x2="1792" y1="1408" y2="1408" x1="1776" />
</branch>
<branch name="ROT_CENTER">
<wire x2="1792" y1="1536" y2="1536" x1="1760" />
</branch>
<branch name="BTN_EAST">
<wire x2="1792" y1="1472" y2="1472" x1="1760" />
</branch>
<iomarker fontsize="28" x="1760" y="1536" name="ROT_CENTER" orien="R180" />
<iomarker fontsize="28" x="1760" y="1472" name="BTN_EAST" orien="R180" />
<iomarker fontsize="28" x="1776" y="1408" name="CLK_50MHZ" orien="R180" />
<instance x="1792" y="1824" name="XLXI_90" orien="R0">
</instance>
</sheet> </sheet>
</drawing> </drawing>

View File

@@ -237,7 +237,7 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1465547140" xil_pn:in_ck="6038244062278950263" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="6927427346963598489" xil_pn:start_ts="1465547139"> <transform xil_pn:end_ts="1465553455" xil_pn:in_ck="6038244062278950263" xil_pn:name="TRAN_schematicsToHdl" xil_pn:prop_ck="6927427346963598489" xil_pn:start_ts="1465553453">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="toplevel.vhf"/> <outfile xil_pn:name="toplevel.vhf"/>
@@ -262,7 +262,7 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548337" xil_pn:in_ck="-5804926608689456155" xil_pn:name="TRANEXT_xstsynthesize_spartan3e" xil_pn:prop_ck="1663716282806445198" xil_pn:start_ts="1465548321"> <transform xil_pn:end_ts="1465554370" xil_pn:in_ck="-5804926608689456155" xil_pn:name="TRANEXT_xstsynthesize_spartan3e" xil_pn:prop_ck="1663716282806445198" xil_pn:start_ts="1465554354">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="WarningsGenerated"/> <status xil_pn:value="WarningsGenerated"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
@@ -289,7 +289,7 @@
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548343" xil_pn:in_ck="-2091007341535647977" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="-1538882668640856751" xil_pn:start_ts="1465548337"> <transform xil_pn:end_ts="1465554375" xil_pn:in_ck="-2091007341535647977" xil_pn:name="TRANEXT_ngdbuild_FPGA" xil_pn:prop_ck="-1538882668640856751" xil_pn:start_ts="1465554370">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_ngo"/> <outfile xil_pn:name="_ngo"/>
@@ -298,11 +298,9 @@
<outfile xil_pn:name="toplevel.ngd"/> <outfile xil_pn:name="toplevel.ngd"/>
<outfile xil_pn:name="toplevel_ngdbuild.xrpt"/> <outfile xil_pn:name="toplevel_ngdbuild.xrpt"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548349" xil_pn:in_ck="1621356785167787192" xil_pn:name="TRANEXT_map_spartan3" xil_pn:prop_ck="570889668722473129" xil_pn:start_ts="1465548343"> <transform xil_pn:end_ts="1465554381" xil_pn:in_ck="1621356785167787192" xil_pn:name="TRANEXT_map_spartan3" xil_pn:prop_ck="570889668722473129" xil_pn:start_ts="1465554375">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <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="_xmsgs/map.xmsgs"/>
<outfile xil_pn:name="toplevel.pcf"/> <outfile xil_pn:name="toplevel.pcf"/>
<outfile xil_pn:name="toplevel_map.map"/> <outfile xil_pn:name="toplevel_map.map"/>
@@ -313,7 +311,7 @@
<outfile xil_pn:name="toplevel_summary.xml"/> <outfile xil_pn:name="toplevel_summary.xml"/>
<outfile xil_pn:name="toplevel_usage.xml"/> <outfile xil_pn:name="toplevel_usage.xml"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548368" xil_pn:in_ck="985354266144665770" xil_pn:name="TRANEXT_par_spartan3" xil_pn:prop_ck="-988662182046631445" xil_pn:start_ts="1465548349"> <transform xil_pn:end_ts="1465554399" xil_pn:in_ck="985354266144665770" xil_pn:name="TRANEXT_par_spartan3" xil_pn:prop_ck="-988662182046631445" xil_pn:start_ts="1465554381">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/par.xmsgs"/> <outfile xil_pn:name="_xmsgs/par.xmsgs"/>
@@ -327,7 +325,7 @@
<outfile xil_pn:name="toplevel_pad.txt"/> <outfile xil_pn:name="toplevel_pad.txt"/>
<outfile xil_pn:name="toplevel_par.xrpt"/> <outfile xil_pn:name="toplevel_par.xrpt"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548376" xil_pn:in_ck="8640606860472830956" xil_pn:name="TRANEXT_bitFile_spartan3a" xil_pn:prop_ck="-426368325978129584" xil_pn:start_ts="1465548368"> <transform xil_pn:end_ts="1465554407" xil_pn:in_ck="8640606860472830956" xil_pn:name="TRANEXT_bitFile_spartan3a" xil_pn:prop_ck="-426368325978129584" xil_pn:start_ts="1465554399">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/> <outfile xil_pn:name="_xmsgs/bitgen.xmsgs"/>
@@ -339,15 +337,13 @@
<outfile xil_pn:name="webtalk.log"/> <outfile xil_pn:name="webtalk.log"/>
<outfile xil_pn:name="webtalk_pn.xml"/> <outfile xil_pn:name="webtalk_pn.xml"/>
</transform> </transform>
<transform xil_pn:end_ts="1465540899" xil_pn:in_ck="6038244062278931960" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="5767926783713760761" xil_pn:start_ts="1465540897"> <transform xil_pn:end_ts="1465549412" xil_pn:in_ck="6038244062278931960" xil_pn:name="TRAN_configureTargetDevice" xil_pn:prop_ck="5767926783713760761" xil_pn:start_ts="1465549411">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<status xil_pn:value="OutOfDateForInputs"/> <status xil_pn:value="OutOfDateForInputs"/>
<status xil_pn:value="InputAdded"/>
<status xil_pn:value="InputChanged"/> <status xil_pn:value="InputChanged"/>
<status xil_pn:value="InputRemoved"/>
</transform> </transform>
<transform xil_pn:end_ts="1465548368" xil_pn:in_ck="6034042283462732464" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416186" xil_pn:start_ts="1465548364"> <transform xil_pn:end_ts="1465554399" xil_pn:in_ck="6034042283462732464" xil_pn:name="TRAN_postRouteTrce" xil_pn:prop_ck="445577401284416186" xil_pn:start_ts="1465554395">
<status xil_pn:value="SuccessfullyRun"/> <status xil_pn:value="SuccessfullyRun"/>
<status xil_pn:value="ReadyToRun"/> <status xil_pn:value="ReadyToRun"/>
<outfile xil_pn:name="_xmsgs/trce.xmsgs"/> <outfile xil_pn:name="_xmsgs/trce.xmsgs"/>