-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #112 from davidgiven/fixing
Rework the sequencer completely, because bizarrely writing disks just stopped working
- Loading branch information
Showing
12 changed files
with
1,251 additions
and
2,126 deletions.
There are no files selected for viewing
524 changes: 262 additions & 262 deletions
524
FluxEngine.cydsn/CortexM3/ARM_GCC_541/Release/FluxEngine.hex
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#include "cyfitter_cfg.h" | ||
#include "cydevice_trm.h" | ||
#include "cyfitter.h" | ||
#include "`$INSTANCE_NAME`_h.h" | ||
|
||
void `$INSTANCE_NAME`_Start() | ||
{ | ||
`$INSTANCE_NAME`_Init(); | ||
} | ||
|
||
void `$INSTANCE_NAME`_Stop() | ||
{ | ||
`$INSTANCE_NAME`_Disable(); | ||
} | ||
|
||
void `$INSTANCE_NAME`_Init() | ||
{ | ||
`$INSTANCE_NAME`_Enable(); | ||
|
||
} | ||
void `$INSTANCE_NAME`_Enable() | ||
{ | ||
} | ||
|
||
void `$INSTANCE_NAME`_Disable() | ||
{ | ||
} | ||
|
||
/* [] END OF FILE */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#if !defined(`$INSTANCE_NAME`_H) | ||
#define `$INSTANCE_NAME`_H | ||
|
||
#include "cytypes.h" | ||
#include "cyfitter.h" | ||
#include "CyLib.h" | ||
|
||
#define `$INSTANCE_NAME`_FIFO_PTR ((reg8 *) `$INSTANCE_NAME`_dp__F0_REG) | ||
|
||
/* Macros to clear DP FIFOs.*/ | ||
#define `$INSTANCE_NAME`_CLEAR do { \ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0x01u | \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG)));\ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0xfeu & \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG)));\ | ||
} while(0) | ||
|
||
/* Macros to set FIFO level mode. See the TRM for details */ | ||
#define `$INSTANCE_NAME`_SET_LEVEL_NORMAL \ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0xfbu & \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG))) | ||
#define `$INSTANCE_NAME`_SET_LEVEL_MID \ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0x04u | \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG))) | ||
|
||
/* Macros to set FIFO to single-buffer mode. */ | ||
#define `$INSTANCE_NAME`_SINGLE_BUFFER_SET \ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0x01u | \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG))) | ||
|
||
/* Macros to return the FIFO to normal mode. */ | ||
#define `$INSTANCE_NAME`_SINGLE_BUFFER_UNSET \ | ||
CY_SET_XTND_REG8(\ | ||
((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG), 0xfeu & \ | ||
CY_GET_XTND_REG8(((reg8 *) `$INSTANCE_NAME`_dp__DP_AUX_CTL_REG))) | ||
|
||
void `$INSTANCE_NAME`_Enable(); | ||
void `$INSTANCE_NAME`_Disable(); | ||
void `$INSTANCE_NAME`_Start(); | ||
void `$INSTANCE_NAME`_Stop(); | ||
void `$INSTANCE_NAME`_Init(); | ||
|
||
#endif | ||
|
||
/* [] END OF FILE */ |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
|
||
//`#start header` -- edit after this line, do not edit this line | ||
`include "cypress.v" | ||
//`#end` -- edit above this line, do not edit this line | ||
// Generated on 11/16/2017 at 15:44 | ||
// Component: FIFOout | ||
module FIFOout ( | ||
input req, | ||
input clk, | ||
output [7:0] d, | ||
output drq, | ||
output empty, | ||
output ack | ||
); | ||
|
||
//`#start body` -- edit after this line, do not edit this line | ||
|
||
/* Reads from the FIFO are done based on the FIFO being not empty. */ | ||
|
||
wire [7:0] po; | ||
assign d = po; | ||
|
||
localparam STATE_WAITFORREQ = 1'b0; | ||
localparam STATE_READ = 1'b1; | ||
|
||
reg state; | ||
reg oldreq; | ||
|
||
assign ack = (state != STATE_READ); | ||
|
||
always @(posedge clk) | ||
begin | ||
case (state) | ||
STATE_WAITFORREQ: | ||
begin | ||
if (!empty) | ||
begin | ||
if (req && !oldreq) | ||
begin | ||
state <= STATE_READ; | ||
end | ||
oldreq <= req; | ||
end | ||
end | ||
|
||
STATE_READ: | ||
begin | ||
state <= STATE_WAITFORREQ; | ||
end | ||
endcase | ||
end | ||
|
||
cy_psoc3_dp #(.cy_dpconfig( | ||
{ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM0: STATE_WAITFORREQ*/ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC___F0, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM1: STATE_LOAD*/ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM2: */ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM3: */ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM4: */ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM5: */ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM6: */ | ||
`CS_ALU_OP_PASS, `CS_SRCA_A0, `CS_SRCB_D0, | ||
`CS_SHFT_OP_PASS, `CS_A0_SRC_NONE, `CS_A1_SRC_NONE, | ||
`CS_FEEDBACK_DSBL, `CS_CI_SEL_CFGA, `CS_SI_SEL_CFGA, | ||
`CS_CMP_SEL_CFGA, /*CFGRAM7: */ | ||
8'hFF, 8'h00, /*CFG9: */ | ||
8'hFF, 8'hFF, /*CFG11-10: */ | ||
`SC_CMPB_A1_D1, `SC_CMPA_A1_D1, `SC_CI_B_ARITH, | ||
`SC_CI_A_ARITH, `SC_C1_MASK_DSBL, `SC_C0_MASK_DSBL, | ||
`SC_A_MASK_DSBL, `SC_DEF_SI_0, `SC_SI_B_DEFSI, | ||
`SC_SI_A_DEFSI, /*CFG13-12: */ | ||
`SC_A0_SRC_ACC, `SC_SHIFT_SL, 1'h0, | ||
1'h0, `SC_FIFO1_BUS, `SC_FIFO0_BUS, | ||
`SC_MSB_DSBL, `SC_MSB_BIT0, `SC_MSB_NOCHN, | ||
`SC_FB_NOCHN, `SC_CMP1_NOCHN, | ||
`SC_CMP0_NOCHN, /*CFG15-14: */ | ||
10'h00, `SC_FIFO_CLK__DP,`SC_FIFO_CAP_AX, | ||
`SC_FIFO_LEVEL,`SC_FIFO_ASYNC,`SC_EXTCRC_DSBL, | ||
`SC_WRK16CAT_DSBL /*CFG17-16: */ | ||
} | ||
)) dp( | ||
/* input */ .reset(1'b0), | ||
/* input */ .clk(clk), | ||
/* input [02:00] */ .cs_addr({2'b0, state}), | ||
/* input */ .route_si(1'b0), | ||
/* input */ .route_ci(1'b0), | ||
/* input */ .f0_load(1'b0), | ||
/* input */ .f1_load(1'b0), | ||
/* input */ .d0_load(1'b0), | ||
/* input */ .d1_load(1'b0), | ||
/* output */ .ce0(), | ||
/* output */ .cl0(), | ||
/* output */ .z0(), | ||
/* output */ .ff0(), | ||
/* output */ .ce1(), | ||
/* output */ .cl1(), | ||
/* output */ .z1(), | ||
/* output */ .ff1(), | ||
/* output */ .ov_msb(), | ||
/* output */ .co_msb(), | ||
/* output */ .cmsb(), | ||
/* output */ .so(), | ||
/* output */ .f0_bus_stat(drq), // not full | ||
/* output */ .f0_blk_stat(empty), // empty | ||
/* output */ .f1_bus_stat(), | ||
/* output */ .f1_blk_stat(), | ||
|
||
/* input */ .ci(1'b0), // Carry in from previous stage | ||
/* output */ .co(),// Carry out to next stage | ||
/* input */ .sir(1'b0), // Shift in from right side | ||
/* output */ .sor(), // Shift out to right side | ||
/* input */ .sil(1'b0), // Shift in from left side | ||
/* output */ .sol(), // Shift out to left side | ||
/* input */ .msbi(1'b0), // MSB chain in | ||
/* output */ .msbo(), // MSB chain out | ||
/* input [01:00] */ .cei(2'b0), // Compare equal in from prev stage | ||
/* output [01:00] */ .ceo(), // Compare equal out to next stage | ||
/* input [01:00] */ .cli(2'b0), // Compare less than in from prv stage | ||
/* output [01:00] */ .clo(), // Compare less than out to next stage | ||
/* input [01:00] */ .zi(2'b0), // Zero detect in from previous stage | ||
/* output [01:00] */ .zo(), // Zero detect out to next stage | ||
/* input [01:00] */ .fi(2'b0), // 0xFF detect in from previous stage | ||
/* output [01:00] */ .fo(), // 0xFF detect out to next stage | ||
/* input [01:00] */ .capi(2'b0), // Software capture from previous stage | ||
/* output [01:00] */ .capo(), // Software capture to next stage | ||
/* input */ .cfbi(1'b0), // CRC Feedback in from previous stage | ||
/* output */ .cfbo(), // CRC Feedback out to next stage | ||
/* input [07:00] */ .pi(8'b0), // Parallel data port | ||
/* output [07:00] */ .po(po) // Parallel data port | ||
); | ||
|
||
//`#end` -- edit above this line, do not edit this line | ||
endmodule | ||
//`#start footer` -- edit after this line, do not edit this line | ||
//`#end` -- edit above this line, do not edit this line | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.