新建 文本文档.txt
来自「本源码是基于CPLD的40路数字信号采集采集一组数据提交单片机处理并受单片机控制」· 文本 代码 · 共 55 行
TXT
55 行
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xin is
port(a:std_logic_vector(39 downto 0);
clk,cs:in std_logic;
ao:out std_logic_vector(15 downto 0);
int:out std_logic);
end xin;
architecture a of xin is
signal ints:std_logic;
signal cou:std_logic_vector(2 downto 0);
begin
process(a,clk,cs)
variable s:std_logic_vector(39 downto 0);
--variable cou:std_logic_vector(2 downto 0);
--variable ints:std_logic;
begin
--if (rest='1')then
if(cs='0')then
ints<='1';
if(clk'event and clk='1')then
cou<=cou+1;
if(cou=2)then
cou<="000";
end if;
case cou is
when "000"=>ao<=s(39 downto 24);
when "001"=>ao<=s(23 downto 8);
when "010"=>ao<=s(7 downto 0)&"11111111";
-- when "100"=>ao<=s(31 downto 16);
-- when "101"=>ao<=s(15 downto 0);
when others=>null;
end case;
end if;
else
cou<="000";
ao<=(others=>'Z');
if((not a)>0)then
ints<='0';
else
s:=s;
end if;
end if;
--else
-- ints:='1';
-- ao<=(others=>'Z');
-- cou:="000";
--end if;
int<=ints;
if(ints'event and ints='0')then
s:=a;
end if;
end process;
end a;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?