OpenCores
URL https://opencores.org/ocsvn/a-z80/a-z80/trunk

Subversion Repositories a-z80

[/] [a-z80/] [trunk/] [cpu/] [bus/] [address_latch.v] - Blame information for rev 22

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 gdevic
// Copyright (C) 1991-2013 Altera Corporation
2
// Your use of Altera Corporation's design tools, logic functions 
3
// and other software and tools, and its AMPP partner logic 
4
// functions, and any output files from any of the foregoing 
5
// (including device programming or simulation files), and any 
6
// associated documentation or information are expressly subject 
7
// to the terms and conditions of the Altera Program License 
8
// Subscription Agreement, Altera MegaCore Function License 
9
// Agreement, or other applicable license agreement, including, 
10
// without limitation, that your use is for the sole purpose of 
11
// programming logic devices manufactured by Altera and sold by 
12
// Altera or its authorized distributors.  Please refer to the 
13
// applicable agreement for further details.
14
 
15
// PROGRAM              "Quartus II 64-Bit"
16
// VERSION              "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
17 8 gdevic
// CREATED              "Sat Feb 27 08:13:14 2016"
18 3 gdevic
 
19
module address_latch(
20
        ctl_inc_cy,
21
        ctl_inc_dec,
22
        ctl_al_we,
23
        ctl_inc_limit6,
24
        ctl_bus_inc_oe,
25
        clk,
26
        ctl_apin_mux,
27
        ctl_apin_mux2,
28 8 gdevic
        clrpc,
29
        nreset,
30 3 gdevic
        address_is_1,
31
        abus,
32
        address
33
);
34
 
35
 
36
input wire      ctl_inc_cy;
37
input wire      ctl_inc_dec;
38
input wire      ctl_al_we;
39
input wire      ctl_inc_limit6;
40
input wire      ctl_bus_inc_oe;
41
input wire      clk;
42
input wire      ctl_apin_mux;
43
input wire      ctl_apin_mux2;
44 8 gdevic
input wire      clrpc;
45
input wire      nreset;
46 3 gdevic
output wire     address_is_1;
47
inout wire      [15:0] abus;
48
output wire     [15:0] address;
49
 
50 8 gdevic
wire    [15:0] abusz;
51 3 gdevic
reg     [15:0] Q;
52
wire    SYNTHESIZED_WIRE_0;
53
wire    SYNTHESIZED_WIRE_1;
54
wire    SYNTHESIZED_WIRE_2;
55 8 gdevic
wire    [15:0] SYNTHESIZED_WIRE_7;
56
wire    SYNTHESIZED_WIRE_4;
57
wire    [15:0] SYNTHESIZED_WIRE_5;
58 3 gdevic
 
59
 
60
 
61
 
62
 
63 8 gdevic
always@(posedge clk or negedge nreset)
64 3 gdevic
begin
65 8 gdevic
if (!nreset)
66
        begin
67
        Q[15:0] <= 16'b0000000000000000;
68
        end
69
else
70 3 gdevic
if (ctl_al_we)
71
        begin
72 8 gdevic
        Q[15:0] <= abusz[15:0];
73 3 gdevic
        end
74
end
75
 
76
assign  address_is_1 = ~(SYNTHESIZED_WIRE_0 | SYNTHESIZED_WIRE_1);
77
 
78 8 gdevic
assign  abusz = {SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2,SYNTHESIZED_WIRE_2} & abus;
79 3 gdevic
 
80 8 gdevic
assign  abus[15] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[15] : 1'bz;
81
assign  abus[14] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[14] : 1'bz;
82
assign  abus[13] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[13] : 1'bz;
83
assign  abus[12] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[12] : 1'bz;
84
assign  abus[11] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[11] : 1'bz;
85
assign  abus[10] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[10] : 1'bz;
86
assign  abus[9] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[9] : 1'bz;
87
assign  abus[8] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[8] : 1'bz;
88
assign  abus[7] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[7] : 1'bz;
89
assign  abus[6] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[6] : 1'bz;
90
assign  abus[5] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[5] : 1'bz;
91
assign  abus[4] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[4] : 1'bz;
92
assign  abus[3] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[3] : 1'bz;
93
assign  abus[2] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[2] : 1'bz;
94
assign  abus[1] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[1] : 1'bz;
95
assign  abus[0] = ctl_bus_inc_oe ? SYNTHESIZED_WIRE_7[0] : 1'bz;
96 3 gdevic
 
97 8 gdevic
assign  SYNTHESIZED_WIRE_0 = Q[7] | Q[5] | Q[6] | Q[4] | Q[2] | Q[3] | Q[1] | SYNTHESIZED_WIRE_4;
98 3 gdevic
 
99
assign  SYNTHESIZED_WIRE_1 = Q[15] | Q[13] | Q[14] | Q[12] | Q[10] | Q[11] | Q[9] | Q[8];
100
 
101
 
102
address_mux     b2v_inst7(
103
        .select(ctl_apin_mux2),
104 8 gdevic
        .in0(SYNTHESIZED_WIRE_5),
105 3 gdevic
        .in1(Q),
106
        .out(address));
107
 
108 8 gdevic
assign  SYNTHESIZED_WIRE_2 =  ~clrpc;
109 3 gdevic
 
110 8 gdevic
 
111 3 gdevic
inc_dec b2v_inst_inc_dec(
112
        .limit6(ctl_inc_limit6),
113
        .decrement(ctl_inc_dec),
114
        .carry_in(ctl_inc_cy),
115
        .d(Q),
116 8 gdevic
        .address(SYNTHESIZED_WIRE_7));
117 3 gdevic
 
118
 
119
address_mux     b2v_mux(
120
        .select(ctl_apin_mux),
121 8 gdevic
        .in0(abusz),
122
        .in1(SYNTHESIZED_WIRE_7),
123
        .out(SYNTHESIZED_WIRE_5));
124 3 gdevic
 
125 8 gdevic
assign  SYNTHESIZED_WIRE_4 =  ~Q[0];
126 3 gdevic
 
127
 
128
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.