Skip to content

Commit 5706435

Browse files
committed
refactoring: still on the way
1 parent 840399f commit 5706435

5 files changed

Lines changed: 21 additions & 110 deletions

File tree

110 KB
Loading

ISA_Camac_Interface/sm2201_interface_board/lib/IC82x6.v

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,25 +21,33 @@
2121

2222
module IC82x6 #
2323
(
24-
INVERTED_OUTPUT = 0
24+
parameter INVERTED_OUTPUT = 0
2525
)
2626
(
2727
input wire [3:0] d_in,
28-
output wire [3:0] d_out,
28+
output reg [3:0] d_out,
2929
inout wire [3:0] d_bus,
3030
input wire cs_n,
3131
input wire dce
3232
);
3333

3434

35-
wire [3:0] d_out_value;
36-
wire [3:0] d_bus_value;
35+
reg [3:0] d_bus_reg;
36+
assign d_bus = cs_n == 1'b0 ? ((dce== 1'b0) ? d_bus_reg : d_bus) : 4'bz;
3737

38-
39-
assign d_out_value = cs_n == 1'b0 && dce == 1'b1 ? d_bus : 4'b0;
40-
assign d_out = INVERTED_OUTPUT == 1 ? ~d_out_value : d_out_value;
41-
42-
assign d_bus_value = INVERTED_OUTPUT == 1 ? ~d_in : d_in;
43-
assign d_bus = cs_n == 1'b0 && dce == 1'b0 ? d_bus_value : 4'bz;
38+
always @(*)
39+
begin
40+
if (cs_n == 1'b1) // chip is OFF
41+
begin
42+
d_out <= 4'bz;
43+
d_bus_reg <= 4'bz;
44+
end
45+
else // chip is ON
46+
begin
47+
if (dce == 1'b0) // READ: d_in -> d_bus
48+
d_bus_reg <= INVERTED_OUTPUT == 0 ? d_in : 15 - d_in;
49+
else d_out <= INVERTED_OUTPUT == 0 ? d_bus_reg : 15 - d_bus_reg; // WRITE: d_bus -> d_out via register
50+
end
51+
end
4452

4553
endmodule

ISA_Camac_Interface/sm2201_interface_board/lib/SN74LS257.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
module SN74LS257 #
2424
(
25-
INVERTED_OUTPUT = 0
25+
parameter INVERTED_OUTPUT = 0
2626
)
2727
(
2828
input wire [3:0] a,
@@ -36,5 +36,5 @@ module SN74LS257 #
3636
assign selection = select == 0 ? a : b;
3737
assign internal_out = INVERTED_OUTPUT == 0 ? selection : 15 - selection;
3838

39-
assign y = out_control == 0 ? internal_out : 'bz;
39+
assign y = out_control == 0 ? internal_out : 4'b0000;
4040
endmodule

ISA_Camac_Interface/sm2201_interface_board/lib/SN74LS365.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
module SN74LS365 #
2424
(
25-
INVERTED_OUTPUT = 0
25+
parameter INVERTED_OUTPUT = 0
2626
)
2727
(
2828
input wire e1,

ISA_Camac_Interface/sm2201_interface_board/tests/SN74LS365A_testbench.vhd

Lines changed: 0 additions & 97 deletions
This file was deleted.

0 commit comments

Comments
 (0)