|
发表于 2011-8-30 11:43:56
|
显示全部楼层
技术探讨,不用IC。
其实我以前做过一个类似功能的东东。 但10M的CLK触发只能扩展成140-200ns的的脉冲。
我认为10M以触发方式很难精准到100ns.
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
ENTITY DELAY_T IS
GENERIC (delaymax:integer:=1);
PORT (
clk : in std_logic;
tclk : in std_logic;
delayout :buffer std_logic);
END DELAY_T;
ARCHITECTURE epm570 OF DELAY_T IS
SIGNAL tclk_1 : std_logic;
BEGIN
PROCESS(tclk,tclk_1)
BEGIN
if (tclk_1='1')then
delayout<='0';
elsif(tclk'EVENT AND tclk = '0')then
delayout<='1';
end if;
END PROCESS;
PROCESS(clk,delayout)
variable delayT: integer range 0 to delaymax:=0;
BEGIN
if (delayout='0')then
delayT:=0;
tclk_1<='0';
else if(clk'EVENT AND clk = '1')then
if(delayT=delaymax)then
tclk_1<='1';
end if;
delayT:=delayT+1;
end if;
end if;
END PROCESS;
END epm570; |
|