Compare commits
No commits in common. "016f634ac6f8f8abb728a1945329b1625fbe1fea" and "4c208bc18a42f0313303de580dfa793f6626dd8e" have entirely different histories.
016f634ac6
...
4c208bc18a
@ -743,11 +743,11 @@ defproc texel_dualcore_mapper (bd<N_IN> in, out;
|
|||||||
fork<32> postcore_fork(.in = fifo_core2fork.out, .reset_B = _reset_BX, .supply = supply);
|
fork<32> postcore_fork(.in = fifo_core2fork.out, .reset_B = _reset_BX, .supply = supply);
|
||||||
dropper_static<32, false> sram_dropper(.in = postcore_fork.out1, .cond = mapper_en, .supply = supply);
|
dropper_static<32, false> sram_dropper(.in = postcore_fork.out1, .cond = mapper_en, .supply = supply);
|
||||||
// Need to have it then drop the spike if its from a register.
|
// Need to have it then drop the spike if its from a register.
|
||||||
demux_td<32, true> drop_if_reg(.in = sram_dropper.out, .reset_B = _reset_BX, .supply = supply); // if cond true, go out on data
|
demux_td<32, false> drop_if_reg(.in = sram_dropper.out, .reset_B = _reset_BX, .supply = supply); // if cond true, go out on data
|
||||||
drop_if_reg.cond.d.d[0] = sram_dropper.out.d.d[30];
|
drop_if_reg.cond.d.d[0] = sram_dropper.out.d.d[30];
|
||||||
drop_if_reg.token.r = drop_if_reg.token.a;
|
drop_if_reg.token.r = drop_if_reg.token.a;
|
||||||
|
fifo<8,N_BUFFERS> fifo_out_sram_spk(.out = out_sram_spk, .reset_B = _reset_BX, .supply = supply);
|
||||||
slice_data<32,0,8> slice_to_sram(.supply = supply);
|
slice_data<32,0,8> slice_to_sram(.in = drop_if_reg.out, .out = fifo_out_sram_spk.in, .supply = supply);
|
||||||
// And move the msb (core bit) to just after the neuron address...
|
// And move the msb (core bit) to just after the neuron address...
|
||||||
slice_to_sram.in.a = drop_if_reg.out.a;
|
slice_to_sram.in.a = drop_if_reg.out.a;
|
||||||
slice_to_sram.in.v = drop_if_reg.out.v;
|
slice_to_sram.in.v = drop_if_reg.out.v;
|
||||||
@ -755,10 +755,6 @@ defproc texel_dualcore_mapper (bd<N_IN> in, out;
|
|||||||
slice_to_sram.in.d.d[7] = drop_if_reg.out.d.d[31];
|
slice_to_sram.in.d.d[7] = drop_if_reg.out.d.d[31];
|
||||||
(i:7..30: slice_to_sram.in.d.d[i+1] = drop_if_reg.out.d.d[i];)
|
(i:7..30: slice_to_sram.in.d.d[i+1] = drop_if_reg.out.d.d[i];)
|
||||||
|
|
||||||
fifo<8,N_BUFFERS> fifo_out_sram_spk(.in = slice_to_sram.out, .out = out_sram_spk,
|
|
||||||
.reset_B = _reset_BX, .supply = supply);
|
|
||||||
|
|
||||||
|
|
||||||
// merge from cores and sram read in
|
// merge from cores and sram read in
|
||||||
fifo<29, N_BUFFERS> fifo_in_sram_r(.in = in_sram_r, .reset_B = _reset_BX, .supply = supply);
|
fifo<29, N_BUFFERS> fifo_in_sram_r(.in = in_sram_r, .reset_B = _reset_BX, .supply = supply);
|
||||||
fifo<32, N_BUFFERS> fifo_fork2mrg(.in = postcore_fork.out2, .reset_B = _reset_BX, .supply = supply);
|
fifo<32, N_BUFFERS> fifo_fork2mrg(.in = postcore_fork.out2, .reset_B = _reset_BX, .supply = supply);
|
||||||
|
@ -387,9 +387,6 @@ namespace tmpl {
|
|||||||
|
|
||||||
// Demux
|
// Demux
|
||||||
export template<pint N; pbool CONDITION_SIGN>
|
export template<pint N; pbool CONDITION_SIGN>
|
||||||
// WARNING WARNING WARNING
|
|
||||||
// With a False CONDITION_SIGN, this is wrong.
|
|
||||||
// the c.t/f just need to be swapped, not inverted!!!
|
|
||||||
defproc demux_td (avMx1of2<N> in; avMx1of2<N> out; a1of1 token; bool? reset_B; avMx1of2<1> cond; power supply) {
|
defproc demux_td (avMx1of2<N> in; avMx1of2<N> out; a1of1 token; bool? reset_B; avMx1of2<1> cond; power supply) {
|
||||||
//control
|
//control
|
||||||
bool _en, _reset_BX,_reset_BXX[N], _out_v, _in_c_v_, _reset_BXt;
|
bool _en, _reset_BX,_reset_BXX[N], _out_v, _in_c_v_, _reset_BXt;
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user