B
barkha
Guest
Merhaba, herkes Verilog iki boyutlu giriş portu bildirmek açıklar herhangi bir doktor gönderebilir miyim?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
modülü üst (içinde, dışında); girişi [31:0] olarak; tel [7:0] dizi [0:03]; çıkış [31:0] üzerinden; atamak { dizi [3], dizi [2], dizi [1], dizi [0]} = yılında; üzerinden atamak = {dizi [3], dizi [2], dizi [1], dizi [0]}; endmodule [ / code] herkes daha kompakt bir sözdizimi biliyor mu?
`define PACK_ARRAY (PK_WIDTH, PK_LEN, PK_SRC, PK_DEST) genvar pk_idx; (pk_idx = 0 için üretmek; pk_idx
Grrrrr, bu 2011 ve sen hala verilog bir modül için basit 2 boyutlu giriş veya çıkış geçemez ... Googling gerçekten bir şey kadar dönmedi, bu yüzden birlikte bu pratik makrolar koydu. Şimdiye kadar hile yapmak gibi görünüyor.Code:`define PACK_ARRAY (PK_WIDTH, PK_LEN, PK_SRC, PK_DEST) genvar pk_idx; (pk_idx = 0 için üretmek; pk_idx
Glad çözdükten gibi Makro kullanmak vermedi sayesinde bazı oldu kullanın. Sen korkuyorsun derdim o başka bir yerde kullanılmış olabilir .. Ne "o"? Makro adları PACK_ARRAY ve UNPACK_ARRAY? Eğer öyleyse ben seçtim adları benzersiz süper değil çünkü, bu geçerli bir endişe var. Onlara biraz sezgisel olarak seçti. : P Orada en azından emin olmak için yapabileceğiniz bir şey olduğunu sizin projenin parçası temiz. dosyası "util / array_pack_unpack.v": [alıntı yap] `ifndef ARRAY_PACK_UNPACK_V` ifdef PACK_ARRAY $ bitirmek; / / makro PACK_ARRAY zaten var. yeniden reddederek. `Endif` ifdef UNPACK_ARRAY $ finish; / / makro UNPACK_ARRAY zaten var. yeniden reddederek. `Endif` define ARRAY_PACK_UNPACK_V 1 `define PACK_ARRAY (PK_WIDTH, PK_LEN, PK_SRC, PK_DEST) genvar pk_idx; (pk_idx = 0 için üretmek; pk_idx