[an error occurred while processing this directive]
|
Сам что-то притормозил.
Есть задача - 30-разрядный счетчик/таймер на шине ISA.
Наверное, проще некуда.
Не ложится в МАХ7000.
Я что-то делаю не так или задача действительно не решается в этих камнях? В Flex6000 нормально вошел (6010).
module watchdog (osc,
resetdrv,
zero,
timer_en,
load_value,
load);parameter TIMER_WIDTH = 30;
input osc;
input resetdrv;
input timer_en;
input [7:0] load_value;
input load;
output zero;reg [TIMER_WIDTH - 1:0] timer;
reg zero_reg;
always @(posedge osc or posedge resetdrv)
begin
if (resetdrv)
begin
timer[TIMER_WIDTH - 1 : 0] = 0;
zero_reg = 1'b0;
end
else if (load)
begin
timer[TIMER_WIDTH - 1 : TIMER_WIDTH - 8] = load_value[7:0];
end
else if (timer_en)
begin
if (timer)
begin
timer = timer - 1;
if (!timer)
zero_reg = 1'b1;
end
end
endassign zero = zero_reg;
endmodule
E-mail: info@telesys.ru