Jump to content
    

evmal06

Новичок
  • Posts

    3
  • Joined

  • Last visited

Posts posted by evmal06


  1. Спасибо большое за помощь! 

    12 часов назад, RobFPGA сказал:

    Приветствую!

    Для  начала почитайте  учебник по Verilog  и  подумайте как  представить  входные и выходные  сигналы  как вектор,  что бы работать с числом,  а не с отдельными битами.

    А можете, пожалуйста, какой-нибудь учебник посоветовать. Был бы очень рад!

     

  2. Всем привет. Есть данный код для симуляции работы дешифратора (само описание дешифратора и тестбенч). 

    сам дешифратор:

    module Test(x0, x1, x2, x3, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9,
    															F10, F11, F12, F13, F14, F15);
    input x0, x1, x2, x3;
    
    output F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15;
    
    assign F0=!x0&&!x1&&!x2&&!x3;
    
    assign F1=!x0&&!x1&&!x2&&x3;
    
    assign F2=!x0&&!x1&&x2&&!x3;
    
    assign F3=!x0&&!x1&&x2&&x3;
    
    assign F4=!x0&&x1&&!x2&&!x3;
    
    assign F5=!x0&&x1&&!x2&&x3;
    
    assign F6=!x0&&x1&&x2&&!x3;
    
    assign F7=!x0&&x1&&x2&&x3;
    
    assign F8=x0&&!x1&&!x2&&!x3;
    
    assign F9=x0&&!x1&&!x2&&x3;
    
    assign F10=x0&&!x1&&x2&&!x3;
    
    assign F11=x0&&!x1&&x2&&x3;
    
    assign F12=x0&&x1&&!x2&&!x3;
    
    assign F13=x0&&x1&&!x2&&x3;
    
    assign F14=x0&&x1&&x2&&!x3;
    
    assign F15=x0&&x1&&x2&&x3;
    
    endmodule
    

    testbench:

    `timescale 1 ns / 1 ns
    module testbench;
    localparam t = 20;
    reg x0, x1, x2, x3;
    reg F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15;
    
    initial
    begin
    x0 <= 0;
    x1 <= 0;
    x2 <= 0;
    x3 <= 0;
    #20
    x0 <= 0;
    x1 <= 0;
    x2 <= 0;
    x3 <= 1;
    #20
    x0 <= 0;
    x1 <= 0;
    x2 <= 1;
    x3 <= 0;
    #20
    x0 <= 0;
    x1 <= 0;
    x2 <= 1;
    x3 <= 1;
    #20
    x0 <= 0;
    x1 <= 1;
    x2 <= 0;
    x3 <= 0;
    #20
    x0 <= 0;
    x1 <= 1;
    x2 <= 0;
    x3 <= 1;
    #20
    x0 <= 0;
    x1 <= 1;
    x2 <= 1;
    x3 <= 0;
    #20
    x0 <= 0;
    x1 <= 1;
    x2 <= 1;
    x3 <= 1;
    #20
    x0 <= 1;
    x1 <= 0;
    x2 <= 0;
    x3 <= 0;
    #20
    x0 <= 1;
    x1 <= 0;
    x2 <= 0;
    x3 <= 1;
    #20
    x0 <= 1;
    x1 <= 0;
    x2 <= 1;
    x3 <= 0;
    #20
    x0 <= 1;
    x1 <= 0;
    x2 <= 1;
    x3 <= 1;
    #20
    x0 <= 1;
    x1 <= 1;
    x2 <= 0;
    x3 <= 0;
    #20
    x0 <= 1;
    x1 <= 1;
    x2 <= 0;
    x3 <= 1;
    #20
    x0 <= 1;
    x1 <= 1;
    x2 <= 1;
    x3 <= 0;
    #20
    x0 <= 1;
    x1 <= 1;
    x2 <= 1;
    x3 <= 1;
    end
    
    Test dut
    (
    .x0(x0),
    .x1(x1),
    .x2(x2),
    .x3(x3),
    .F0(F0),
    .F1(F1),
    .F2(F2),
    .F3(F3),
    .F4(F4),
    .F5(F5),
    .F6(F6),
    .F7(F7),
    .F8(F8),
    .F9(F9),
    .F10(F10),
    .F11(F11),
    .F12(F12),
    .F13(F13),
    .F14(F14),
    .F15(F15)
    );
    
    initial
    begin
    #300;
    $finish();
    end
    endmodule

    Необходимо оптимизировать код. Как это можно сделать? Подскажите, пожалуйста

×
×
  • Create New...