File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2121
2222module 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
4553endmodule
Original file line number Diff line number Diff line change 2222
2323module 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 ;
4040endmodule
Original file line number Diff line number Diff line change 2222
2323module SN74LS365 #
2424(
25- INVERTED_OUTPUT = 0
25+ parameter INVERTED_OUTPUT = 0
2626)
2727(
2828 input wire e1,
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments