Thông báo

Collapse
No announcement yet.

Vấn đề với phép nhân (*)

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

  • Vấn đề với phép nhân (*)

    Code:
    library IEEE;
    use IEEE.STD_LOGIC_1164.all;
    use IEEE.NUMERIC_STD.all;
    
    entity Demo_MUL is
    	port(
    		a,b	:	in 	signed(4 downto 0);
    		s		:	out	signed(9 downto 0)
    		);
    end Demo_MUL;
    
    architecture Behavioral of Demo_MUL is
    
    begin
    	s	<=	a * b;
    end Behavioral;

    Không hiểu sao ISE 10.1 của em nó cứ dịch cái này ra 1 bộ nhân có dấu với một đầu vào là a và 1 đầu là mở, không có gì cả. Nếu thay đổi vị trí a, b thì lại đến lượt a bị bỏ mất.

    Tức là thiết kế này luôn tạo ra bộ nhân với 1 đầu vào là toán hạng đầu tiên. Không hiểu là lỗi gì? Không biết có phải em lú lẫn ko???

    Các bác giúp em phát

  • #2
    Ủa,ý bác là sao,em chạy nó ra vầy:

    em thấy nó đúng mà.
    Chuyện nhỏ như con thỏ,bắt thỏ mới là chuyện lớn!!!

    Comment


    • #3
      Cảm ơn bác. Em update lên Pack 3 lại OK rồi. Bản 10.1 nó hơi đơ.

      Comment


      • #4
        @it4rb: mô phỏng bằng gì mà đẹp zạ

        Ai biết viết testbench chỉ Mila viết cái, đọc nhiều tài liệu mà nó viết lung tung wa', làm mẫu bằng đoạn code này cho đơn giản nè.

        Comment


        • #5
          Hic,em mô phỏng bằng ISE lun chứ có xài gì khác đâu. Còn vụ testbench thì nói thật là chưa viết cái nào . Thấy nó phức tạp vậy chắc dành cho pro, còn em là dân IT nên khoái trực quan như waveform hơn. Với lại các công cụ em xài từ trước giờ như Max+Plus, ISE hay ModelSim đều hỗ trợ mô phỏng bằng waveform hết mà.
          Chuyện nhỏ như con thỏ,bắt thỏ mới là chuyện lớn!!!

          Comment


          • #6
            ~.~', mới thi giữa kỳ xong, trở lại làm LV đây . Zậy Neo có bik viết testbench hok, viết lên cho mọi người coi thử . À, chuẩn bị viết típ cái xử lý ảnh, pà kon để ý dùm topic kia nhá

            Comment


            • #7
              Thực ra, mindset là rất quan trọng. Nếu cậu nghĩ nó quá khó và rất phức tạp, nó sẽ khó và phức tạp. Nếu cậu nghĩ nó cũng bình thường thôi, cậu sẽ viết được thôi.

              Testbench thực chất cũng là HDL ( VHDL or Verilog ). Về cơ bản, testbench làm 2 nhiệm vụ: tạo các giá trị giả lập cho các chân inputs và thu nhận/kiểm tra kết quả đầu ra. Về ngôn ngữ, cậu cần để ý đến cách dùng WAIT ON/WAIT FOR/WAIT UNTIL và TEXTIO. Ngoài ra viết như bình thường bởi viết testbench thực ra cũng là mô tả 1 cái entity, chỉ có điều nó là cái to nhất, cái sẽ wrap tất cả các components khác bên trong. Chính vì là cái to nhất cho nên nó chả có port in/out nào cả.

              Dưới đây là 1 file mình dùng để demo về functional sim cho các bạn khóa dưới trong lab của mình. Nó có những thứ hay dùng cho 1 file testbench.

              PS: các bạn có thể học bằng cách dùng ISE hay Quartus để tạo testbench waveform rồi view file testbench nó generate ra.
              Attached Files

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X