Thông báo

Collapse
No announcement yet.

Khi một Process trong Test Bench không mô tả các tín hiệu nhạy?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Khi một Process trong Test Bench không mô tả các tín hiệu nhạy?

    Mình làm 1 mạch đơn giản mạch Not (mình bắt đầu học VHDL), mình làm schematic trên Ise 1 con Not (trên ise là INV) >> New source TestBench VHDL >> Timing constraints >> chạy Isim. Mình muốn hỏi các cao thủ:
    - Ise tự tạo ra 1 file Testbench VHDL rồi nó có sẵn 1 cái process không có danh sách các tín hiệu nhạy để mình viết thêm testbench, mình không hiểu cơ chế cái này, ko có tín hiệu nhạy làm sao nó chạy, mặc dù mình viết thêm Wait rồi cho thay đổi các signal rồi mô phỏng trên Isim thấy các tín hiệu có thay đổi.
    Vậy Process trong trường hợp file testbench này ko có tín hiệu nhạy là sao. Cơ chế chung là như thế nào? Mong các cao thủ chỉ giáo.
    - Mình còn câu hỏi này nữa, tại sao bản Ise11 ko thấy có phần new source của Testbench waveform giống như các tut trên mạng nhỉ?

    Mong tin

  • #2
    Nguyên văn bởi hungcachan Xem bài viết
    Mình làm 1 mạch đơn giản mạch Not (mình bắt đầu học VHDL), mình làm schematic trên Ise 1 con Not (trên ise là INV) >> New source TestBench VHDL >> Timing constraints >> chạy Isim. Mình muốn hỏi các cao thủ:
    - Ise tự tạo ra 1 file Testbench VHDL rồi nó có sẵn 1 cái process không có danh sách các tín hiệu nhạy để mình viết thêm testbench, mình không hiểu cơ chế cái này, ko có tín hiệu nhạy làm sao nó chạy, mặc dù mình viết thêm Wait rồi cho thay đổi các signal rồi mô phỏng trên Isim thấy các tín hiệu có thay đổi.
    Vậy Process trong trường hợp file testbench này ko có tín hiệu nhạy là sao. Cơ chế chung là như thế nào? Mong các cao thủ chỉ giáo.
    - Mình còn câu hỏi này nữa, tại sao bản Ise11 ko thấy có phần new source của Testbench waveform giống như các tut trên mạng nhỉ?

    Mong tin
    Bạn bỏ code lên để mọi người góp ý kiến nhe.
    Chúc một ngày vui vẻ
    Tony
    email : dientu_vip@yahoo.com

    Comment


    • #3
      Nguyên văn bởi hungcachan Xem bài viết
      Mình làm 1 mạch đơn giản mạch Not (mình bắt đầu học VHDL), mình làm schematic trên Ise 1 con Not (trên ise là INV) >> New source TestBench VHDL >> Timing constraints >> chạy Isim. Mình muốn hỏi các cao thủ:
      - Ise tự tạo ra 1 file Testbench VHDL rồi nó có sẵn 1 cái process không có danh sách các tín hiệu nhạy để mình viết thêm testbench, mình không hiểu cơ chế cái này, ko có tín hiệu nhạy làm sao nó chạy, mặc dù mình viết thêm Wait rồi cho thay đổi các signal rồi mô phỏng trên Isim thấy các tín hiệu có thay đổi.
      Vậy Process trong trường hợp file testbench này ko có tín hiệu nhạy là sao. Cơ chế chung là như thế nào? Mong các cao thủ chỉ giáo.
      - Mình còn câu hỏi này nữa, tại sao bản Ise11 ko thấy có phần new source của Testbench waveform giống như các tut trên mạng nhỉ?

      Mong tin
      Không có tín hiệu nhạy (sensitivity list) thì lúc nào nó cũng chạy. Chạy hết xuống dưới rồi lại quay lên chạy từ đầu.

      Comment


      • #4
        1 Câu trả lời chuẩn không cần chỉnh.
        Thanks rất nhiều,

        Comment


        • #5
          Mình muốn hỏi 1 câu hơi chuối 1 tý nữa, nếu có nhiều hơn một Process không có danh sách tín hiệu nhạy, nó sẽ xử lý ra sao?

          Comment


          • #6
            bản thân process là 1 câu lệnh đổng thời (concurrent statement), cho nên tất cả các process sẽ được thực hiện "cùng 1 lúc" ==> dùng để mô tả các mạch điện song song chạy cùng 1 lúc.

            Comment


            • #7
              rất cảm ơn Mod, mình rất thích kiểu học này, mình ko chống chế cho kiểu phải học 1 cách bài bản, tuy nhiên cách trả lời này làm hiểu rất rõ bản chất vấn đề mà đôi khi các quấn sách ko đề cập.

              Comment


              • #8
                Ok, thích thì chiều, nhưng cũng tùy cái! Đụng gì cũng hỏi thì mất hứng lắm hehe

                Comment


                • #9
                  các hảo hán giúp mình với, code test_bench mình viết mô phỏng được Simulation, nhưng không thấy xung đâu cả(mình dùng Win7):

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

                  ENTITY test_bench_NPV90 IS
                  END test_bench_NPV90;

                  ARCHITECTURE behavior OF test_bench_NPV90 IS

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

                  COMPONENT NPV90
                  PORT(
                  CLK : IN std_logic;
                  Speed : IN std_logic;
                  Selec : IN std_logic_vector(1 downto 0);
                  Row : OUT std_logic_vector(7 downto 0);
                  CLKX : OUT std_logic;
                  CLKD : OUT std_logic;
                  DICHCOT : OUT std_logic
                  );
                  END COMPONENT;


                  --Inputs
                  signal CLK : std_logic := '1';
                  signal Speed : std_logic := '0';
                  signal Selec : std_logic_vector(1 downto 0) := (others => '0');

                  --Outputs
                  signal Row : std_logic_vector(7 downto 0);
                  signal CLKX : std_logic;
                  signal CLKD : std_logic;
                  signal DICHCOT : std_logic;

                  BEGIN

                  -- Instantiate the Unit Under Test (UUT)
                  uut: NPV90 PORT MAP (
                  CLK => CLK,
                  Speed => Speed,
                  Selec => Selec,
                  Row => Row,
                  CLKX => CLKX,
                  CLKD => CLKD,
                  DICHCOT => DICHCOT
                  );


                  clk <= not clk after 20 ns;
                  speed <= '0', '1' after 100 ns,'0' after 200 ns,'1' after 500 ns;
                  selec <= "00", "01" after 100 ns, "10" after 300 ns, "11" after 600 ns;


                  END;



                  mình phải sửa ntn để quan sát đc xung ?
                  ____KẺ KIÊU HÙNG NÊN DÙNG THỰC LỰC ĐỂ GÂY DỰNG SỰ TÔN NGHIÊM !!!____

                  Comment


                  • #10
                    Nguyên văn bởi ngaophongvan Xem bài viết
                    các hảo hán giúp mình với, code test_bench mình viết mô phỏng được Simulation, nhưng không thấy xung đâu cả(mình dùng Win7):

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

                    ENTITY test_bench_NPV90 IS
                    END test_bench_NPV90;

                    ARCHITECTURE behavior OF test_bench_NPV90 IS

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

                    COMPONENT NPV90
                    PORT(
                    CLK : IN std_logic;
                    Speed : IN std_logic;
                    Selec : IN std_logic_vector(1 downto 0);
                    Row : OUT std_logic_vector(7 downto 0);
                    CLKX : OUT std_logic;
                    CLKD : OUT std_logic;
                    DICHCOT : OUT std_logic
                    );
                    END COMPONENT;


                    --Inputs
                    signal CLK : std_logic := '1';
                    signal Speed : std_logic := '0';
                    signal Selec : std_logic_vector(1 downto 0) := (others => '0');

                    --Outputs
                    signal Row : std_logic_vector(7 downto 0);
                    signal CLKX : std_logic;
                    signal CLKD : std_logic;
                    signal DICHCOT : std_logic;

                    BEGIN

                    -- Instantiate the Unit Under Test (UUT)
                    uut: NPV90 PORT MAP (
                    CLK => CLK,
                    Speed => Speed,
                    Selec => Selec,
                    Row => Row,
                    CLKX => CLKX,
                    CLKD => CLKD,
                    DICHCOT => DICHCOT
                    );


                    clk <= not clk after 20 ns;
                    speed <= '0', '1' after 100 ns,'0' after 200 ns,'1' after 500 ns;
                    selec <= "00", "01" after 100 ns, "10" after 300 ns, "11" after 600 ns;


                    END;



                    mình phải sửa ntn để quan sát đc xung ?
                    CLK cần phải nằm trong một process mà tự trigger.

                    process(CLK)
                    begin
                    CLK <= NOT CLK after 20 ns;
                    end process;

                    Sent from my MB865 using Tapatalk
                    Chúc một ngày vui vẻ
                    Tony
                    email : dientu_vip@yahoo.com

                    Comment


                    • #11
                      THANKS TONY ! mình đã tìm ra lỗi, do chọn nhầm boar lập trình(mục family) lúc mới tạo project (mình đang dùng Spactan 3AN, XC3S700AN), báo hại dò lỗi code cả buổi... Cho mình hỏi thêm cái: mình muốn dowload code vào kit thì phải làm ntn? mình dùng lap dell cắm cable nối kit với máy thấy led xanh trên kit đã sáng nhưng không biết phải dùng tool gì, dowload ở đâu để nạp được cho nó?
                      ____KẺ KIÊU HÙNG NÊN DÙNG THỰC LỰC ĐỂ GÂY DỰNG SỰ TÔN NGHIÊM !!!____

                      Comment


                      • #12
                        Anh TONY chắc không biết đâu ... Anh Tony chơi toàn chip + tool xịn, ko dùng mấy tool như Xilinx đâu.
                        Dùng để download chip của Xilinx thì bạn dùng phần mềm impact trong accessories.

                        Comment


                        • #13
                          cảm ơn jefflieu nhiều ! nhờ keyword: iMPACT của cậu mình đã tìm đc file PDF hướng dẫn khá chi tiết: http://www.mediafire.com/?g3km7cn7xgecxsg (ai quan tâm thì dowload ở đây nha !) . Mình cũng xin hỏi thêm là mình muốn lấy tín hiệu ra để kết nối với ma trận led thì lấy ở đâu trên kit spactan 3AN , mình có 1 bus 8line để nối vào 8 chân hàng cho matrix, 1 bus 3line lấy 3 xung clk ra(được chia từ clock chuẩn của kit 50MHZ) ?
                          ____KẺ KIÊU HÙNG NÊN DÙNG THỰC LỰC ĐỂ GÂY DỰNG SỰ TÔN NGHIÊM !!!____

                          Comment


                          • #14
                            Thiết kế bộ điều khiển ma trận led 2d dùng fpga

                            ĐÃ HOÀN THÀNH ĐỒ ÁN: Thiết kế bộ điều khiển ma trận led 2d dùng fpga.
                            DOW TẠI : MA TRẬN LED2D DÙNG FPGA.rar
                            Last edited by ngaophongvan; 12-04-2012, 23:52.
                            ____KẺ KIÊU HÙNG NÊN DÙNG THỰC LỰC ĐỂ GÂY DỰNG SỰ TÔN NGHIÊM !!!____

                            Comment

                            Về tác giả

                            Collapse

                            hungcachan Tìm hiểu thêm về hungcachan

                            Bài viết mới nhất

                            Collapse

                            Đang tải...
                            X