Re: Simple 8253



if write = '1' then
irq <=0;
reload <= dbus;
elsif falling_edge(clock) then
if counter = 0 then
counter <= reload;
irq <= '1';
else
counter <= counter - 1;
irq <= '0'; -- AUTO EOI
end if;
end if;

I know I shouldn't do homework for people but what the hey. Use the write
signal as an asynchronous reset. Also, use numeric.std . It's lovely.

http://www.synthworks.com/papers/vhdl_math_tricks_mapld_2003.pdf

HTH, Syms.


.



Relevant Pages

  • Re: VHDL Question: because it does not hold its value outside the clock edge
    ... I recieve that for all the IRQ lines in the IRQ vector. ... PROCESS (BCLK, RSET, ISR) ... ELSIF (FLAG = '1') THEN ...
    (sci.electronics.design)
  • Simple 8253 (beginner)
    ... Counter counts to zero, issues an IRQ, and reloads. ... The CPU gets the IRQ and writes the new 'reload' value, ... irq is bound to two clocks. ... How should I ACK an IRQ with the CPU? ...
    (comp.lang.vhdl)
  • Simple 8253
    ... Counter counts to zero, issues an IRQ, and reloads. ... The CPU gets the IRQ and writes the new 'reload' value, ... irq is bound to two clocks. ... How should I ACK an IRQ with the CPU? ...
    (comp.arch.fpga)
  • Re: W9xNT MCA Adapters - SPOCK-206
    ... Reload the zip. ... of your miniport driver. ... It should, be sure to use the recommended settings, IRQ 15 and I/O 330-333. ...
    (comp.sys.ibm.ps2.hardware)