亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vhdl_sin.txt

?? VHDL與Verilog示例(六) 8bit采樣sine波形發生
?? TXT
字號:
8bit采樣sine波形發生

----------------------------------------------------------------------------------
--
-- 采用ROM結構的8bit采樣 sine波形發生器
--
-- Download from http://www.pld.com.cn
-- The data for each signal shape is stored in a separate memory block.
-- NOTE: At least two samples per the highest output signal frequency are required to produce a valid waveform.
-- The contents of the ROM is synchronously sent to the output in accordance with the selected frequency and phase shift. 
-- The following table shows how to configure the phase shift and signal frequency.
--
-- PR    FR     DATA Description 
-- 1      0   programming phase shift 
-- 0      1   programming work frequency 
-- 
--
-- FR: Specifies how many CLK cycles per a single analog waveform sample are required. 

-----------------------------------------------------------------------------------



------------------------------------------------------------------------------------
-- DESCRIPTION   :  Cascadable Accumulator with Adder
--                  Width : 6
--                  CLK (CLK) active : high
--                  CLR (CLR) active : high
--                  CLR (CLR) type : asynchronous
--                  CE (CE) active : high
--
------------------------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity generator_acc6 is
 port (
  CLK : in std_logic;
  CE : in std_logic;
  CLR : in std_logic;
  A : in std_logic_vector (5 downto 0);
  Q : out std_logic_vector (5 downto 0)
 );
end entity;



architecture acc_arch of generator_acc6 is
signal REG_Q : std_logic_vector (5 downto 0);
signal TEMP_Q : std_logic_vector (5 downto 0);
begin

 process (REG_Q, A)
 begin
  TEMP_Q <= REG_Q + A;
 end process;

 process(CLK, CLR)
 begin
  if CLR = '1' then
   REG_Q <= "000000";
  elsif rising_edge(CLK) then
   if CE = '1' then
    REG_Q <= TEMP_Q;
   end if;
  end if;
 end process;

 Q <= REG_Q;


end architecture;


------------------------------------------------------------------------------------
-- DESCRIPTION   :  Multiplexer
--                  Code style: used case statement
--                  Width of output terminal: 8
--                  Number of terminals: 1
--                  Output value of all bits when enable not active: '0'
-- 
------------------------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity generator_mux is
 port (
  I0 : in std_logic_vector (7 downto 0);
  S : in std_logic;
  O : out std_logic_vector (7 downto 0)
 );
end entity;



architecture mux_arch of generator_mux is
begin

 process (S, I0)
 begin
  if (S = '0') then
    O <= I0;
  else
    O <= I1;
  end if;
 end process;

end architecture;

------------------------------------------------------------------------------------
-- DESCRIPTION   :  cascadable Adder
--                  Width: 6
--
-- 
------------------------------------------------------------------------------------


library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_UNSIGNED.all;

entity generator_adder is
 port (
  A, B : in std_logic_vector (5 downto 0);
  Q : out std_logic_vector (5 downto 0)
 );
end entity;

--}} End of automatically maintained section

architecture add_anGen_arch of generator_adder is
begin

 process (A, B)
 begin
  Q <= A + B;
 end process;

end architecture add_anGen_arch;

------------------------------------------------------------------------------------
-- DESCRIPTION   :  Gate: AND
-- 
------------------------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;

entity generator_and2 is
 port (
  I0 : in STD_LOGIC;
  I1 : in STD_LOGIC;
  O : out STD_LOGIC
 );
end entity;



architecture and_anGen_arch of generator_and2 is
begin
 O <= I0 and I1;
end architecture and_anGen_arch;

------------------------------------------------------------------------------------
-- DESCRIPTION   :  Name : Analog Generator ROM
-- 
------------------------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

use IEEE.std_logic_unsigned.all;

entity generator_sin is
    port (
 OE : in STD_LOGIC;
 ADDRESS : in STD_LOGIC_VECTOR(5 downto 0);
 Q : out STD_LOGIC_VECTOR(7 downto 0) );

end generator_sin;



architecture sin_arch of generator_sin is 

begin 
 process(ADDRESS, OE)
 begin
  if (OE = '1') then 
   case (ADDRESS) is 
    when "000000" => Q <= CONV_STD_LOGIC_VECTOR(0,8);
    when "000001" => Q <= CONV_STD_LOGIC_VECTOR(1,8);
    when "000010" => Q <= CONV_STD_LOGIC_VECTOR(3,8);
    when "000011" => Q <= CONV_STD_LOGIC_VECTOR(5,8);
    when "000100" => Q <= CONV_STD_LOGIC_VECTOR(7,8);
    when "000101" => Q <= CONV_STD_LOGIC_VECTOR(10,8);
    when "000110" => Q <= CONV_STD_LOGIC_VECTOR(13,8);
    when "000111" => Q <= CONV_STD_LOGIC_VECTOR(17,8);
    when "001000" => Q <= CONV_STD_LOGIC_VECTOR(21,8);
    when "001001" => Q <= CONV_STD_LOGIC_VECTOR(25,8);
    when "001010" => Q <= CONV_STD_LOGIC_VECTOR(31,8);
    when "001011" => Q <= CONV_STD_LOGIC_VECTOR(37,8);
    when "001100" => Q <= CONV_STD_LOGIC_VECTOR(43,8);
    when "001101" => Q <= CONV_STD_LOGIC_VECTOR(51,8);
    when "001110" => Q <= CONV_STD_LOGIC_VECTOR(60,8);
    when "001111" => Q <= CONV_STD_LOGIC_VECTOR(72,8);
    when "010000" => Q <= CONV_STD_LOGIC_VECTOR(85,8);
    when "010001" => Q <= CONV_STD_LOGIC_VECTOR(100,8);
    when "010010" => Q <= CONV_STD_LOGIC_VECTOR(116,8);
    when "010011" => Q <= CONV_STD_LOGIC_VECTOR(132,8);
    when "010100" => Q <= CONV_STD_LOGIC_VECTOR(148,8);
    when "010101" => Q <= CONV_STD_LOGIC_VECTOR(164,8);
    when "010110" => Q <= CONV_STD_LOGIC_VECTOR(180,8);
    when "010111" => Q <= CONV_STD_LOGIC_VECTOR(196,8);
    when "011000" => Q <= CONV_STD_LOGIC_VECTOR(212,8);
    when "011001" => Q <= CONV_STD_LOGIC_VECTOR(228,8);
    when "011010" => Q <= CONV_STD_LOGIC_VECTOR(234,8);
    when "011011" => Q <= CONV_STD_LOGIC_VECTOR(238,8);
    when "011100" => Q <= CONV_STD_LOGIC_VECTOR(244,8);
    when "011101" => Q <= CONV_STD_LOGIC_VECTOR(248,8);
    when "011110" => Q <= CONV_STD_LOGIC_VECTOR(255,8);
    when "011111" => Q <= CONV_STD_LOGIC_VECTOR(255,8);
    when "100000" => Q <= CONV_STD_LOGIC_VECTOR(255,8);
    when "100001" => Q <= CONV_STD_LOGIC_VECTOR(255,8);
    when "100010" => Q <= CONV_STD_LOGIC_VECTOR(255,8);
    when "100011" => Q <= CONV_STD_LOGIC_VECTOR(248,8);
    when "100100" => Q <= CONV_STD_LOGIC_VECTOR(244,8);
    when "100101" => Q <= CONV_STD_LOGIC_VECTOR(238,8);
    when "100110" => Q <= CONV_STD_LOGIC_VECTOR(234,8);
    when "100111" => Q <= CONV_STD_LOGIC_VECTOR(228,8);
    when "101000" => Q <= CONV_STD_LOGIC_VECTOR(212,8);
    when "101001" => Q <= CONV_STD_LOGIC_VECTOR(196,8);
    when "101010" => Q <= CONV_STD_LOGIC_VECTOR(180,8);
    when "101011" => Q <= CONV_STD_LOGIC_VECTOR(164,8);
    when "101100" => Q <= CONV_STD_LOGIC_VECTOR(148,8);
    when "101101" => Q <= CONV_STD_LOGIC_VECTOR(132,8);
    when "101110" => Q <= CONV_STD_LOGIC_VECTOR(116,8);
    when "101111" => Q <= CONV_STD_LOGIC_VECTOR(100,8);
    when "110000" => Q <= CONV_STD_LOGIC_VECTOR(85,8);
    when "110001" => Q <= CONV_STD_LOGIC_VECTOR(72,8);
    when "110010" => Q <= CONV_STD_LOGIC_VECTOR(60,8);
    when "110011" => Q <= CONV_STD_LOGIC_VECTOR(51,8);
    when "110100" => Q <= CONV_STD_LOGIC_VECTOR(43,8);
    when "110101" => Q <= CONV_STD_LOGIC_VECTOR(37,8);
    when "110110" => Q <= CONV_STD_LOGIC_VECTOR(31,8);
    when "110111" => Q <= CONV_STD_LOGIC_VECTOR(25,8);
    when "111000" => Q <= CONV_STD_LOGIC_VECTOR(21,8);
    when "111001" => Q <= CONV_STD_LOGIC_VECTOR(17,8);
    when "111010" => Q <= CONV_STD_LOGIC_VECTOR(13,8);
    when "111011" => Q <= CONV_STD_LOGIC_VECTOR(10,8);
    when "111100" => Q <= CONV_STD_LOGIC_VECTOR(7,8);
    when "111101" => Q <= CONV_STD_LOGIC_VECTOR(5,8);
    when "111110" => Q <= CONV_STD_LOGIC_VECTOR(3,8);
    when "111111" => Q <= CONV_STD_LOGIC_VECTOR(0,8);
    when others => Q <= "00000000";
   end case;
  else
   Q <= "ZZZZZZZZ"; 
  end if;
 end process;
end architecture sin_arch;

------------------------------------------------------------------------------------
-- DESCRIPTION   :  Flip-flop D type
--                  Width: 6
--                  Clock active: high
--                  Asynchronous clear active: high
--                  Clock enable active: high
-- 
------------------------------------------------------------------------------------


library IEEE;
use IEEE.std_logic_1164.all;

entity generator_reg6 is
 port (
  CLR : in std_logic;
  CE : in std_logic;
  CLK : in std_logic;
  DATA : in std_logic_vector (5 downto 0);
  Q : out std_logic_vector (5 downto 0)
 );
end entity;



architecture reg_arch6 of generator_reg6 is
signal TEMP_Q_0: std_logic_vector (5 downto 0);
begin

 process (CLK, CLR)
 begin

  if CLR = '1' then
   TEMP_Q_0 <= (others => '0');
  elsif rising_edge(CLK) then
   if CE = '1' then
    TEMP_Q_0 <= DATA;
   end if;
  end if;

 end process;

 Q <= TEMP_Q_0;

end architecture;


------------------------------------------------------------------------------------
-- DESCRIPTION   :  Flip-flop D type
--                  Width: 8
--                  Clock active: high
--                  Asynchronous clear active: high
--                  Clock enable active: high
-- 
------------------------------------------------------------------------------------



library IEEE;
use IEEE.std_logic_1164.all;

entity generator_reg8 is
 port (
  CLR : in std_logic;
  CE : in std_logic;
  CLK : in std_logic;
  DATA : in std_logic_vector (7 downto 0);
  Q : out std_logic_vector (7 downto 0)
 );
end entity;



architecture reg_arch8 of generator_reg8 is
signal TEMP_Q_1: std_logic_vector (7 downto 0);
begin

 process (CLK, CLR)
 begin

  if CLR = '1' then
   TEMP_Q_1 <= (others => '0');
  elsif rising_edge(CLK) then
   if CE = '1' then
    TEMP_Q_1 <= DATA;
   end if;
  end if;

 end process;

 Q <= TEMP_Q_1;

end architecture;


------------------------------------------------------------------------------------
-- DESCRIPTION   :  Name : Analog Generator
-- 
------------------------------------------------------------------------------------


library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity generator is
 port (
  DATA : in std_logic_vector(5 downto 0);
  PR : in std_logic;
  FR : in std_logic;
  CLR : in std_logic;
  CE : in std_logic;
  Q : out std_logic_vector(7 downto 0);
  CLK : in std_logic);

end generator;



architecture generator_arch of generator is 

component generator_acc6
    port(
      A : in STD_LOGIC_VECTOR(5 downto 0);
      CE : in STD_LOGIC;
      CLK : in STD_LOGIC;
      CLR : in STD_LOGIC;
      Q : out STD_LOGIC_VECTOR(5 downto 0));
end component;

component generator_adder
    port (
      A : in STD_LOGIC_VECTOR(5 downto 0);
      B : in STD_LOGIC_VECTOR(5 downto 0);
      Q : out STD_LOGIC_VECTOR(5 downto 0));
end component;

component generator_and2
    port (
      I0 : in STD_LOGIC;
      I1 : in STD_LOGIC;
      O : out STD_LOGIC
);
end component;

component generator_sin
    port (
      OE : in STD_LOGIC;
      ADDRESS : in STD_LOGIC_VECTOR(5 downto 0);
      Q : out STD_LOGIC_VECTOR(7 downto 0) );
end component;

component generator_reg6
    port (
      CE : in STD_LOGIC;
      CLK : in STD_LOGIC;
      CLR : in STD_LOGIC;
      DATA : in STD_LOGIC_VECTOR(5 downto 0);
      Q : out STD_LOGIC_VECTOR(5 downto 0));
end component;

component generator_reg8
    port (
      CE : in STD_LOGIC;
      CLK : in STD_LOGIC;
      CLR : in STD_LOGIC;
      DATA : in STD_LOGIC_VECTOR(7 downto 0);
      Q : out STD_LOGIC_VECTOR(7 downto 0));
end component;

signal CE_U1 : STD_LOGIC;
signal CE_U2 : STD_LOGIC;
signal cur_FR : STD_LOGIC_VECTOR (5 downto 0);
signal cur_PR : STD_LOGIC_VECTOR (5 downto 0);
signal def_FR : STD_LOGIC_VECTOR (5 downto 0);
signal VAL : STD_LOGIC_VECTOR (7 downto 0);
signal VAL1 : STD_LOGIC_VECTOR (7 downto 0);
signal VAL2 : STD_LOGIC_VECTOR (7 downto 0);
signal VAL3 : STD_LOGIC_VECTOR (7 downto 0);
signal VAL4 : STD_LOGIC_VECTOR (7 downto 0);
signal PRFR : STD_LOGIC_VECTOR (5 downto 0);

begin

U1 : generator_reg6
  port map(
       CE => CE_U1,
       CLK => CLK,
       CLR => CLR,
       DATA => DATA,
       Q => cur_PR);

U6 : generator_sin
  port map(
       OE => '1',
       ADDRESS => PRFR,
       Q => VAL4);


VAL <= VAL4;
U2 : generator_reg6
  port map(
       CE => CE_U2,
       CLK => CLK,
       CLR => CLR,
       DATA => DATA,
       Q => def_FR);

U3 : generator_adder
  port map(
       A => cur_PR,
       B => cur_FR,
       Q => PRFR);

U4 : generator_acc6
  port map(
       A => def_FR,
       CE => CE,
       CLR => CLR,
       CLK => CLK,
       Q => cur_FR);

U7 : generator_reg8
  port map(
       CE => CE,
       CLR => CLR,
       CLK => CLK,
       DATA => VAL,
       Q => Q);

U8 : generator_and2
  port map(
       I0 => CE,
       I1 => FR,
       O => CE_U2);

U9 : generator_and2
  port map(
       I0 => CE,
       I1 => PR,
       O => CE_U1);

end architecture generator_arch;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线观看不卡视频| 手机精品视频在线观看| 日韩美女天天操| 777奇米四色成人影色区| 欧美日韩电影在线播放| 欧美色偷偷大香| 在线看不卡av| 欧美日韩成人综合天天影院| 欧美高清视频一二三区 | 91年精品国产| 成人看片黄a免费看在线| 波多野结衣在线aⅴ中文字幕不卡| 国产sm精品调教视频网站| 成人美女在线观看| 96av麻豆蜜桃一区二区| 色88888久久久久久影院野外| 欧洲一区在线电影| 欧美高清视频www夜色资源网| 欧美一二三四在线| 久久婷婷一区二区三区| 日本一区二区三区四区| 最新中文字幕一区二区三区| 亚洲自拍另类综合| 亚洲成a人v欧美综合天堂| 五月激情综合婷婷| 韩国成人精品a∨在线观看| 国产馆精品极品| 91麻豆6部合集magnet| 91成人免费网站| 日韩一区二区三区在线观看| 久久久精品tv| 亚洲女女做受ⅹxx高潮| 午夜精品福利视频网站| 国产一区免费电影| 97久久超碰国产精品| 欧美日本一区二区三区| 亚洲精品一区二区三区福利 | 亚洲欧美日韩国产手机在线 | 日韩不卡手机在线v区| 国产麻豆视频一区二区| 91在线免费视频观看| 欧美电影在哪看比较好| 国产日韩av一区| 亚洲一级不卡视频| 国产乱人伦偷精品视频不卡| 色综合天天综合| 日韩欧美第一区| 中文字幕中文在线不卡住| 日本va欧美va瓶| 99re热这里只有精品视频| 国产亚洲精品超碰| 亚洲激情图片qvod| 激情综合色丁香一区二区| 91在线视频播放地址| 精品欧美一区二区三区精品久久| 综合电影一区二区三区| 日韩高清不卡在线| 成人avav影音| 日韩精品一区二区三区四区| 亚洲欧美日韩国产综合在线| 国产一区二区成人久久免费影院| 在线精品视频免费播放| 国产片一区二区三区| 天天色综合成人网| 97se狠狠狠综合亚洲狠狠| 2020国产成人综合网| 亚洲一区二区三区四区在线观看| 国产成人免费在线观看| 91精品国产综合久久精品| 亚洲视频狠狠干| 国产一区激情在线| 在线电影一区二区三区| 日韩毛片视频在线看| 精品亚洲成a人| 制服丝袜日韩国产| 亚洲一级二级三级| 91免费在线视频观看| 国产精品网站在线观看| 捆绑调教一区二区三区| 欧美日韩美少妇| 亚洲最大色网站| 99精品一区二区| 国产色综合一区| 国产在线一区观看| 欧美一区二区观看视频| 亚洲成在人线在线播放| 在线欧美日韩精品| 一区二区三区日韩精品| 99久久夜色精品国产网站| 久久精品人人爽人人爽| 久久国产精品99久久人人澡| 欧美久久一二三四区| 一区二区三区四区在线播放| 99热99精品| 国产精品国产馆在线真实露脸| 国产在线播放一区| 久久这里只有精品视频网| 麻豆精品视频在线观看免费| 在线综合视频播放| 日本成人中文字幕在线视频| 欧美高清你懂得| 蜜桃视频在线观看一区| 日韩一级片在线播放| 乱一区二区av| 26uuu久久天堂性欧美| 国产麻豆一精品一av一免费| 天天综合天天综合色| 91国产成人在线| 午夜一区二区三区视频| 51精品秘密在线观看| 毛片一区二区三区| 精品国产百合女同互慰| 国产精品一区二区久久精品爱涩 | 国产精品二区一区二区aⅴ污介绍| 成人午夜在线免费| 国产精品毛片大码女人| 99在线热播精品免费| 一区二区三区四区激情| 欧美日韩在线播放三区四区| 香蕉久久一区二区不卡无毒影院| 欧美久久久久免费| 日本网站在线观看一区二区三区| 欧美成人三级电影在线| 国产激情一区二区三区| 亚洲三级在线免费观看| 欧美性生活久久| 麻豆免费精品视频| 国产日本欧美一区二区| 91免费小视频| 日韩va欧美va亚洲va久久| 精品福利视频一区二区三区| 成人免费黄色在线| 亚洲一区免费在线观看| 日韩美女视频在线| 成人av免费网站| 午夜视频久久久久久| 久久综合999| 一本一道波多野结衣一区二区| 日日夜夜免费精品视频| 久久精品一区四区| 色婷婷激情综合| 美国十次了思思久久精品导航| 中文字幕在线观看一区| 91精品国产色综合久久久蜜香臀| 国产成人av在线影院| 性欧美大战久久久久久久久| 日本一区二区三区四区| 777a∨成人精品桃花网| 国产成人免费视频| 午夜不卡av免费| 国产精品色呦呦| 欧美一区二区人人喊爽| 99热这里都是精品| 美腿丝袜亚洲一区| 亚洲尤物在线视频观看| 久久美女高清视频| 欧美亚洲国产一卡| 丁香网亚洲国际| 欧美a一区二区| 亚洲图片你懂的| 欧美精品一区二区三区高清aⅴ| 91福利小视频| 国产福利精品一区二区| 视频一区国产视频| 亚洲男人天堂一区| 国产亚洲综合在线| 制服.丝袜.亚洲.另类.中文| av电影在线不卡| 国产专区综合网| 日韩中文字幕不卡| 一区二区三区四区在线| 国产精品美女久久久久久| 日韩视频在线你懂得| 91福利视频久久久久| 国产jizzjizz一区二区| 久久国产精品一区二区| 污片在线观看一区二区| 亚洲素人一区二区| 亚洲国产高清不卡| 精品久久国产老人久久综合| 欧美日韩国产免费一区二区| 91视频一区二区三区| 国产盗摄女厕一区二区三区| 免费成人av在线播放| 偷拍与自拍一区| 亚洲自拍都市欧美小说| 亚洲人亚洲人成电影网站色| 欧美极品少妇xxxxⅹ高跟鞋| 精品国产免费一区二区三区香蕉 | 亚洲午夜日本在线观看| 亚洲欧美一区二区视频| 中文字幕精品三区| 国产女主播一区| 久久久国产精品午夜一区ai换脸| 日韩欧美卡一卡二| 欧美一级日韩一级| 欧美一区二区精品在线| 欧美一区二区美女| 欧美videos中文字幕| 欧美电影免费观看完整版|