Połączenie dwóch dwukierunkowych portów w Verilog

B

bh_letters

Guest
Witam, mam dwa moduły, a każdy ma dwukierunkowa (Inout) portu. Teraz trzeba połączyć te porty. Oba moduły korzystają z tego samego sygnału do określenia kierunku przepływu danych. Jeśli enable jest niski, moduł A działa jako źródła i działa modułem B przeznaczenia. Jeśli enable jest wysoka, moduł B działa jako źródła i modułu A działa jako miejsca docelowego. Wszelkie sugestie proszę? Dzięki
 
Oto przykład jak to zrobić w Verilog! Mam nadzieję, że to pomaga!
Code:
 moduł (inout_bus_a, en_a); Inout [07:00] inout_bus_a; wejście en_a; reg [07:00] inout_bus_a_reg; przypisać inout_bus_a = (en_a)? "Bz: inout_bus_a_reg; zawsze () rozpoczyna read_from_bus_data znaku = inout_bus_a; ........ ........ inout_bus_a_reg = write_to_bus_data; ........ ........ Koniec endmodule moduł B (inout_bus_b, en_b); Inout [07:00] inout_bus_b; wejście en_b; reg [07:00] inout_bus_b_reg; przypisać inout_bus_b = (en_b)? inout_bus_b_reg: "bz; zawsze () rozpoczyna read_from_bus_data znaku = inout_bus_b; ........ ........ inout_bus_b_reg = write_to_bus_data; ........ ........ endmodule górny koniec moduł, przewód [07:00] inout_bus; reg en_b / / to musi być prowadzone przez góry (inout_bus, en_b); B (inout_bus, en_b); endmodule
 
Czy ten transfer danych się w jednym impulsie zegara? [Size = 2] [color = # 999999] Dodano po 2 minutach: [/color] [/size] Czy ten transfer danych się w jednym impulsie zegara? [Size = 2] [color = # 999999] Dodano po 17 minutach: [/color] [/size] Czy ten transfer danych się w jednym impulsie zegara? [Size = 2] [color = # 999999] Dodano po 1 minutach: [/color] [/size] Czy ten transfer danych się w jednym impulsie zegara?
 
Witam, kod, który nand_gates napisał wydaje się być w porządku. To będzie pracować dla celów symulacji, ale wątpię, to będzie działać na prawdziwym FPGA. Jak rozumiem FPGA wewnętrzna architektura nie obsługuje wysokiej impedancji (1'bz) stwierdza, co oznacza, że ​​nie można mieć tri-państwowe buforów logiki. Tri-state bufory mogą być używane tylko na poziomie najwyższym FPGA, w którym bufor przypadek znalazł się w bloku IO, a nie w wewnętrznej logiki. W tym konkretnym przypadku, myślę, że oba moduły miałyby wewnętrznie jeden sygnał wejściowy i jeden wyjściowy sygnał wypędzeni z dwukierunkowa (Inout) portu. Oba te sygnały mogą bezpośrednio zostać wycofane z modułów (jako porty) i połączone odpowiednio na najwyższym poziomie. Pozdrawiam.
 

Welcome to EDABoard.com

Sponsor

Back
Top