搜索
bottom↓
回复: 0

求助 请教下 VHDL在ModelsimSE中仿真UART通信,我把UART分为4个模块,然后建立了一个顶

[复制链接]

出0入0汤圆

发表于 2011-6-28 16:09:02 | 显示全部楼层 |阅读模式
如题 Testbench代码如下

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 using
-- arithmetic functions with Signed or Unsigned values
--USE ieee.numeric_std.ALL;

ENTITY uart_bench IS
END uart_bench;

ARCHITECTURE behavior OF uart_bench IS

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

    COMPONENT uart_top
    PORT(
         rs232_rx : IN  std_logic;
         rs232_tx : OUT  std_logic;
         clk : IN  std_logic;
         rst_n : IN  std_logic
        );
    END COMPONENT;
   

   --Inputs
   signal rs232_rx : std_logic := '0';
   signal clk : std_logic := '0';
   signal rst_n : std_logic := '0';

        --Outputs
   signal rs232_tx : std_logic;

   -- Clock period definitions
   constant clk_period : time := 20 ns;
        constant pbit_time : time := 104166 ns;
BEGIN

        -- Instantiate the Unit Under Test (UUT)
   uut: uart_top PORT MAP (
          rs232_rx => rs232_rx,
          rs232_tx => rs232_tx,
          clk => clk,
          rst_n => rst_n
        );

   stim_proc: process
   begin               
      rst_n <= '1';
      wait for 50 ns;       
                rst_n <= '0';
                wait for 100 ns;
                rst_n <= '1';
                wait for 100*pbit_time;
   end process;
       
        process (clk,rst_n)
   begin               
      IF rst_n = '0' THEN
                        clk <= '0';
                --        rs232_rx <= '1';
                ELSE
                        clk <= NOT clk AFTER 20 ns;
                END IF;
               
   end process;
       
        process
        begin
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '0';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '0';
                wait for pbit_time;
                rs232_rx <= '0';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '0';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '0';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
                rs232_rx <= '1';
                wait for pbit_time;
        end process;
       
END;

是不是要把其它4个小模块给例化到Testbench中啊???  多模块的联合仿真到底该怎么做啊???


顶层模块图(源自特权_uart) (原文件名:my_uart_top.jpg)


ModelsimSE中的信号列表 (原文件名:signal.png)


如图 怎么才能在ModelsimSE的信号列表中看到 bps_start,clk_bps,rx_int等这些中间信号??

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 13:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表