C:\tst\data_bi.v 1 `timescale 10ns/1ns 2 3 module data_bi(aDATA ...

C:\tst\data_bi.v 1 `timescale 10ns/1ns 2 3 module data_bi(aDATA ... C:\tst\data_bi.v 1 `timescale 10ns/1ns 2 3 module data_bi(aDATA ...

neuron.tuke.sk
from neuron.tuke.sk More from this publisher
26.07.2013 Views

C:\tst\data_bi.v 1 `timescale 10ns/1ns 2 3 module data_bi(aDATA, bDATA, PIO, aCS, bCS, RnW, CLR, do, aACK, bACK, DRQ, aIRQ, bIRQ, aA1 , bA1); 4 5 inout [7:0] aDATA; 6 inout [7:0] bDATA; 7 8 reg [7:0] buff; 9 reg holdB = 0; 10 11 input PIO; 12 input aCS; 13 input RnW; 14 input do; 15 input aACK; 16 input CLR; 17 input bIRQ; 18 input aA1; 19 20 output DRQ; 21 reg DRQ = 1; 22 23 output bCS; 24 reg bCS = 1; 25 26 output bA1; 27 reg bA1 = 1; 28 29 output aIRQ; 30 reg aIRQ = 1; 31 32 output bACK; 33 reg bACK = 1; 34 35 // READ (do ST) 36 assign #5 aDATA = ((aCS==0 || aACK==0) && RnW==1) ? bDATA : 8'bz; 37 38 // WRITE (z ST) 39 assign bDATA = (holdB) ? buff : 8'bz; 40 41 always @ (negedge aCS or negedge aACK) 42 begin 43 if (!RnW) 44 begin 45 buff

C:<strong>\tst\<strong>data</strong></strong>_<strong>bi</strong>.v<br />

1 <strong>`timescale</strong> <strong>10ns</strong>/<strong>1ns</strong><br />

2<br />

3 <strong>module</strong> <strong>data</strong>_<strong>bi</strong>(<strong>aDATA</strong>, bDATA, PIO, aCS, bCS, RnW, CLR, do, aACK, bACK, DRQ, aIRQ, bIRQ, aA1<br />

, bA1);<br />

4<br />

5 inout [7:0] <strong>aDATA</strong>;<br />

6 inout [7:0] bDATA;<br />

7<br />

8 reg [7:0] buff;<br />

9 reg holdB = 0;<br />

10<br />

11 input PIO;<br />

12 input aCS;<br />

13 input RnW;<br />

14 input do;<br />

15 input aACK;<br />

16 input CLR;<br />

17 input bIRQ;<br />

18 input aA1;<br />

19<br />

20 output DRQ;<br />

21 reg DRQ = 1;<br />

22<br />

23 output bCS;<br />

24 reg bCS = 1;<br />

25<br />

26 output bA1;<br />

27 reg bA1 = 1;<br />

28<br />

29 output aIRQ;<br />

30 reg aIRQ = 1;<br />

31<br />

32 output bACK;<br />

33 reg bACK = 1;<br />

34<br />

35 // READ (do ST)<br />

36 assign #5 <strong>aDATA</strong> = ((aCS==0 || aACK==0) && RnW==1) ? bDATA : 8'bz;<br />

37<br />

38 // WRITE (z ST)<br />

39 assign bDATA = (holdB) ? buff : 8'bz;<br />

40<br />

41 always @ (negedge aCS or negedge aACK)<br />

42 begin<br />

43 if (!RnW)<br />

44 begin<br />

45 buff


C:<strong>\tst\<strong>data</strong></strong>_<strong>bi</strong>.v<br />

72 DRQ

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!