Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch nusgart/mister Excluding Merge-Ins
This is equivalent to a diff from b192304b48 to c7c59a1a1b
2020-09-01
| ||
03:43 | Implement DDRAM xbus state machine Leaf check-in: c7c59a1a1b user: nusgart tags: nusgart/mister | |
03:41 | Add CADR4 code check-in: 91605e5730 user: nusgart tags: nusgart/mister | |
2020-08-30
| ||
17:17 | Initial commit of CADR HDL. This isn't complete yet and will not work. In particular, the block storage device is unimplemented and the RAM controller probably violates the XBUS requirements. Additionally, I would like to take advantage of the large amount of block ram on the MiSTer by making a cache (probably ~64 KW in size). check-in: 1343a6af7b user: nusgart tags: nusgart/mister | |
2020-03-29
| ||
16:22 | README -> TODO: Rename file. check-in: cfb70b4280 user: ams tags: trunk | |
2019-05-30
| ||
23:36 | Initial conversion to Vivado and Artix-7 check-in: aa4c56ce19 user: nusgart tags: nusgart/arty-a7 | |
2019-05-06
| ||
18:59 | Merge ams/next. check-in: b192304b48 user: ams tags: trunk | |
2018-02-24
| ||
12:31 | NIOX: Add submodule for NIOS-II clone core. check-in: 5b47a6e897 user: ams tags: trunk | |
Changes to CADR4/AMEM.v.
︙ | |||
33 34 35 36 37 38 39 | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | - - + + + + + + + + + + + + + + + + + + + + + + | localparam ADDR_WIDTH = 10; localparam DATA_WIDTH = 32; localparam MEM_DEPTH = 1024; //////////////////////////////////////////////////////////////////////////////// |
︙ | |||
61 62 63 64 65 66 67 | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | - - + + - - - - - - + + + + + + + + + - - + - - - + + - - - - | always @(posedge clk) if (reset) out_b <= 0; else if (1'b0) begin out_b <= ram[aadr]; end `else |
Changes to CADR4/DRAM.v.
︙ | |||
52 53 54 55 56 57 58 | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | - - + + + + + + + + + + + + + + + + + + + + + | //////////////////////////////////////////////////////////////////////////////// assign daddr0 = (ir[8] & vmo[18]) | (ir[9] & vmo[19]) | (dmask[0] & r[0]) | (ir[12]); assign dadr = {ir[22:13], daddr0} | ({4'b0000, dmask[6:1], 1'b0} & {4'b0000, r[6:1], 1'b0}); assign dwe = dispwr & state_write; |
︙ | |||
80 81 82 83 84 85 86 | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | - - - + + + + - - - + + + + - - - - - - - + + + + + + + - - - + + - - + | always @(posedge clk) if (reset) out_b <= 0; else if (1'b0) begin out_b <= ram[dadr]; end |
Changes to CADR4/IRAML/IRAM.v.
︙ | |||
30 31 32 33 34 35 36 37 | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + + + + + + + + + + + + + + + | `default_nettype none module IRAM(/*AUTOARG*/ // Outputs iram, // Inputs clk, reset, pc, iwr, iwe `ifdef EXTERNAL_MCR mcr_addr, mcr_data_in, mcr_data_out, mcr_ready, mcr_write `endif ); |
Changes to CADR4/MD.v.
︙ | |||
64 65 66 67 68 69 70 | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | - + | mdhaspar <= mdgetspar; end else if (ldmdh) md[31:16] <= spy_in; else if (ldmdl) md[15:0] <= spy_in; assign mddrive = srcmd & (state_alu || state_write || state_mmu || state_fetch); |
︙ |
Changes to CADR4/MMEM.v.
︙ | |||
32 33 34 35 36 37 38 | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | - - + + + + + + + + + + + + + + + + + + + + + + | localparam ADDR_WIDTH = 5; localparam DATA_WIDTH = 32; localparam MEM_DEPTH = 32; //////////////////////////////////////////////////////////////////////////////// |
︙ | |||
60 61 62 63 64 65 66 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | - - - - - - - - - - + + + + + + + + + + + + + + - - - + - - - - + + + - - + | always @(posedge clk) if (reset) out_b <= 0; else if (1'b0) begin out_b <= ram[madr]; end |
Changes to CADR4/PDL.v.
︙ | |||
33 34 35 36 37 38 39 | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - - - - - | localparam ADDR_WIDTH = 10; localparam DATA_WIDTH = 32; localparam MEM_DEPTH = 1024; //////////////////////////////////////////////////////////////////////////////// |
Changes to CADR4/SPC.v.
︙ | |||
44 45 46 47 48 49 50 | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | - + - - + + + + + + + + + + + + + + + + + + + + + - + + - + - - - - - - - | //////////////////////////////////////////////////////////////////////////////// wire [4:0] spcptr_p1; assign spcptr_p1 = spcptr + 5'b00001; assign spcadr = (spcnt && spush) ? spcptr_p1 : spcptr; |
︙ |
Changes to CADR4/VMEM0.v.
︙ | |||
39 40 41 42 43 44 45 | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + | wire [10:0] vmem0_adr; wire use_map; //////////////////////////////////////////////////////////////////////////////// assign vmem0_adr = mapi[23:13]; |
Changes to CADR4/VMEM1.v.
︙ | |||
39 40 41 42 43 44 45 | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + | wire [9:0] vmem1_adr; //////////////////////////////////////////////////////////////////////////////// assign vmem1_adr = {vmap[4:0], mapi[12:8]}; |
Added block_dev_mister.sv.