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

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

?? sine_generator[1].vhd

?? 這是一個典型的正玄波發生器程序和一個任意波形發生器程序
?? VHD
字號:
----------------------------------------------------------------------------------
--
-- 采用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一区二区三区免费野_久草精品视频
国产一区999| 国产激情一区二区三区四区 | 国产白丝网站精品污在线入口| 天天色综合成人网| 亚洲香肠在线观看| 有坂深雪av一区二区精品| 日韩毛片视频在线看| 国产精品成人一区二区艾草| 欧美国产丝袜视频| 国产精品久久久久久久第一福利| 中文字幕一区二| 一区二区三区在线视频观看58| 一区二区三区欧美激情| 亚洲精品国产高清久久伦理二区| 亚洲小说欧美激情另类| 国产一区二区在线免费观看| 国产精品一区一区三区| 成人激情动漫在线观看| 成人av资源站| 欧美亚洲综合色| 日韩一区二区高清| 国产视频一区二区在线观看| 亚洲欧美色一区| 天天影视涩香欲综合网| 国产福利91精品| 一本色道a无线码一区v| 在线综合亚洲欧美在线视频| 久久综合九色综合97婷婷| 一区二区中文字幕在线| 婷婷丁香激情综合| 国产成人在线视频网址| 在线观看视频91| 欧美大白屁股肥臀xxxxxx| 欧美激情一二三区| 午夜精品久久久久久久久久| 国产中文一区二区三区| 色视频欧美一区二区三区| 日韩一区二区在线看片| 国产精品美女久久久久aⅴ| 午夜在线成人av| 粉嫩嫩av羞羞动漫久久久 | 国产精品69久久久久水密桃| av不卡一区二区三区| 欧美日韩一区成人| 国产欧美一区二区在线| 日韩精品乱码免费| 成人99免费视频| 91精品国产手机| 亚洲另类一区二区| 国产一区二区三区久久久| 欧美三级资源在线| 亚洲丝袜美腿综合| 国产一区二区女| 在线播放国产精品二区一二区四区 | 日韩精品中文字幕在线不卡尤物| 亚洲三级免费观看| 国产一区二区影院| 91精品国产综合久久久蜜臀粉嫩 | 欧美精品三级日韩久久| 亚洲欧美综合另类在线卡通| 狠狠久久亚洲欧美| 欧美一区二区视频网站| 亚洲精品国产一区二区精华液| 国产一区二区三区免费播放| 91精品国产综合久久久久久漫画 | 国产精品美女久久久久aⅴ| 激情小说欧美图片| 日韩一区二区精品| 免费精品视频在线| 51午夜精品国产| 奇米色777欧美一区二区| 欧美日韩国产综合视频在线观看| 亚洲精品免费视频| 欧美性一级生活| 一区二区三区不卡在线观看 | 亚洲成人综合视频| 欧美亚洲国产一区二区三区| 曰韩精品一区二区| 一本久道中文字幕精品亚洲嫩 | 成人黄页毛片网站| 久久精品无码一区二区三区| 狠狠色丁香婷婷综合| 久久伊人蜜桃av一区二区| 捆绑变态av一区二区三区| 正在播放亚洲一区| 乱一区二区av| 久久精品欧美日韩精品| 国产乱理伦片在线观看夜一区| 久久日一线二线三线suv| 国产成人精品影院| 亚洲欧洲www| 精品视频一区二区三区免费| 性做久久久久久久免费看| 欧美日韩成人在线| 九九九久久久精品| 国产清纯美女被跳蛋高潮一区二区久久w | 国产欧美中文在线| 99久久久久免费精品国产| 亚洲精品美国一| 91精选在线观看| 麻豆一区二区三区| 国产亚洲欧美日韩在线一区| 99精品国产视频| 三级在线观看一区二区| 久久在线观看免费| 一本高清dvd不卡在线观看| 免费日本视频一区| 国产精品视频yy9299一区| 色婷婷久久99综合精品jk白丝| 亚洲国产一区二区三区青草影视| 欧美一级艳片视频免费观看| 国产精一品亚洲二区在线视频| 亚洲视频免费看| 欧美一区二区精美| 成人一级黄色片| 视频一区国产视频| 日本一二三四高清不卡| 精品欧美一区二区在线观看| 国产suv精品一区二区三区| 亚洲影视在线播放| 久久免费电影网| 欧美日韩三级在线| 成人免费高清在线| 免费日韩伦理电影| 亚洲三级在线免费观看| 欧美精品一区二区在线播放| 色综合久久久久| 国产经典欧美精品| 日韩av电影天堂| 一区二区三区四区av| 久久精品欧美一区二区三区麻豆 | 久久久九九九九| 欧美日韩亚洲综合一区 | 国产精品日产欧美久久久久| 欧美伦理影视网| 91片黄在线观看| 国产成人在线看| 美女被吸乳得到大胸91| 一区二区成人在线| 中文字幕精品—区二区四季| 日韩欧美精品在线| 欧美日韩卡一卡二| 91久久线看在观草草青青| 国产精品一级片在线观看| 日韩专区中文字幕一区二区| 亚洲免费高清视频在线| 国产精品久久毛片a| 欧美精品一区二区久久婷婷| 欧美日韩国产一级| 色乱码一区二区三区88| 不卡的av中国片| 国产mv日韩mv欧美| 国产不卡在线视频| 丁香五精品蜜臀久久久久99网站 | 蜜桃一区二区三区在线| 午夜精品福利视频网站| 亚洲一区二区三区四区在线观看 | 亚洲婷婷在线视频| 国产精品国产馆在线真实露脸| 久久久久99精品国产片| 久久久精品黄色| 久久久久久一二三区| 久久久久久电影| 国产视频一区二区在线| 国产亚洲精品aa午夜观看| 久久久久97国产精华液好用吗| 久久综合久久鬼色中文字| 久久久美女毛片| 中文字幕免费不卡在线| 成人欧美一区二区三区1314| 国产精品欧美极品| 亚洲精品一二三四区| 亚洲线精品一区二区三区| 日韩视频免费观看高清完整版 | 欧美日韩免费高清一区色橹橹| 日韩电影在线观看电影| 久久一夜天堂av一区二区三区| 日韩免费电影网站| 久久久亚洲高清| 国产精品毛片久久久久久久| 国产精品国产精品国产专区不蜜| 亚洲欧美日韩中文字幕一区二区三区| 亚洲精品久久7777| 日本成人超碰在线观看| 国产一区二区在线视频| 成人国产在线观看| 欧美系列在线观看| 日韩视频一区二区| 国产精品毛片无遮挡高清| 一级做a爱片久久| 奇米精品一区二区三区四区| 国产iv一区二区三区| 91视频免费观看| 91精品国产一区二区| 国产欧美日韩视频一区二区| 亚洲黄色免费电影| 久久99久久精品| 在线中文字幕不卡| 欧美刺激午夜性久久久久久久| 国产精品美女视频|