[an error occurred while processing this directive]
|
|
Встретил тут во всяческих забугорных синтезируемых исходниках на Verilog такой вот хитрый прием с intra assignment'ами:
// generate shift register
always @(posedge clk or negedge nReset)
if (!nReset)
sr <= #1 8'h0;
else if (rst)
sr <= #1 8'h0;
else if (ld)
sr <= #1 din;
else if (shift)
sr <= #1 {sr[6:0], core_rxd};
// generate counter
always @(posedge clk or negedge nReset)
if (!nReset)
dcnt <= #1 3'h0;
else if (rst)
dcnt <= #1 3'h0;
else if (ld)
dcnt <= #1 3'h7;
else if (shift)
dcnt <= #1 dcnt - 3'h1;
Вопрос: зачем это делается? Причем раньше таког оне видел, а сейчас просто повальное увлечение...
Спасибо!
E-mail: info@telesys.ru