|

楼主 |
发表于 2003-11-3 09:10:29
|
显示全部楼层
signal nq1 : inout std_logic;可以这样定义吗? (无内容)
还是想实现产生一个时钟周期的同步幀头,因为前面一直没整通,所以才会无休无止在这儿纠缠,请各位不要介意!!!!谢谢
另外,我知道 work.rtlpkg.all;中有DFF,不过只是最基本的dff,而我要用带复位的dff。还有我用q2既做输出又做输入,是想用q2控制nq1的值,让nq1正好能晚q2一个值时钟周期,其后两者相与为低电平,从而完成一个时钟周期的同步幀头的产生。感觉下面程序好像走得通,可没法解决上面出现的问题,还请多帮忙!!
library ieee;
use ieee.std_logic_1164.all;
use work.cfq_pkg.all;
......
architecture archcpld of cpld is
signal nq1 : std_logic;
signal q2 : std_logic;
signal nrclk : std_logic ;
signal counter : std_logic_vector(2 downto 0);
begin
----------------------------------------------
----------------------------------------------
--produce T_FRAME_HEADER
----------------------------------------------
----------------------------------------------
bin_1: cfq
port map( d => q2,
nreset => lxt_ten,
clk => tclk,
nq => nq1 );
bin_2: cfq
port map( d => bdx1,
nreset => lxt_ten,
clk => tclk,
q => q2 );
T_FRAME_HEADER<= '1' when (( nq1 = '1') and (q2 = '1'))
else '0';
----------------------------------------------
----------------------------------------------
--produce R_FRAME_HEADER
----------------------------------------------
----------------------------------------------
nbio <= lxt_cd ;
nrclk <= (not rclk) ;
bin_3: cfq
port map( d => q2,
nreset => lxt_cd,
clk => nrclk,
nq => nq1 );
bin_4: cfq
port map(d => bclkx1,
nreset => lxt_cd,
clk => nrclk,
q => q2 );
R_FRAME_HEADER<= '1' when ((nq1 = '1') and (q2 = '1'))
else '0'; |
|