[VHDL] 菜鸟就是菜鸟,连ISE测试文件都没搞好

[复制链接]
4802|21
 楼主| crjab 发表于 2013-7-19 16:30 | 显示全部楼层 |阅读模式
se, ST, ni, logic, TI
本帖最后由 crjab 于 2013-7-19 16:33 编辑

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity erfen is
port
(
clock:in std_logic;
clkout:out std_logic
);
end erfen;

architecture Behavioral of erfen is
signal clk:std_logic:='0';
begin
process(clock)
begin
if rising_edge(clock) then
clk<=not clk;
end if;
end process;
clkout<=clk;
end Behavioral;
以上是最简单的一个分频电路程序,其测试文件如下:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;

ENTITY erfentest IS
END erfentest;

ARCHITECTURE behavior OF erfentest IS

    -- Component Declaration for the Unit Under Test (UUT)

    COMPONENT erfen
    PORT(
         clock : IN  std_logic;
         clkout : OUT  std_logic
        );
    END COMPONENT;
   

   --Inputs
   signal clock : std_logic;

         --Outputs
   signal clkout : std_logic;

   -- Clock period definitions
   constant clock_period : time := 1us;
   constant clkout_period : time := 1us;

BEGIN

        -- Instantiate the Unit Under Test (UUT)
   uut: erfen PORT MAP (
          clock => clock,
          clkout => clkout
        );
   -- Clock process definitions
   clock_process :process
   begin
                clock <= '0';
                wait for clock_period/2;
                clock <= '1';
                wait for clock_period/2;
   end process;

   clkout_process :process
   begin
                clkout <= '0';
                wait for clkout_period/2;
                clkout <= '1';
                wait for clkout_period/2;
   end process;
END;

得出的波形却是这样:(附件里)
请高手看看怎么回事,,,刚接触这块,连一个小小的仿真都没搞定,打击很大啊

本帖子中包含更多资源

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

×
 楼主| crjab 发表于 2013-7-19 16:34 | 显示全部楼层
我去 发个帖子都出问题,,祈求牛人快快出现吧~~
 楼主| crjab 发表于 2013-7-19 16:35 | 显示全部楼层
U状态是未知状态 看了测试文件不知道哪里出问题了  请大神 指教
ococ 发表于 2013-7-19 17:07 | 显示全部楼层
本帖最后由 ococ 于 2013-7-19 17:11 编辑

testbench里面只需要给激励信号也就是输入信号。
把你的 clkout_process整个删掉。
另外把testbench中定义的clock赋初值:
--Inputs
   signal clock : std_logic:='0';
你的模块里面对clkout赋值,testbench也赋值当然输出波形就是未知状态了。
 楼主| crjab 发表于 2013-7-20 12:28 | 显示全部楼层
本帖最后由 crjab 于 2013-7-20 12:29 编辑
ococ 发表于 2013-7-19 17:07
testbench里面只需要给激励信号也就是输入信号。
把你的 clkout_process整个删掉。
另外把testbench中定义 ...

感谢您的指正,我把测试文件改成了:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;

ENTITY erfentest IS
END erfentest;

ARCHITECTURE behavior OF erfentest IS

    -- Component Declaration for the Unit Under Test (UUT)

    COMPONENT erfen
    PORT(
         clock : IN  std_logic;
         clkout : OUT  std_logic
        );
    END COMPONENT;


   --Inputs
   signal clock : std_logic:='0';

        --Outputs
   signal clkout : std_logic;

   -- Clock period definitions
   constant clock_period : time := 1us;

BEGIN

        -- Instantiate the Unit Under Test (UUT)
   uut: erfen PORT MAP (
          clock => clock,
          clkout => clkout
        );
   -- Clock process definitions
   clock_process :process
   begin
                clock <= '0';
                wait for clock_period/2;
                clock <= '1';
                wait for clock_period/2;
   end process;

END;
可是得出的波形clockout还是未知 麻烦您再帮我看看 谢谢你


本帖子中包含更多资源

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

×
ococ 发表于 2013-7-20 14:55 | 显示全部楼层
我感觉是你的模块和对应的testbench没连接起来吧,你仿真出来的波形只是testbench里面的信号的波形,你应该先综合一下模块,在综合一下testbench。
GoldSunMonkey 发表于 2013-7-20 15:02 | 显示全部楼层
ococ 发表于 2013-7-20 14:55
我感觉是你的模块和对应的testbench没连接起来吧,你仿真出来的波形只是testbench里面的信号的波形,你应该 ...

对头啊
GoldSunMonkey 发表于 2013-7-20 15:02 | 显示全部楼层
肯定是信号没有链接啊
 楼主| crjab 发表于 2013-7-20 16:03 | 显示全部楼层
ococ 发表于 2013-7-20 14:55
我感觉是你的模块和对应的testbench没连接起来吧,你仿真出来的波形只是testbench里面的信号的波形,你应该 ...

论坛上有这么资深的高手肯为菜鸟讲解,实在不多见了  十分感动
可是我已经综合过了呀 是不是这样?

本帖子中包含更多资源

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

×
 楼主| crjab 发表于 2013-7-20 16:04 | 显示全部楼层
GoldSunMonkey 发表于 2013-7-20 15:02
肯定是信号没有链接啊

初次发帖能得到版主关注 十分荣幸:hug:
GoldSunMonkey 发表于 2013-7-20 16:41 | 显示全部楼层
crjab 发表于 2013-7-20 16:04
初次发帖能得到版主关注 十分荣幸

别客气

评分

参与人数 1威望 +4 收起 理由
xjsxjtu + 4

查看全部评分

GoldSunMonkey 发表于 2013-7-20 16:41 | 显示全部楼层
crjab 发表于 2013-7-20 16:03
论坛上有这么资深的高手肯为菜鸟讲解,实在不多见了  十分感动
可是我已经综合过了呀 是不是这样?

是呀,没问题

评分

参与人数 1威望 +4 收起 理由
xjsxjtu + 4

查看全部评分

xjsxjtu 发表于 2013-7-20 20:04 | 显示全部楼层
感谢猴哥分析啊
ococ 发表于 2013-7-20 21:07 | 显示全部楼层
crjab 发表于 2013-7-20 16:03
论坛上有这么资深的高手肯为菜鸟讲解,实在不多见了  十分感动
可是我已经综合过了呀 是不是这样?

你应该先选择上面的erfentest文件,然后再在下面双击仿真吧。
FangTT 发表于 2013-7-20 21:11 | 显示全部楼层
ococ 发表于 2013-7-20 21:07
你应该先选择上面的erfentest文件,然后再在下面双击仿真吧。

学习啦
 楼主| crjab 发表于 2013-7-21 08:35 | 显示全部楼层
ococ 发表于 2013-7-20 21:07
你应该先选择上面的erfentest文件,然后再在下面双击仿真吧。

我就是这么做的啊,可是输出还是显示“U”,郁闷死了,,,请问高手有相关的电子文档吗,发给我一份学习一下  本人刚学这个不到两个礼拜 还没仿真出过波形  着实悲催啊  本人邮箱crjab@163.com  谢谢你的指教
 楼主| crjab 发表于 2013-7-21 08:37 | 显示全部楼层
GoldSunMonkey 发表于 2013-7-20 16:41
是呀,没问题

那怎么就出不来不来呢???头疼啊,可以把你的邮箱私信给我 我把文件发给你帮我看看吗????希望斑竹大大能抽点时间帮我这个菜鸟中的菜鸟
ococ 发表于 2013-7-21 18:20 | 显示全部楼层
crjab 发表于 2013-7-21 08:37
那怎么就出不来不来呢???头疼啊,可以把你的邮箱私信给我 我把文件发给你帮我看看吗????希望斑竹 ...

看你发的图你没有选择正确源文件啊。
你要选择testbench文件再仿真。
GoldSunMonkey 发表于 2013-7-21 21:09 | 显示全部楼层
crjab 发表于 2013-7-21 08:35
我就是这么做的啊,可是输出还是显示“U”,郁闷死了,,,请问高手有相关的电子文档吗,发给我一份学习 ...

你没连好啊
GoldSunMonkey 发表于 2013-7-21 21:09 | 显示全部楼层
crjab 发表于 2013-7-21 08:37
那怎么就出不来不来呢???头疼啊,可以把你的邮箱私信给我 我把文件发给你帮我看看吗????希望斑竹 ...

你的连接不正常
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

184

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部