在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6272|回复: 14

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

[复制链接]
发表于 2003-11-2 22:01:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

发表于 2003-11-2 22:07:32 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

signal  nq1 : inout std_logic;

vhdl不太熟,好像不可以
编译时没有语法错误吗?
 楼主| 发表于 2003-11-2 22:17:03 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

呵呵,有啊!可我不知道怎么办才好,最后两种错误时钟消不掉!我想了好多法子了,请再指点一下,好吗?谢谢
topld:  cpld.vhd:  (E463) 'q2' -- Can't handle registered multi driver.
topld:  cpld.vhd:  (E463) 'nq1' -- Can't handle registered multi driver.
topld:  cpld.vhd:  (E446) Can't handle multiple drivers for 'q2' in selected device.
topld:  cpld.vhd:  (E446) Can't handle multiple drivers for 'nq1' in selected device.
发表于 2003-11-2 22:17:56 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

signal nq1: std_logic;
信号是内部的东西,不应该有inout
发表于 2003-11-2 22:32:33 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

为什么要这样写呢?你想实现什么功能?
发表于 2003-11-3 08:40:28 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

内部信号不用指明它的方向的,只要指明它的逻辑就行了!!
发表于 2003-11-3 08:58:34 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

对,不用加inout
 楼主| 发表于 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';
发表于 2003-11-3 09:23:00 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

你为什么不肯试试我给你的那个程序呢?我敢保证绝对实现你的功能。
 楼主| 发表于 2003-11-3 09:55:54 | 显示全部楼层

signal nq1 : inout std_logic;可以这样定义吗? (无内容)

我昨天用了,不过我觉得q1<=q2;那么q2与q1之间没有一个时钟的延迟,也不可能产生一个时钟周期的同步幀头?这样的同步幀头输出信号能与dsp的同步幀头信号相连吗?dsp的同步幀头信号只有一个时钟周期的!
-- 试试用这个吧。nset的那个脚就不接就行了。
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity frame_header is
port
(
tclk:in std_logic;
lxt_ten:in std_logic;
bdxl:in std_logic;
t_frame_headerut std_logic
);
end frame_header;
architecture behave of frame_header is
signal q1:std_logic;
signal q2:std_logic;
begin
t_frame_header<= q2 and (not q1);
process(tclk,lxt_ten)
begin
if lxt_ten='0' then
  q1<='0';
  q2<='0';
elsif tclk'event and tclk='1' then
  q2<=bdxl;
  q1<=q2;
end if;
end process;
end behave;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 22:33 , Processed in 0.025021 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表