[an error occurred while processing this directive]
|
Так ведь и я Вячеслава люблю.
Просто пример. В семействе Ацекс укладывается в мегафункцию сумматора вычитателя. В Циклоне не хочет.
module barker7_new
(
input clk,
input [11:0] in_data,
input [6:0] kod,
output signed [14:0] barker_data
);
reg signed [14:0] rg_sum[6:0];
wire signed [11:0] data;
assign data = {in_data[11], ~in_data[10:0]};
always @(posedge clk)
begin
if ( kod[0])
rg_sum[0] <= 12'h000 + data;
else
rg_sum[0] <= 12'h000 - data;
end
always @(posedge clk)
begin: block
integer i;
for (i = 1; i <= 6; i = i + 1)
if ( kod[i])
rg_sum[i] <= rg_sum[i-1] + data;
else
rg_sum[i] <= rg_sum[i-1] - data;
end
assign barker_data = rg_sum[6];
endmodule
E-mail: info@telesys.ru