oto kod bez zbednych linijek
Kod: Zaznacz cały
reg Transaction;
wire TransactionStart = ~Transaction & ~Frame;
wire Targeted = TransactionStart & (AD == IO_address);
always @(postedge CLK or netedge RST)
case(Transaction)
1'b0: Transaction <= TransactionStart;
1'b1: Transaction <= ~TransactionEnd;
endcase
reg DevSelOE;
always @(postedge clk or negedge RST)
case(Transaction)
1'b0: DevSelOE <= Targeted;
1'b1: if(TransactionEnd) DevSelOE <= 1'b0;
endcase
reg DevSel;
always @(postedge CLK or negedge RST)
case(Transaction)
1'b0: DevSel <= Targeted;
1'b1: if(TransactionEnd) DevSel <= 1'b0;
endcase
Kod: Zaznacz cały
process (clk, rst)
begin
if rising_edge(clk) then
if transaction = '0' then
transaction <= (not transaction) and (not frame);
elsif transaction = '1' then
transaction <= transaction and frame;
end if;
end if;
end process;
stoje w dziwnym miejscu, czy masz sens wstawiania zawsze tam gdzie jest TransactionStart frazy (not transaction) and (not frame) ??
czy moze przez przypisac do to rejestru i potem przypisywac gdzie potrzeba ?
2 pytanie czy moze lepiej bedzie umiescic w 1 procesie ?
czym wogole jest wire ? (bardziej od strony praktyczno-techniczno-logicznej)
a nie lepiej zrobic zamiast wire, reg ?
Z gory dzieki za kazda odp.