Потенциально вы можете реализовать что-то подобное, используя генерацию блоков. Хотя это будет немного отличаться от того, что у вас есть. Генерирующие блоки создают имена блоков, которые содержат индексацию, на которую можно ссылаться из других генерирующих блоков.
В следующем примере иерархически создаются экземпляры regA и regB. последний содержит переменную REG. Приведенный ниже код инициализирует REG иерархически (используя блок initial
). Инициализация и верхняя реализация выполняются в модуле top
. Вы можете скомпилировать его и посмотреть результаты.
Кстати, если вы компилируете в режиме системного verilog, вы можете избавиться от generate/endgenerate
ключевых слов и использовать синтаксис i++
.
module top();
regTOP regTOP();
genvar i, j, k;
generate
for (i = 0; i < 3; i = i + 1) begin
for (j = 0; j < 3; j = j + 1) begin
for (k = 0; k < 3; k = k + 1) begin
initial regTOP.R[i].regA.R[j].regB.REG[k] = (i << 4) | (j << 2) | k;
end
end
end
endgenerate
endmodule
module regA();
genvar i;
generate
for(i = 0; i < 3; i = i + 1) begin: R
regB regB();
end
endgenerate
endmodule
module regB();
integer i;
reg[6:0] REG[3:0];
always @*
for (i=0; i < 3; i = i + 1)
$display("%m: reg[%0d]=%0d", i, REG[i]);
endmodule
module regTOP();
genvar i;
generate
for (i = 0; i < 3; i = i + 1) begin: R
regA regA();
end
endgenerate
endmodule
Тривиальный с системой. Сеть. WebClient:
using(WebClient client = new WebClient()) {
string responseString = client.UploadString(address, requestString);
}
Существует также:
byte[]
)Можно использовать Систему. Сеть. HttpWebRequest:
Запрос
HttpWebRequest request= (HttpWebRequest)WebRequest.Create(url);
request.ContentType="application/x-www-form-urlencoded";
request.Method = "POST";
request.KeepAlive = true;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(BytePost,0,BytePost.Length);
requestStream.Close();
}
Ответ
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using(StreamReader sr = new StreamReader(response.GetResponseStream()))
{
responseString = sr.ReadToEnd();
}
Вот хороший пример. Вы хотите использовать класс WebRequest в C#, который сделает это легким.