ããã§ãæè¿ãFPGAã®ãããã¯ã«èå³ãæã¡ãå匷äžã«FPGAã«åºäŒã£ãã®ã§ãããããã®ããã¯ãèªãã§ãå®éšçšã®ã¹ã¿ãŒã¿ãŒãããã泚æããŸããã ããŠãéµéã«ããå®éšã®ããã®èšç·Žå Žãåãåããæåã®å®éšãå®äºããã®ã§ããããhabrausersãšå ±æããæºåãã§ããŸããã é¢çœããã®ã«ãªãããšãé¡ã£ãŠããŸãã
ãŸããçè«ãèŠãŠã¿ãŸããããFPGAã®ç¥èªã¯ãã®èšäºã®ãããã¯ã§äœãæå³ããŸããïŒ Wikiã¯ãã€ã§ãèªåã§èªãããšãã§ããã®ã§ãèªåã§èª¬æããããšæããŸãã 誰ãFPGAãç¥ã£ãŠãããã倧èã«ã¹ãããããŠãã ããã
FPGAïŒããã°ã©ããã«ããžãã¯éç©åè·¯ïŒã¯ããã€ããªã«ãŠã³ã¿ãŒãåçŽãªè«çåè·¯ïŒæšæºéç©åè·¯ã®ä»£æ¿-ã«ãŒã¹ããŠããŒïŒããç¹æ®ãªããã»ããµããã¥ãŒããããã«è³ããŸã§ãããŸããŸãªè€éãã®ããŸããŸãªããžãã¯ããã€ã¹ãå®è£ ããããã«äœ¿çšãããé»åããã€ã¹ã®äžçš®ã§ãã
çŽæãç解ããã質åã¯-ã©ã®ããã«ïŒ FPGAã®å éšã«ã¯ãæ§æã¬ã³ãŒãã«åºã¥ããŠæ¥ç¶ãããããã€ãã®åºæ¬çãªèŠçŽ ããããŸãã æ§æã¬ã³ãŒãã®å¯èœãªåºæ¬èŠçŽ ãã¿ã€ããããã³ä¿åå Žæã¯ãFPGAã®ã¿ã€ããšç¹å®ã®ã¢ãã«ã«ãã£ãŠç°ãªããŸãã ææ°ã®FPGAã§ã¯ãCPLDãšFPGAã®2ã€ã®ã¿ã€ããåºå¥ãããŸãããããã¯ã段èœã«åŸã£ãŠæäŸããŸãã
CPLDïŒè€éãªããã°ã©ããã«ããžãã¯ããã€ã¹ïŒ-FPGAããã®åºæ¬èŠçŽ ã¯ãã¯ãã»ã«ãšåçŽãªè«çã²ãŒãïŒANDïŒ-HEïŒ/ ORïŒ-HEïŒïŒã§ãã éåžžãFPGAãããå°ãªãåºæ¬èŠçŽ ãå«ãŸããŠããŸãããé«éã§ãã ãŸããéåžžããããäžã«çŽæ¥äžæ®çºæ§æ§æã¡ã¢ãªãå«ãŸããŠããŸãããæ§æãµã€ã¯ã«ã®æ°ã¯éãããŠããŸãã
FPGAïŒãã£ãŒã«ãããã°ã©ããã«ã²ãŒãã¢ã¬ã€ïŒ-FPGAã¯éåžžãå€æ°ã®çš®é¡ã®ããŒã¹ãããã¯ãæã¡ããããã¯ã«ã¹ã¿ãã€ãºå¯èœãªããžãã¯ãšã¬ã¡ã³ãïŒççå€è¡šïŒãšå ç®ä¹ç®ãããã¯ïŒããžã¿ã«ä¿¡å·åŠç-DSPïŒããã³PLLïŒäœçž-ããã¯ã«ãŒãïŒåšæ³¢æ°ã®åå²ãšä¹ç®ãããã³ã¢ãã«ã«å¿ããä»ã®ããã€ãã®ã«ãŒãã éåžžããããã¯æ®çºæ§ã®å éšã¡ã¢ãªãšãå€éšã®äžæ®çºæ§ã¡ã¢ãªããæ§æãããŒãããæ©èœãåããŠããŸãã
ãããã®ã¿ã€ãã®FPGAã®å®çŸ©ãšãããã®éãã¯ãæžç±ãšã€ã³ã¿ãŒãããã®äž¡æ¹ã§éåžžã«ç°ãªãããšãããããŸãã ãããã£ãŠããã®éãã«çŠç¹ãåãããªãã§ãã ããã補é æ¥è èªèº«ã補é ããFPGAãåé¡ããŸãã ç¥èªãèŠããŠããªãããããã€ãã®åèªã®æå³ãç解ããŠããªãå Žå-æããªããäž»ãªããšã¯FPGAã®äžè¬çãªæŠå¿µã衚瀺ãããããšã§ããç§ã¯ãããéæããããšãæã¿ãŸãã ãããŠä»ããç·Žç¿ããŸãããïŒ
ããŒã«ã«ã€ããŠè°è«ããããšããå§ããŸãããã ã¢ã«ãã©Cyclone II FPGAã¹ã¿ãŒã¿ãŒããŒãã®ã¹ã¿ãŒã¿ãŒãããã䜿çšããŸããããã¯ãCyclone IIã·ãªãŒãºã®FPGAãã€ã³ã¹ããŒã«ãããæ¢è£œã®ããŒãã§ã-EP2C20F484C7Nãããã³ããŸããŸãªåšèŸºæ©åšãšã€ã³ã¿ãŒãã§ãŒã¹ã ãã®èšäºã§ã¯ãLEDãš7ã»ã°ã¡ã³ãã€ã³ãžã±ãŒã¿ãŒã䜿çšããŸãã ãã®FPGAã·ãªãŒãºã®ç¹å¥ãªãŠãããã¯äœ¿çšããŸããããããã£ãŠãå¿ èŠã«å¿ããŠãä»ã®ã»ãŒãã¹ãŠã®FPGAïŒFPGAããã³CPLDïŒã䜿çšã§ããŸãã
éåžžã«èå³ããã人ã¯ãéçºè ã®ããããèªåã§è³Œå ¥ããããããã€ã¹ãèªåã§çµã¿ç«ãŠãããšãã§ããŸããããã¯åå¿è ã«ãšã£ãŠã¯éåžžã«å°é£ã§ãããå®è¡å¯èœãªäœæ¥ã§ãã ããã°ã©ããŒåè·¯ãšFPGAæ¥ç¶ã¹ããŒã èªäœã¯ç°¡åã«ã°ãŒã°ã«ã§æ€çŽ¢ã§ããŸãããŸãã以åã«ã¢ããã¥ã¢AVRãã¡ãŒã ãŠã§ã¢ã«åŸäºããŠãã人ã¯ããããã«é©ããã¢ã«ãã©Byte Blasterããã°ã©ããŒãèŠã€ããããšãã§ããŸãã äžè¬çã«ãhabrayuzerã®åè·¯å³å®è£ ãæäŸããŸãïŒèšäºã®æåŸã«ãã¹ã¿ãŒã¿ãŒããŒãã®å³ã瀺ããŸãïŒã ãéããããã«è©ŠããŠä»äºã®çµæã確èªããã人ã¯ãQuartus IIã«çµã¿èŸŒãŸããã·ãã¥ã¬ãŒã¿ã䜿çšã§ããŸãïŒãã®èšäºã§ã¯ããã®æäœæ¹æ³ã«ã€ããŠã¯èª¬æããŸããïŒã
ãœãããŠã§ã¢ãããQuartus IIã䜿çšããŸããQuartusIIã¯ã補é å ã®Webãµã€ãïŒAlteraïŒã§ãWindowsãšLinuxã®äž¡æ¹ã®ããŒãžã§ã³ã§å ¥æã§ããŸãã
ãããŠä»ãç§ãã¡ã¯ç·Žç¿ã«è¿ã¥ããŠããŸãïŒ CAD Quartus IIãèµ·åãããããžã§ã¯ããäœæããŸãã ãŠã£ã¶ãŒãã®æåã®ã¹ãããã§ã¯ããããžã§ã¯ãã®ååãšãã®å Žæã瀺ããŠããããã¡ã€ã«ãè¿œå ããã¹ããããã¹ãããããŸãïŒãŸã æéããããŸãïŒã ããã€ã¹ãéžæãã段éã§ãããžã§ã¯ãã®äœæãçµäºããŸããéçã§è¡ãå Žåã¯ãFPGAã®ååãæ£ç¢ºã«ç¥ã£ãŠããã®ã§éžæããŸãã FPGAã®ãããžã§ã¯ããäœæããã ãã§ããã°ãããšãã°3çªç®ã®ãµã€ã¯ãã³ãªã©ããã匷åãªãã®ãéžæããŸãã ã¹ã¿ãŒã¿ãŒãããã«ã€ã³ã¹ããŒã«ãããŠããFPGAãéžæããŸãã
[å®äº]ãã¯ãªãã¯ããŸã-ãããžã§ã¯ããäœæãããŸãã Quartusã®ãããžã§ã¯ãæ§é ã¯éå±€çã§ãããããéå±€ã®æäžäœïŒæäžäœãšã³ãã£ãã£ïŒãéžæããå¿ èŠããããŸãã åè·¯ãã¡ã€ã«ããHDLïŒããŒããŠã§ã¢èšè¿°èšèª-ããŒããŠã§ã¢èšè¿°èšèªïŒã®ããããã®ããžãã¯ã®èšè¿°ãå«ããã¡ã€ã«ã®èšèšã«äœ¿çšã§ããŸãã ç§ã®æèŠã§ã¯ãã¡ã€ã³ããžãã¯ãããã¯ãéå±€ã®æäžäœã«æã€åè·¯å³ãã¡ã€ã«ã䜿çšããHDLã«ãããã¯èªäœãå®è£ ããŸãã æèŠã¯ç°ãªãå ŽåããããŸãããéžæäžã«å€ãã®ããªããŒããŒã®ãããã¯ãèªãã§ããŸããããããŸã§ã®ãšãããã®ãããªã¢ãã«ã«çŠç¹ãåœãŠãŠãããªãã¯éžæããããšãã§ããŸãã ãããžã§ã¯ãèšèªã®HDLãšããŠãVHDLïŒïŒè¶ é«ééç©åè·¯ïŒããŒããŠã§ã¢èšè¿°èšèªïŒãéžæããŸãããVerilogãAHDLãªã©ãä»ã®ä»»æã®ãã®ã䜿çšã§ããŸãããããã¯ãã¹ãŠå¥œã¿ã«ãã£ãŠç°ãªããŸãã
æåã®ãããžã§ã¯ããã¡ã€ã«ïŒFile-New ..ïŒãäœæããBlock Diagram / Schematic FileãéžæããŸãã 次ã«ãæãåçŽãªåè·¯ãæããŠã1ã€ã®å ¥åãš1ã€ã®åºåãè¿œå ããŠæ¥ç¶ããŸãïŒå®éã®FPGAã§ã¯ããã®åè·¯ã¯ä¿¡å·ã1ã€ã®ã¬ãã°ããå¥ã®ã¬ãã°ã«éä¿¡ããŸãïŒã ãããè¡ãã«ã¯ããã€ã¢ã°ã©ã å ã®ç©ºã®å Žæãããã«ã¯ãªãã¯ããéãã[ã·ã³ãã«]ãã€ã¢ãã°ããã¯ã¹ã§å¿ èŠãªèŠçŽ ãéžæããŸãã
ãã®ããã«ãç·ã§æ¥ç¶ããŸãã ãã³ã«ååãä»ããŠïŒèŠçŽ ãããã«ã¯ãªãã¯ïŒãCLOCK_27 [0]ãåŒã³åºãå ¥åãLEDR [0]ãåºåããŸãã ååã¯å¶ç¶ã«éžæãããŸããã§ãã-次ã«ãCLOCK_27 [0]ã27Mhzãžã§ãã¬ãŒã¿ã®å ¥åã«é¢é£ä»ããLEDR [0]ããŒãã®èµ€è²LEDã«é¢é£ä»ããŸãã ãããžã§ã¯ãã«è¿œå ããããã®ãã§ãã¯ããŒã¯ãæ®ããŠããã¡ã€ã«ãä¿åããŸãã 次ã«ãçµæã®ãã¡ã€ã«ããããžã§ã¯ãéå±€ã®æäžéšã«èšå®ããŸãã ãã®ããã«ã¯ããããžã§ã¯ãããã²ãŒã¿ãŠã£ã³ããŠã®[ãã¡ã€ã«]ã¿ãã§ããã¡ã€ã«ã®ã³ã³ããã¹ãã¡ãã¥ãŒãã[æäžäœãšã³ãã£ãã£ãšããŠèšå®]ãéžæããŸãã ããã«ã¡ã¯ãäžçã¯æºåãã§ããŠããŸãã InfoïŒQuartus II Full Compilationãæåããå Žåããããžã§ã¯ããã³ã³ãã€ã«ããŸãïŒProcessing-Start CompilationïŒã -åãã§ãæåã®æ®µéãå®äºãããšä¿¡ããŸãã
ã§ã¯ãç®æšãèããŠã¿ãŸãããã ããã€ã¹ã¯ãé»æºãå ¥ãããšåãšæéã®ã«ãŠã³ãããŠã³ãéå§ããŸãã ãããã£ãŠã4ã€ã®7ã»ã°ã¡ã³ãã€ã³ãžã±ãŒã¿ãHHïŒMMããå¿ èŠã§ãã æéãã«ãŠã³ãããã«ã¯ãå€å°æ£ç¢ºãª1Hzä¿¡å·ãå¿ èŠã§ãã åšæ³¢æ°ã27Mhzã§é€ç®ããŠååŸãã60ïŒç§ïŒã60ïŒåïŒã24ïŒæéïŒã®é ã«ã«ãŠã³ãããŸãã æåŸã®2ãããã¯ãããåãšæéã®2é²æ°ã¯Bin-> BCDïŒ2é²å10é²æ°ïŒ-> 7segãã³ãŒããŒã«ç§»åããŸãã ããã§ãäžè¬çã«ãããã€ã¹å šäœã§ãã ç°¡åãã€æå¿«ã«ããããã«ãåè·¯ãéåæã«ãªãããã«ããã«äºçŽããŠãã ããïŒåã¯ç§ããå§ãŸããæéã¯åããå§ãŸããŸãïŒã
ããã§ã¯ãæåã®ãããã¯ã§ããåšæ³¢æ°åå²ãããã¯ãäœæããŸãããã æ¢ã«ããã£ãŠããããã«ãæ°ãããã¡ã€ã«ãäœæããŸãããã¡ã€ã«ã¿ã€ãã®ã¿ãVHDLãã¡ã€ã«ã«ãªããŸãã ã³ãŒããæ¿å ¥ããŸãïŒ
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity Div_27Mhz_to_1Hz is
port( clk:in std_logic; clk_out:out std_logic);
end Div_27Mhz_to_1Hz;
architecture div_behavior of Div_27Mhz_to_1Hz is
begin
process(clk)
variable cnt : integer range 0 to 27000000;
begin
if(clk'event and clk = '1')
then
if(cnt >= 13500000)
then
clk_out <= '1';
else
clk_out <= '0';
end if;
if(cnt = 27000000)
then
cnt := 0;
else
cnt := cnt + 1;
end if;
end if;
end process;
end div_behavior;
ãŠãŒãã£ãªãã£ãã£ã¬ã¯ãã£ãã¯ã¹ãããããŸãïŒããã¥ã¢ã«ã®æåŸã«ãããªã³ã¯ã§ç¢ºèªã§ããŸãïŒãäœæ¥ã®ããžãã¯ã«ã®ã¿æ³šæãæããŸãã æåã«ããšã³ãã£ãã£ãã€ãŸã ãããã¯èªäœã å ¥åãšåºåããããã®ã¿ã€ããšååã瀺ããŸãã å ±éã®ã¿ã€ãstd_logicã¯ããããæå³ããŸãã 次ã«ããã®ãŠãããã®å éšã¢ãŒããã¯ãã£ã«ã€ããŠèª¬æããŸãã ã¢ãŒããã¯ãã£ã¯äžŠåããã»ã¹ã§æ§æãããŠããŸãã åããã»ã¹ã«ã¯ç¬èªã®æ床ãªã¹ãããããŸããããšãã°ãäžèšã®äŸã®å¯äžã®ããã»ã¹ã¯ãclkå ¥åã§ã®å€æŽã«ææã§ãã å€æ°ã¯ããã»ã¹ã«å¯ŸããŠå®£èšããããšãã§ãããã®äŸã§ã¯0ãã27000000åã®æŽæ°ç¯å²ã§ãã次ã«ãèŠçŽ ã®ããžãã¯ãããã»ã¹æ¬äœã«èšå®ãããŸãïŒæéã®ååãçµéãããŸã§ãåºåã«è«çãŒããå ¥ããŸãã 27000000ã«éãããã«ãŠã³ã¿ãŒããªã»ããããŸããå®ç§ãªã³ãŒãã®ãµããããããã§ã¯ãããŸãããå匷ããŠããéãèšæ£ããŠãããŠããããã§ã:)
ãã¡ã€ã«ãã³ãŒããšãšãã«ä¿åããã·ã³ãã«ãäœæããŸãïŒãã¡ã€ã«-äœæ/æŽæ°-çŸåšã®ãã¡ã€ã«ã®ã·ã³ãã«ãã¡ã€ã«ãäœæïŒãããã¯ããã®ãããã¯ãã¡ã€ã³ã¹ããŒã ã«æ¿å ¥ããããã«å¿ èŠã§ãã ãã£ã©ã¯ã¿ãŒæ¿å ¥ãã€ã¢ãã°ã®ãããžã§ã¯ããã©ã«ããŒã§ãã£ã©ã¯ã¿ãŒãèŠã€ããããšãã§ããŸãã 次ã«ãæ®ãã®ãããã¯ã«ã€ããŠè©³ãã説æããŸããã
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-- For CONV_STD_LOGIC_VECTOR:
use ieee.std_logic_arith.all;
entity cnt_0_to_59 is
port( clk:in std_logic; c59:out std_logic; vector:out std_logic_vector(5 downto 0));
end cnt_0_to_59;
architecture cnt_behavior of cnt_0_to_59 is
begin
process(clk)
variable cnt : integer range 0 to 59;
begin
if(clk'event and clk = '1')
then
if(cnt = 59)
then
cnt := 0;
c59 <= '1';
vector <= CONV_STD_LOGIC_VECTOR(cnt, 6);
else
cnt := cnt + 1;
c59 <= '0';
vector <= CONV_STD_LOGIC_VECTOR(cnt, 6);
end if;
end if;
end process;
end cnt_behavior;
ããã¯ã0ãã59ãŸã§ã®ã«ãŠã³ããããã¯ã§ãããããã䜿çšããŠåãšç§ãã«ãŠã³ãããŸãã ããã®æ°è£œåã®ãã¡ãåºåã¿ã€ãã¯ããããã®ã°ã«ãŒãïŒããããã¯ãã«ïŒã決å®ããstd_logic_vectorïŒ5 downto 0ïŒãšãå€æ°ãæå®ãããé·ãã®ããããã¯ãã«ã«å€æããé¢æ°CONV_STD_LOGIC_VECTORïŒcntã6ïŒã§ãã
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-- For CONV_STD_LOGIC_VECTOR:
use ieee.std_logic_arith.all;
entity cnt_0_to_23 is
port( clk:in std_logic; vector:out std_logic_vector(4 downto 0));
end cnt_0_to_23;
architecture cnt_behavior of cnt_0_to_23 is
begin
process(clk)
variable cnt : integer range 0 to 23;
begin
if(clk'event and clk = '1')
then
if(cnt = 23)
then
cnt := 0;
vector <= CONV_STD_LOGIC_VECTOR(cnt, 5);
else
cnt := cnt + 1;
vector <= CONV_STD_LOGIC_VECTOR(cnt, 5);
end if;
end if;
end process;
end cnt_behavior;
é«ãæéã«ãŠã³ã¿ãŒã æ°ãããã®ã¯ãããŸããã
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
-- For CONV_STD_LOGIC_VECTOR:
use ieee.std_logic_arith.all;
entity bin2bcd_5bit is
port( bin:in std_logic_vector(4 downto 0);
bcd1:out std_logic_vector(3 downto 0);
bcd10:out std_logic_vector(3 downto 0)
);
end bin2bcd_5bit;
architecture converter_behavior of bin2bcd_5bit is
begin
process(bin)
variable i : integer range 0 to 23;
variable i1 : integer range 0 to 9;
begin
i := conv_integer(bin);
i1 := i / 10;
bcd10 <= CONV_STD_LOGIC_VECTOR(i1, 4);
i1 := i rem 10;
bcd1 <= CONV_STD_LOGIC_VECTOR(i1, 4);
end process;
end converter_behavior;
Binary to BCD Converterã¯ãåºæ¬çã«1ã€ã®2é²æ°ã2ã€ã«åå²ãããããããå°æ°ç¹ä»¥äžãè¡šããŸãã æ°è£œåã®-remæŒç®åãéšéã®æ®ãã®éšåã 6ãããçšã®ã³ã³ããŒã¿ãŒã¯åãæ¹æ³ã§èšè¿°ãããŠããŸãããããã¯æäŸããŸããã
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity BCD_to_7seg is
port(
BCD:in std_logic_vector(3 downto 0);
seg:out std_logic_vector(6 downto 0)
);
end BCD_to_7seg;
architecture conv_behavior of BCD_to_7seg is
begin
process(BCD)
begin
if BCD = "0000" then seg <= "0000001";--0
elsif BCD = "0001" then seg <= "1001111";--1
elsif BCD = "0010" then seg <= "0010010";--2
elsif BCD = "0011" then seg <= "0000110";--3
elsif BCD = "0100" then seg <= "1001100";--4
elsif BCD = "0101" then seg <= "0100100";--5
elsif BCD = "0110" then seg <= "0100000";--6
elsif BCD = "0111" then seg <= "0001111";--7
elsif BCD = "1000" then seg <= "0000000";--8
elsif BCD = "1001" then seg <= "0000100";--9
else seg <= "1001001";--err
end if;
end process;
end conv_behavior;
åçŽãªççå€è¡šã«ãã£ãŠå®è£ ããã7ã»ã°ã¡ã³ãã³ãŒããžã®1ãããã®ã³ã³ããŒã¿ãŒã 7ã»ã°ã¡ã³ãã®ã³ãŒãèªäœã¯ãabcdefgã®é åºã§ã€ã³ãã£ã±ãŒã¿ãŒã®æžã蟌ã¿ã»ã°ã¡ã³ãããããè¡šçŸãããã®ã§ãç§ã®å Žåãéã§ãã
ããã§ããã¹ãŠã®ãããã¯ãå®çŸããŸãããããããæ¥ç¶ããããšã¯æ®ã£ãŠããŸãã Mainã¹ããŒã ãšãbin2segã·ã³ãã«ã®ãã³ãŒããè¡ããŸããããã¯ãã¹ããŒã¹ãç¯çŽããã¹ããŒã ãšããŠãå®è£ ãããŠããŸãã
äž»åè·¯ïŒ
ïŒã¯ãªãã¯ããŠã¯ãªãã¯ïŒ
ïŒå³ã§ãããããã«ãããããããããããã«ãç·è²ã®LEDã«ç§æ°ã衚瀺ããŸããïŒ
bin2segïŒ
ïŒã¯ãªãã¯ããŠã¯ãªãã¯ïŒ
ãããžã§ã¯ãã®æºåãã§ããããã³ã³ãã€ã«ããŠãã¹ãã§ããŸãã ç§ã¯ååã®äžã§åè·¯ã®åäœãã¢ãã«åããããšã«ã€ããŠè©±ãããã£ãã®ã§ãããäœããèµ·ãã£ãã®ã§ãèå³ããããŸã-ç§ã¯æ¬¡ã®èšäºã§æžããŸãã æåŸã®ã¹ãããã¯ãä»®æ³å ¥å/åºåãå®éã®FPGAã¬ãã°ã«é¢é£ä»ããããšã§ãã
é¢é£ä»ãã¯ã[å²ãåœãŠ]-[ãã³]ã¡ãã¥ãŒã§ã³ã³ãã€ã«åŸã«å®è¡ã§ããŸãã 衚瀺ããããŠã£ã³ããŠã«ããããäžã®ãã³ã¬ã€ã¢ãŠãã衚瀺ããããã®äžã«ãããžã§ã¯ããã³ã®ãªã¹ãã衚瀺ãããŸãã Locationãã£ãŒã«ããå€æŽããããšã«ãããå éšå ¥åãå®éã®ã¬ãã°ã«ãããã³ã°ããŸãã ç§ã®å ŽåãããŒãã®ã¬ã€ã¢ãŠãã«å¿ããŠãã³åã確èªããŸããéçºã®å Žåããã³åãããããŸãã æåŸã®ã¹ãããã¯ãã¡ãŒã ãŠã§ã¢ã§ããããŒã«-ããã°ã©ããŒã¡ãã¥ãŒã®ã¹ã¿ãŒããã¿ã³ã§å®è¡ããŸãïŒããã°ã©ããŒãæ¥ç¶ãããã©ã€ããŒãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãïŒã
ãŸãããã¹ãŠã®äžŠã¹æ¿ãã çµè«ãšããŠããã®ãããã¯ã«å¯Ÿããå ¬å ±ã®é¢å¿ãããå Žåãç§ã¯ç¢ºãã«ããå€ãã®èšäºãæžããšèšããããšæããŸãã ããšãã°ãèšå®ãšç®èŠãŸãæèšãªã©ã䜿ã£ãŠãã®ãããžã§ã¯ããéåžžã®æéã«å®äºããæ¹æ³ã¯ããã§ã«èšç»ããŠããŸã:)
çŽæã®ãªã³ã¯ïŒ
www.altera.com-ããããçš®é¡ã®è£œåããã¥ã¡ã³ããšåºå
www.bsuir.by/vhdl/reference-VHDLãªãã¡ã¬ã³ã¹
altera.ru-ã¢ã«ãã©ã®äŒç€Ÿã®ä»£è¡šè ãç§ã¯ããã«ã¹ã¿ãŒã¿ãŒãããã泚æããŸãã
+ J.R. Armstrong Modeling digital systems by VHDLã®æ¬ã䜿çšããŸããã
èªåã§çµã¿ç«ãŠã人ã®ããã«ãããŒãã®åè·¯ãåãä»ããŸãã ïŒ å質 ïŒ
ãŸããããŒãã¹-ã¿ã€ããŒãããžã§ã¯ãïŒ kach-kach ïŒ