Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement core1 #112

Open
wants to merge 27 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
190cba8
Implement TBMAN
mingpepe Nov 28, 2022
de3601f
Implement REF/SYS CTRL & SELECT for clock
mingpepe Nov 28, 2022
e7a222c
Define enum for cores
mingpepe Dec 12, 2022
dfbeaf0
Add API for peripheral to read from core
mingpepe Dec 12, 2022
aca3a9c
Define onSEV event to wakeup another core
mingpepe Dec 12, 2022
1b660e3
Define onBreak event for GDB
mingpepe Dec 12, 2022
c64c141
Implement read/write via core for ppb
mingpepe Dec 12, 2022
d5a1074
Implement FIFO registers in SIO
mingpepe Dec 12, 2022
a31e8fc
Define 2 cores in rp2040
mingpepe Dec 12, 2022
dc29d0c
Register onSEV event for each core
mingpepe Dec 12, 2022
efb7820
Implement NMI_MASK for syscfg
mingpepe Dec 12, 2022
dcc32ab
Modify debugger to debug only on core0
mingpepe Dec 12, 2022
26fb63f
Update unit test
mingpepe Dec 12, 2022
9b54d9d
Update test-utils
mingpepe Dec 12, 2022
b1b4560
Update demo code
mingpepe Dec 12, 2022
d12a4b5
Merge branch 'master' into core1
mingpepe Dec 12, 2022
4a0cf99
Let each core has its divider
mingpepe Dec 13, 2022
10ec3e6
Let each core has its interpolator
mingpepe Dec 13, 2022
fd563cd
Move fifo related logic to each core
mingpepe Dec 13, 2022
c9ab5ea
Do no need to pass core info to each core
mingpepe Dec 13, 2022
6f2da85
Add core info to warning message
mingpepe Dec 13, 2022
278bda7
Execute core0 and core1 interleaving
mingpepe Jan 30, 2023
26f77aa
Merge branch 'master' into core1
mingpepe Feb 6, 2023
1290137
Fix wrong merge
mingpepe Feb 6, 2023
9b55ad5
Run lint
mingpepe Feb 6, 2023
9bb7e7a
Fix error by lint
mingpepe Feb 6, 2023
23bf9d3
Rename variable
mingpepe Mar 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'master' into core1
  • Loading branch information
mingpepe committed Feb 6, 2023
commit 26f77aa3ef2129ad37322be28f9538dd5eb3719b
93 changes: 93 additions & 0 deletions src/sio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,99 @@ export class RPSIO {
}
case SPINLOCK_ST:
return this.spinLock;
case DIV_UDIVIDEND:
return this.divDividend;
case DIV_SDIVIDEND:
return this.divDividend;
case DIV_UDIVISOR:
return this.divDivisor;
case DIV_SDIVISOR:
return this.divDivisor;
case DIV_QUOTIENT:
this.divCSR &= ~0b10;
return this.divQuotient;
case DIV_REMAINDER:
return this.divRemainder;
case DIV_CSR:
return this.divCSR;
case INTERP0_ACCUM0:
return this.interp0.accum0;
case INTERP0_ACCUM1:
return this.interp0.accum1;
case INTERP0_BASE0:
return this.interp0.base0;
case INTERP0_BASE1:
return this.interp0.base1;
case INTERP0_BASE2:
return this.interp0.base2;
case INTERP0_CTRL_LANE0:
return this.interp0.ctrl0;
case INTERP0_CTRL_LANE1:
return this.interp0.ctrl1;
case INTERP0_PEEK_LANE0:
return this.interp0.result0;
case INTERP0_PEEK_LANE1:
return this.interp0.result1;
case INTERP0_PEEK_FULL:
return this.interp0.result2;
case INTERP0_POP_LANE0: {
const value = this.interp0.result0;
this.interp0.writeback();
return value;
}
case INTERP0_POP_LANE1: {
const value = this.interp0.result1;
this.interp0.writeback();
return value;
}
case INTERP0_POP_FULL: {
const value = this.interp0.result2;
this.interp0.writeback();
return value;
}
case INTERP0_ACCUM0_ADD:
return this.interp0.smresult0;
case INTERP0_ACCUM1_ADD:
return this.interp0.smresult1;
case INTERP1_ACCUM0:
return this.interp1.accum0;
case INTERP1_ACCUM1:
return this.interp1.accum1;
case INTERP1_BASE0:
return this.interp1.base0;
case INTERP1_BASE1:
return this.interp1.base1;
case INTERP1_BASE2:
return this.interp1.base2;
case INTERP1_CTRL_LANE0:
return this.interp1.ctrl0;
case INTERP1_CTRL_LANE1:
return this.interp1.ctrl1;
case INTERP1_PEEK_LANE0:
return this.interp1.result0;
case INTERP1_PEEK_LANE1:
return this.interp1.result1;
case INTERP1_PEEK_FULL:
return this.interp1.result2;
case INTERP1_POP_LANE0: {
const value = this.interp1.result0;
this.interp1.writeback();
return value;
}
case INTERP1_POP_LANE1: {
const value = this.interp1.result1;
this.interp1.writeback();
return value;
}
case INTERP1_POP_FULL: {
const value = this.interp1.result2;
this.interp1.writeback();
return value;
}
case INTERP1_ACCUM0_ADD:
return this.interp1.smresult0;
case INTERP1_ACCUM1_ADD:
return this.interp1.smresult1;
}
switch (core) {
case Core.Core0:
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.