Перейти к содержанию
    

Если есть специалисты кто такие веши моделировал помогите пожалуйста!! Заранее благодарен!! :smile3046:

 

module tb;
...
wire [7:0] data;
...
device dut( .data(data) ...
...
assign data = give_data_to_device  ? data_for_device : 8'hZZ;
...
endmodule


module device (
   inout wire [7:0] data,
...
);
...
тут data должна назначаться так же, как и выше
...
endmodule

 

и всё работает. Конфликты на такой шине приводят к иксам. Если нету источников - будут Z-ы (всё видно на картинках в моделсиме). Можно сделать tri1 иди tri0 вместо вайра - будет вместо Z-ов подтяжка к 1 или к 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем вам продолжение! В продолжении написано стандартная часть подключения моделируемого модуля и входные значения!!
Именно ТАМ и должно быть написан ваш inout

inout используют при описание проекта, а при моделирование в качестве входных портов используют reg, а выходной wire!
Бред сивой кобылы :cranky: reg и wire НИКАК не связанны с направлением портов, и еще у меня есть стойкое подозрение, что под 'портом' вы понимаете не то, что понимает Verilog :rolleyes: Порт - это входы и выходы МОДУЛЯ, перечисленные в ЗАГОЛОВКЕ модуля, а не где то в середине его тела.

И менно так описывается в примере моделирования под Modelsim!
Ой!

А если у меня будет написано (на С) так -

int i,j,k;
float a,b,c;

то по вашему это будет означать, что все (и везде) целые переменные должны называться i j или в крайнем случае k, а плавающие - a b и c?

 

 Ног в этом примере не описывается вариант что делать если в проекте стоит двунаправленный порт!

Блин, я уже уморился спрашивать и говорить - ваш двунаправленный порт должен быть описан как inout в МОДЕЛИРУЕМОМ модуле, а не в тестбенче. В тестбенче это будет обычный wire.

Если есть специалисты кто такие веши моделировал помогите пожалуйста!! Заранее благодарен!! :smile3046:
Нафига вам специалисты, если вы их не слушаете? :maniac:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нафига вам специалисты, если вы их не слушаете? :maniac:

 

Специалистов много. А вот с учителями в стране действительно напряг.

Я б ответил, да вот выше симулятора Квартуса еще не опускался.

Чтобы влуд не разводить, давайте вместе. Я модуль, Вы тестбенч.

 

module ap6
(
inout [7:0] da,
inout [7:0] db,
input        oe_n,
input [9:0] adr_arm
);

wire dir;

assign dir = (adr_arm == 10'h002),
       db = (dir & !oe_n) ? da : 8'hzz,
       da = (!dir & !oe_n) ? db : 8'hzz;

endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я модуль, Вы тестбенч.

odule testbench;
  
  reg [7:0] a;
  reg [7:0] b;
  reg oe_n;
  reg [9:0] addr;
  
  wire [7:0] da;
  wire [7:0] db;
  
  initial begin
    oe_n = 1'b0;
    a = 8'bz;
    b = 8'b1;
    addr = 10'h2;      
    fork
      #50 addr = 10'b0;
      #50 b = 8'bz;
      #50 a = 8'b0;    
    join
  end    
  
  assign da = a;
  assign db = b;  
  
  ap6 AP6(.da(da), .db(db),.oe_n(oe_n),.adr_arm(addr));
  
endmodule

post-21591-1257070338_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

odule testbench;
  
  reg [7:0] a;
  reg [7:0] b;
  reg oe_n;
  reg [9:0] addr;
  
  wire [7:0] da;
  wire [7:0] db;
  
  initial begin
    oe_n = 1'b0;
    a = 8'bz;
    b = 8'b1;
    addr = 10'h2;      
    fork
      #50 addr = 10'b0;
      #50 b = 8'bz;
      #50 a = 8'b0;    
    join
  end    
  
  assign da = a;
  assign db = b;  
  
  ap6 AP6(.da(da), .db(db),.oe_n(oe_n),.adr_arm(addr));
  
endmodule

 

 

Спасибо!! это то что нужно!! Теперь я все понял! =))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...