Implemen ación de una ed en chip ole an e a
allos en un p ocesado RISC-V
Implemen a ion o a aul ole an ne wo k on a
chip on a RISC-V p ocesso
T abajo de Fin de G ado
Cu so 2023–2024
Au o
Sai Ca pio Cuenca
Di ec o
Ósca Ga nica Alcáza
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Implemen ación de una ed en chip
ole an e a allos en un p ocesado RISC-V
Implemen a ion o a aul ole an ne wo k
on a chip on a RISC-V p ocesso
T abajo de Fin de G ado en Ingenie ía In o má ica
Au o
Sai Ca pio Cuenca
Di ec o
Ósca Ga nica Alcáza
Con oca o ia: Sep iemb e 2024
G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Vie nes 13 de Sep iemb e de 2024
Dedica o ia
A mi pe o Pancho y a mi o denado . Ambos
me ie on en a en la uni e sidad pe o solo
mi o denado sob e i ió a es os 5 años.
Ag adecimien os
En p ime luga , quie o da las g acias a mi amilia. A mi mad e, que ha sido
la p ime a en ela po mis es udios; a mi pad e, po inculca me la chispa de la
cu iosidad in elec ual y a mi he mana, po su guía y apoyo incondicional a lo la go
de mi ida.
Po o o lado, me gus a ía da las g acias a mis amigos, aquellos con los que c ecí
en la calle y aunque no podemos se más dis in os, siemp e hemos es ado jun os. A
mis amigos que he conocido du an e la ca e a: la gen e boni a de ASCII y LAG, la
siemp e con iable gen e de Lib eLab, mis compañe os de clase y, sob e odo, a Jing,
mi mejo amiga en la acul ad. G acias a odos po apoya me du an e an os años.
Además, en es e ag adecimien o, me gus a ía ene p esen e a odos los p o eso es
que han o mado pa e de mi e apa educa i a, desde la p ima ia has a la uni e si-
dad. G acias po su labo educa i a que man u o mis ganas de segui ap endiendo
siemp e i a y en especial, a mi u o del TFG, Ósca , quien sin su ayuda no hab ía
sido posible es e abajo.
Pa a inaliza , me gus a ía ecalca la labo oda la gen e que dedica su iempo
a que el conocimien o, sin sesgos y g a ui o, es é al alcance de odos. Po impulsa
es e y muchos o os abajos, g acias.
ii
Resumen
El p opósi o de es e p oyec o es desa olla una ed en chip (NoC) que ole e allos
en los enlaces de ed, u iliza la como medio de comunicación en e los componen es
de un p ocesado RISC-V e implemen a el p ocesado con la NoC sob e una FPGA.
La idea es p opo ciona una in aes uc u a de comunicación iable que pe mi a al
sis ema que lo inco po e segui ope ando an e la p esencia de daños ísicos.
Las NoC son in aes uc u as de comunicación esenciales en los sis emas embebi-
dos mode nos, pues o que pe mi en la in e conexión e icien e y escalable de múl iples
componen es en un único chip. Po o o lado, el uso de un p ocesado lib e basado
en la a qui ec u a RISC-V es esencial en es e p oyec o, ya que su licencia abie a
pe mi e accede al diseño y modi ica lo como se desee. Así mismo, las FPGAs, dis-
posi i os de ci cui os in eg ados capaces de se p opg amados y econ igu ados en
iempo de ejecución, posibili an implemen a el diseño ácilmen e.
Es e p oyec o es la con inuación del abajo ealizado po Da ó La iña (2022) en
su TFG Ïmplemen ación de una ed en chip en un p ocesado RISC-V". Siguiendo
su me odología, se han es udiado los nue os equisi os y se ha modi iado la NoC que
Da id desa olló aco de a la nue a especi cación. Pos e io men e, se han compa ado
a ios p ocesado es, inalmen e eligiendo el núcleo Vee -EL2, an e io men e llamado
SWe -EL2. Haciendo uso de las he amien as Fusesoc y Vi ado, se ha modi icado
y sin e izado el núcleo, incluyendo la NoC como medio de in e conexión en e sus
módulos. Tan o la ed, como el p ocesado se han esc i o en Sys emVe ilog.
Po úl imo, se abo dan los desa íos encon ados y se p esen an los esul ados y
conclusiones ob enidos. Así como, las posibles líneas de in es igación u u a pa a la
con inuación de es e abajo.
Palab as cla e
Sys emVe ilog, Red en Chip, En u amien o adap able, RISC-V, FPGA.
ix
3.7. Conmu ación de paque es en una ed de malla. . . . . . . . . . . . . . 19
3.8. S o e and Fo dwa d en una ed de malla. . . . . . . . . . . . . . . . . 20
3.9. S o e and Fo dwa d en una ed de malla. . . . . . . . . . . . . . . . . 20
3.10. Wo mhole enuna eddemalla...................... 20
3.11. Ci cui Swi ch en una ed de malla. . . . . . . . . . . . . . . . . . . . 21
3.12.Ejemplodeadlock.............................. 22
3.13.Ejemploli elock. ............................. 22
3.14.Ejemplos a a ion............................. 23
3.15. Caída de los en aces en e dos nodos. . . . . . . . . . . . . . . . . . 23
3.16. A qui ec u a de la ed. . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.17. Funcionamien o del algo i mo DOR. . . . . . . . . . . . . . . . . . . 25
3.18. O ganización g á ica de los encaminado es pa a SP. . . . . . . . . . . 26
3.19. Encaminamien o del paque e usando solo SP. . . . . . . . . . . . . . . 27
3.20. Encaminamien o del paque e usando DOR y SP. . . . . . . . . . . . . 27
3.21. Diag ama de una malla de 3x3. En g is los enlaces. . . . . . . . . . . 30
3.22. Diag ama de la conexión de dos pue os. . . . . . . . . . . . . . . . . 31
3.23. Diag ama del módulo Node_unlink.................... 31
3.24. Diag ama de la o ganización del módulo ou e . ............ 32
3.25. FSM del módulo ou e . ......................... 32
3.26. Diag ama del módulo compass. ..................... 34
3.27. Diag ama de la implemen ación del módulo s a ic_algo i hm. . . . . . 35
3.28. Diag ama de la implemen ación del módulo dynamic_algo i hm. . . . 35
3.29. Diag ama de es ados del algo i mo SP. . . . . . . . . . . . . . . . . . 36
3.30. Diag ama del módulo c ossba . ..................... 37
3.31. Diag ama del módulo con olle ...................... 37
3.32. Rep esen ación g á ica de la codi icación de los li s. . . . . . . . . . . 38
4.1. Roadmap de los co es desa ollados po OpenHW. Imagen ex aída
de(Ope,2024) .............................. 40
4.2. Roadmap de los co es SweRV. Imagen ex aída de (Z onimi Z. Ban-
dic,2019) ................................. 41
4.3. Mic oa qui ec u a del p ocesado EL2. Imagen ex aída de (EL2, 2024) 42
4.4. O ganización del p ocesado EL2. Imagen ex aída de (EL2, 2024) . . 43
4.5. Máquina de es ados del emiso . . . . . . . . . . . . . . . . . . . . . . 45
4.6. Diag ama de es ados de la FSM del ecep o . . . . . . . . . . . . . . 46
4.7. Esquema ................................. 48
5.1. Esquema de la simulación cuando la ed es á sana . . . . . . . . . . . 51
5.2. Resul ados de las simulaciones conduc uales de ambas edes cuando
odos los enlaces es án sanos. . . . . . . . . . . . . . . . . . . . . . . 52
5.3. Esquema de la simulación cuando la ed iene un enlace caído. . . . . 53
5.4. Wa e o m de la simulación cuando la ed iene un enlace caído. . . . 53
5.5. Esquema de la simulación de la ed con el emiso aislado. . . . . . . . 54
5.6. Wa e o m de la simulación de la ed con el emiso aislado. . . . . . . 54
5.7. G á ica compa a i a de los ecu sos consumidos po los diseños de
ambas edes................................. 55
5.8. Esquema de la conexión de los módulos de di isión y mul iplicación
conlaNoC. ................................ 56
Índice de ablas
3.1. Tipos de encaminado es pa a SP. . . . . . . . . . . . . . . . . . . . . 26
3.2. Pa áme os gene ales de la ed . . . . . . . . . . . . . . . . . . . . . . 29
3.3. Pa áme os del ou e . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4. Cap ion .................................. 38
4.1. Señalesdeemiso ............................. 45
4.2. Señalesdel ecep o ............................ 46
5.1. Recu sos consumidos po el co e . . . . . . . . . . . . . . . . . . . . . 56
5.2. Recu sos consumidos po el co e con la NoC . . . . . . . . . . . . . . 57
xix
Cap´
ı ulo 1
In oducción
1.1. Mo i ación
El desempeño de los p ocesado es ha e olucionado no ablemen e a lo la go de las
úl imas décadas. Como se obse a en la igu a 1.1, has a el año 2003, el endimien o
de los p ocesado es se duplicaba anualmen e.
Figu a 1.1: E aluación del endimien o de los p ocesado es du an e 40 años. Imagen
ex aida de (Hennessy y Pa e son, 2012)
Sin emba go, a pa i de ese momen o, su gie on una se ie de limi aciones que
impedían que los p ocesado es mejo a an an signi ica i amen e como en años an e-
io es. No e a inco po a al p ocesado unidades uncionales más e icien es po que
es as equie en de más po encia, po lo que disipan más calo y los mecanismos de
en iado que necesi an son demasiado cos osos. Tampoco se podía segui duplicando
la ecuencia de abajo ya que las unidades uncionales no e an capaces de comple-
1
2Capí ulo 1. In oducción
a su ejecución en un ciclo de eloj. Además, ya se explo aban al máximo odos los
ecu sos e e en es al pa alelismo en e ins ucciones.
En pa alelo, el p og eso en la ecnología de ab icación pe mi ió la educción del
amaño de los ansis o es, dando luga a p ocesado es más pequeños. Aunque es a
nue a gene ación de p ocesado es uese más sencilla que p ocesado es an e io es, su
uso en conjun o enía un endimien o mayo . Es e hecho condujo a un cambio de
pa adigma hacia los sis emas mul ico e ymul ip ocesado .
T adicionalmen e, los p ocesado es se componían de un solo núcleo o unidad
cen al de p ocesamien o (CPU, po sus siglas en inglés) y una se ie de con olado es
pe i é icos, odo ello comunicado median e buses de da os. Es e es el caso, po
ejemplo, del p ocesado In el 486DX2, desa ollado en 1992. Como se puede obse a
en la igu a 1.2, es e p ocesado usaba di e sos buses de da os pa a comunica a ias
de sus unidades uncionales, coom la unidad de paginación, el p e e che o la unidad
de pun o lo an e.
Figu a 1.2: Mic oa qui ec u a del p ocesado In el 486DX2
Hoy en día, no obs an e, lo común es que los p ocesado es sean del es ilo mul-
ico e omanyco e, es deci , cuen en con a ios núcleos. In e conexiona es e ipo
de p ocesado es median e buses lle a a diseños excesi amen e complejos y que son
muy di íciles de man ene . Es po ello, que el medio de comunicación de los nue os
p ocesado es es á basado en edes.
1.1. Mo i ación 3
Las edes en chip (NoC) son un ipo de in aes uc u a de comunicación que o e-
ce múl iples en ajas en el diseño de sis emas mode nos. En p ime luga , impulsan
la c eación de sis emas e icien es y escalables, ya que pe mi en conec a múl iples
módulos de mane a o denada y cohe en e. Es a capacidad de in e conexión e icien e
es undamen al en los sis emas ac uales, que equie en de un al o g ado de pa a-
lelismo y comunicación ápida en e componen es. Po ejemplo, es o se da en el
p ocesado In el i7, desa ollado en 2017. En la igu a 1.3 se puede obse a el uso
de una NoC, cuya a qui ec u a es la de un anillo unidi eccional, pa a comunica sus
8 núcleos con la GPU y el sis ema agen e.
Figu a 1.3: Mic oa qui ec u a del p ocesado In el i7
Po o o lado, las NoCs ambién acili an la in e conexión de módulos he e ogé-
neos. Los p ocesado es mode nos inco po an odos los elemen os necesa ios pa a su
uncionamien o den o de un solo chip y es os elemen os ienen di e en es uncionali-
dades y eque imien os de comunicación. Las NoCs p opo cionan un medio lexible y
adap able que puede acomoda es a di e sidad, acili ando la in eg ación de módulos
de p ocesamien o, memo ia, pe i é icos y o os componen es especializados.
Además, las NoCs mejo an la capacidad del sis ema pa a de ec a y maneja
allos. Al in eg a écnicas a anzadas de de ección y co ección de e o es, las NoCs
asegu an que los da os se ansmi an de mane a iable, incluso en p esencia de e o es
ansi o ios o pe manen es. Es o esul a pa icula men e impo an e en aplicacio-
nes c í icas como los sa éli es o los elescopios espaciales, donde la esiliencia y la
ole ancia a allos son undamen ales pa a el co ec o uncionamien o del sis ema.
En el ámbi o ae oespacial, los sis emas pueden es a expues os du an e años a
dosis ele adas de adiación ionizan e. Los e ec os acumulados de la adiación a ían
desde la co upción momen ánea de un bi has a la des ucción del disposi i o.
La ab icación, epa ación o sus i ución de es os sis emas es al amen e cos osa y
puede lle a la gos pe iodos de iempo. Po es a azón, desde hace a ios años, se ha
ex endido el uso de ma ices de pue as lógicas p og amables (FPGA po sus siglas
en inglés).
4Capí ulo 1. In oducción
Las FPGAs son ci cui os in eg ados que pueden se econ igu ados dinámica-
men e pa a implemen a y ac ualiza diseños ha dwa e en iempo de ejecución. Es a
capacidad de econ igu ación pe mi e modi ica el diseño del ha dwa e sin necesi-
dad de eemplaza ísicamen e el disposi i o, lo que esul a pa icula men e ú il en
en o nos donde la accesibilidad es limi ada o cos osa. Si se de ec a que una zona
del ci cui o se ha de e io ado, se puede ep og ama el componen e a ec ado en o a
á ea de la FPGA, asegu ando el co ec o uncionamien o del sis ema y ex iendiendo
su ida ú il. Además de su al a esiliencia y capacidad adap a i a, la implemen a-
ción de sis emas sob e FPGAs es un p oceso bas an e ágil que da como esul ado
aplicaciones con al os ni eles de endimien o. La cele idad con la que se pueden
desa olla y desplega nue os diseños en FPGAs pe mi e a los ingenie os esponde
ápidamen e a las necesidades cambian es del p oyec o y del en o no ope a i o.
Po ejemplo, el o e Pe se e ance, que a e izó el 18 de eb e o de 2021 en
Ma e, usa una FPGA Vi ex-5 de Xilinx como una de sus p incipales unidades de
p ocesamien o, como se indica en la igu a 1.4. Una ez que el o e a e izó, la
FPGA se ep og amó pa a ealiza a eas de isión po o denado , demos ando así
su capacidad pa a adap a se a nue as a eas y condiciones pos -lanzamien o.
Figu a 1.4: Ro e Pe se e ance. Imagen ex aída de (Fallahlalehza i, 2024)
Po úl imo, la g an mayo ía de los sis emas se han desa ollado u ilizando ecno-
logías p opie a ias. Sin emba go, con el desa ollo de RISC-V, se es á p oduciendo
un cambio signi ica i o en el me cado. RISC-V es una a qui ec u a de conjun o de
ins ucciones (ISA) de ha dwa e de licencia abie a que acili a la c eación y mo-
di icación de diseños ha dwa e, omen ando la inno ación y la colabo ación en e
desa ollado es de odo el mundo.
En los úl imos años, es a a qui ec u a ha c ecido conside ablemen e en popu-
la idad y adopción. Ya han salido al me cado a ios disposi i os equipados con
p ocesado es RISC-V y han su gido di e sas inicia i as pa a lle a es a ecnología
1.2. Obje i os 5
al espacio. Un ejemplo no able es el “RISC-V in Space Wo kshop”, que u o luga el
14 de diciemb e de 2022, donde se discu ie on los a ances y aplicaciones de RISC-V
en el en o no espacial. Además, la Agencia Espacial Eu opea (ESA) ha inalizado el
desa ollo de un p ocesado de es a misma a qui ec u a de 432 núcleos u ilizando
chiple s, c eando así un p ocesado manyco e RISC-V. Es e a ance no solo sub aya
el po encial de es a ecnología en aplicaciones e es es, sino que ambién des aca
su iabilidad y en aja en misiones espaciales.
La implemen ación de una NoC de bajo cos e y ole an e a allos en una pla a o -
ma basada en RISC-V, complemen ada con FPGAs, puede p opo ciona un sis ema
e icien e y iable pa a aplicaciones c í icas. Es a combinación no solo mejo a la ca-
pacidad del sis ema pa a de ec a y maneja allos, sino que ambién ga an iza que
los da os se ansmi an de mane a iable, incluso en p esencia de e o es ansi o ios
o pe manen es. Es a sine gia en e RISC-V y FPGAs, jun o con las écnicas a an-
zadas de de ección y co ección de e o es de las NoCs, es esencial pa a el desa ollo
de sis emas espaciales obus os y du ade os.
1.2. Obje i os
Es e abajo iene como obje i o modi ica la NoC diseñada po Da ó La iña
(2022) de modo que sea capaz de de ec a y ole a daños en los enlaces. Pos e io -
men e, se inco po a á en un p ocesado RISC-V, de modo que comunique alguno de
sus módulos. Pa a cumpli con dichos obje i os se debe á:
Es udia los pa áme os en el diseño de las edes en chip.
Es udia el diseño de la NoC en la que se a a basa es e abajo.
Adap a el diseño pa a que se ajus e a los nue os equisi os.
Sin e iza y simula el nue o diseño pa a e i ica que uncione co ec amen e.
In es iga y elegi un p ocesado RISC-V.
In eg a la NoC en el p ocesado , ealizando los ajus es necesa ios.
Sin e iza el p ocesado con la NoC y e i ica su uncionamien o median e
simulación.
Cap´
ı ulo 3
Red en Chip
3.1. Es ado del a e
Las edes en chip cons an de es elemen os: encaminado es, in e aces de ed y
enlaces ( igu a 3.1). Los módulos que se comunican con la ed en ían o eciben pa-
que es de da os median e la in e az y los encaminado es se enca gan de e ansmi i
los da os a a és de los enlaces has a su des ino.
Figu a 3.1: Diag ama simpli icado de la conexión de un módulo a la ed.
Los paque es de da os se componen a su ez de li s, que suelen se de es
ipos: cabece a, da os y cola. La cabece a con iene me ada os ele an es pa a el
encaminado , los li s de da os lle an el cue po del paque e y la cola ma ca el inal
del mensaje.
Figu a 3.2: Paque e de da os.
La o ma de conec a los elemen os de la ed y la algo i mia que egula el en ío
de los paque es con o man los pa áme os de diseño de la NoC. En es a sección se
es udian es os pa áme os, siguiendo las explicaciones de Asma Benmessaoud Gabis
(2016), Guwaha i (2023) y Da ó La iña (2022).
13
14 Capí ulo 3. Red en Chip
3.1.1. A qui ec u a
El diseño de una NoC comienza po de e mina su a qui ec u a, es deci , odo lo
e e en e a su es uc u a ísica. Pa a ello, lo p ime o es especi ica su opología. La
opología de una ed es el pa ón de conexión que siguen los encaminado es. Es e
pa ón es ácilmen e analizable al in e p e a lo como un g a o cuyos é ices son los
encaminado es y las a is as son los enlaces. Al e lo de es a mane a, se hace e iden e
que el g a o ha de cumpli una se ie de ca ac e ís icas pa a que la ed esul an e sea
iable.
Po ejemplo, el g a o ha de se ue emen e conexo. De no se así, hab ía algún
pa de nodos pa a los cuales no exis i ía un canal de comunicación. Además, un
g a o i egula o con bucles pod ía p o oca desequilib ios en la ca ga de á ico, lo
que esul a ía en cuellos de bo ella y en una deg adación del endimien o gene al
de la ed. Po el con a io, un g a o comple o supone un cos e demasiado ele ado
en cuan o a ecu sos necesa ios pa a su implemen ación. En e las opologías más
comunes se hallan los anillos, los á boles y las mallas. Cada una p esen a en ajas
y des en ajas en é minos de la encia, ancho de banda, complejidad de implemen-
ación y ole ancia a allos.
La opología de anillo ( igu a 3.3a) es la con igu ación más simple y ácil de im-
plemen a . Cada nodo se conec a a dos ecinos, o mando un lazo ce ado. Aunque
es e icien e en sis emas pequeños, su e de p oblemas de la encia y escalabilidad a
medida que el núme o de encaminado es aumen a. Pa a mi iga es as limi aciones,
se pueden emplea anillos je á quicos ( igu a 3.3b), que di iden la ed en múl i-
ples anillos in e conec ados, mejo ando la escalabilidad y educiendo la la encia. Sin
emba go, es a solución in oduce una mayo complejidad de diseño y equie e enca-
minado es especializados, lo que aumen a el cos o y la di icul ad de man enimien o.
(a) Anillo adicional. (b) Anillo je á quico.
Figu a 3.3: Topologías de anillos.
3.1. Es ado del a e 15
La es uc u a de á bol ( igu a 3.4a) es e icien e ges ionando el á ico local. Sin
emba go, la aíz puede con e i se en un cuello de bo ella, limi ando el endimien-
o de la ed en si uaciones de al a demanda. Po es e mo i o, se suele emplea la
a ian e a ee ( igu a 3.4b), donde el núme o de enlaces se duplica a medida que
alcanza la aíz. Es o mejo a la dis ibución del á ico y la esiliencia de la ed a cos a
de una mayo complejidad en el diseño y la implemen ación. O a al e na i a se ía
implemen a una ed bu e ly ( igu a 3.4c). Es e ipo de ed de in e conexión mul-
ie apa pe mi e mul iples u as en e los nodos o igen y des ino. Las edes bu e ly
son e icien es en é minos de la encia y ancho de banda, pe o pueden se ulne ables
a allos en los enlaces o encaminado es.
(a) Á bol clásico. (b) Fa ee. (c) Bu e ly.
Figu a 3.4: Topologías de á bol.
Po su lado, las edes de malla ( igu a 3.5a) p esen an la es uc u a más egula ,
escalan con acilidad y pe mi en a ias u as en e nodos, lo que las hace más ole-
an es a allos. Sin emba go, el pe íme o de la malla es i egula , lo que puede causa
un manejo desigual del á ico en los bo des. La opología de o oide ( igu a 3.5b)
esuel e es e p oblema conec ando los bo des opues os. G acias a es o, es capaz de
dis ibui el á ico más uni o memen e. No obs an e, el mayo núme o de enlaces
y la dis ibución de los mismos complica la implemen ación de es e ipo de edes.
La o ganización de la ed en papel no siemp e se e e lejada en la implemen ación
inal y es a opología iende a p oduci enlaces de longi udes desiguales, pudiendo
p o oca di e encias de la encias en e dis in os pa es de nodos.
(a) Malla. (b) To oide.
Figu a 3.5: Topologías de mallas.
16 Capí ulo 3. Red en Chip
O o aspec o impo an e a ene en cuen a es la ubicación de las in e aces
de ed. Se denominan edes indi ec as a aquellas cuyas in e aces de ed es án en
los bo des del g a o. Como se obse a en las igu as 3.3b y 3.4, las edes de anillo
je á quicas y de á bol son ejemplos ípicos. Tene las in e aces de ed únicamen e
en la pe i e ia educe la can idad de ecu sos necesa ios pa a su implemen ación. Sin
emba go, en edes g andes, la la encia en e los nodos más alejados puede aumen a
conside ablemen e.
Su con apues o, las edes di ec as, son aquellas en las que cada encaminado
iene un pue o dedicado a una in e az de ed. Como se mues a en la igu a 3.5,
es e es el caso de las opologías de malla y o oide. En es as edes se pod ía plani ica
la ubicación de módulos que p ecisen es a ce ca isicamen e pa a maximiza la e i-
ciencia de las comunicaciones. Sin emba go, al con a io que en las edes indi ec as,
se p ecisan de más ecu sos pues o que se implemen an más componen es.
Po úl imo, ambién es undamen al ene en cuen a el ipo de enlace u iliza-
do pa a la in e conexión de los módulos. Po simplicidad, los enlaces se mues an
como lineas en las igu as an e io es pe o una ep esen ación más exac a se ía me-
dian e lechas, ya que los enlaces de e minan cómo luye la comunicación en e los
componen es. Se di iden en es ca ego ías:
Simplex (3.6a): Es e ipo de enlace pe mi e la comunicación unidi eccional,
donde un elemen o ac úa exclusi amen e como emiso y el o o como ecep o .
Aunque equie e pocos ecu sos, es inge la comunicación a un solo sen ido.
Hal -Duplex (3.6b): En es a modalidad, la conexión es bidi eccional, pe o
compa ida. Los elemen os in oluc ados pueden ac ua an o como emiso es
como ecep o es, pe o no simul áneamen e. Pa a e i a colisiones de da os, es
necesa io implemen a un sis ema de u nos, lo que puede in oduci cie a
la encia en la comunicación y eque i ía de encaminado es e in e aces más
complejas.
Full-Duplex (3.6c): Es e enlace pe mi e la comunicación bidi eccional simul-
ánea sin iesgo de que los da os colisionen. Aunque equie e el doble de e-
cu sos en compa ación con un enlace simplex, maximiza la e iciencia en el
in e cambio de da os.
(a) Simplex. (b) Hal Duplex. (c) Duplex.
Figu a 3.6: Tipos de enlaces.
3.1. Es ado del a e 17
3.1.2. Encaminamien o
Una ez es udiada la es uc u a ísica de la ed, es undamen al en ende su
uncionamien o. Cuando un nodo a a de comunica se con o o, el paque e en iado
iaja a a és de una se ie de encaminado es an es de llega a su des ino. Cada
encaminado debe decidi po cuál de sus pue os edi igi el paque e, en base a dos
aspec os: el di eccionamien o y el algo i mo de encaminamien o.
El di eccionamien o es la ep esen ación del des ino del paque e. Po ejem-
plo, en una ed de á bol, los des inos pueden ep esen a se median e di ecciones en
bina io que indiquen la posición den o de la je a quía. En edes de malla, suelen u i-
liza se las coo denadas ca esianas pa a iden i ica de mane a e icien e la ubicación
de cada nodo. La elección del esquema de di eccionamien o es cla e pa a op imiza
an o el endimien o como la simplicidad del algo i mo de encaminamien o.
El algo i mo de encaminamien o es esponsable de calcula la ayec o ia
que el paque e segui á has a llega a su des ino. Se han desa ollado di e sos algo-
i mos, pe o odos se pueden clasi ica siguiendo unas cie as mé icas. Po ejemplo,
dependiendo de la adap abilidad de la u a, se puede dis ingui en e es ipos de
algo i mos:
De e minis a: La u a en e un pa emiso - ecep o es siemp e la misma,
independien emen e del es ado de la ed. Aunque es os algo i mos son simples
y p edecibles, no ienen la capacidad de adap a se a conges ionamien os o
allos, llegando a causa ine iciencias.
Ajeno: Es e ipo de algo i mo puede calcula di e en es u as pa a el mismo
pa de nodos en dis in os momen os, pe o sin conside a el es ado ac ual de
la ed. Aunque o ece cie a lexibilidad, no ap o echa la in o mación sob e el
es ado de la ed pa a op imiza las u as.
Adap a i o: También conocidos como algo i mos dinámicos, ajus an las u as
en unción de la si uación de la ed. Pueden se pa ciales, conside ando solo
las condiciones inmedia as al ededo del encaminado , o o ales, eniendo en
cuen a la salud y el es ado global de la ed. Es os algo i mos son más complejos,
pe o o ecen una mayo e iciencia y capacidad de espues a an e cambios o
p oblemas en la ed.
O a de las mé icas más comunes a la ho a de clasi ica los algo i mos de enca-
minamien o es el momen o en el que se decide la u a:
O igen: Aquí, la decisión sob e la u a se oma en el pun o de o igen y se
incluye en el paque e. Es e en oque puede educi la ca ga de abajo en los
encaminado es, ya que es os solo necesi an segui las ins ucciones p ede ini-
das. Sin emba go, es e mé odo no puede adap a se a cambios o allos en la
ed y puede aumen a conside ablemen e el amaño del paque e debido a la
inclusión de la u a comple a.
18 Capí ulo 3. Red en Chip
Dis ibuido: En es e caso, el encaminado es el que oma la decisión de hacia
dónde een ia el paque e en cada pun o in e medio de la ed. Aunque es e
en oque inc emen a la ca ga de abajo en los encaminado es, pe mi e una
mayo adap abilidad a las condiciones ac uales de la ed y e i a el aumen o
en el amaño del paque e.
Po o o lado, los algo i mos ambién se di e encian según la na u aleza de las
u as que eligen:
Mínimo: Es e ipo de algo i mo siemp e selecciona la u a más co a posible
hacia el des ino, minimizando la la encia y los ecu sos u ilizados.
No mínimo: Es e en oque pe mi e que, en de e minados momen os, el pa-
que e pueda des ia se de la u a más co a, po ejemplo, pa a e i a conges-
ionamien os o bloqueos en la ed. Aunque es o puede aumen a la la encia,
puede se bene icioso en si uaciones donde las u as mínimas es án sa u adas
o inope a i as.
3.1.3. Con ol de lujo
Una ez el encaminado haya calculado po donde een ia el paque e siguiendo
el algo i mo de encaminamien o que se haya elegido, es c ucial con i ma la accesi-
bilidad del pue o solici ado.
En algunos casos, el siguien e encaminado en la u a del paque e puede es a
conges ionado o incluso inope a i o. Conoce es a in o mación an es de en ia el
paque e es esencial pa a e i a e asos y bloqueos en la comunicación. En las edes
adicionales se u ilizan p o ocolos de handshake donde se in e cambian mensajes
en e los encaminado es pa a e i ica la iabilidad de la comunicación. Sin emba go,
en el con ex o de una NoC, es e en oque esul a cos oso debido a la impo ancia de
cada ciclo de eloj.
Pa a que la comunicación sea iable en las NoC, se ha diseñado un sis ema
llamado backp essu e. Es e sis ema consis e en una se ie de conexiones adicionales
al canal p incipal de comunicación que p opo cionan in o mación sob e la si uación
del encaminado y la comunicación en cu so, pe mi iendo una espues a ápida y
e icien e an e posibles inciden es.
Incluso si el encaminado es á disponible, es posible que el pue o de des ino
no sea accesible. Es a si uación se da cuando el pue o ya es á siendo usado po
o o paque e o cuando llegan a ios paque es simul áneamen e solici ando el mismo
pue o. En es os casos, se debe implemen a un mé odo de a bi aje pa a decidi
qué paque e se p ocesa p ime o. Los mé odos más comunes son FIFO (Fi s In,
Fi s Ou ) y RR (Round Robin). FIFO es sencillo de implemen a , pe o puede
causa a ascos si se acumulan muchos paque es. Po o o lado, aunque RR es un
poco más complejo, o ece un a bi aje más jus o y equilib ado.
3.1. Es ado del a e 19
Cuando un paque e no puede accede a su des ino, exis en a ias opciones:
Almacena lo: Es a es una solución e ec i a cuando se dispone de memo ia
su icien es, pe o en un en o no donde la op imización es cla e, es a opción
puede no se ideal.
Redi igi lo: Redi igi el paque e puede a ali ia la conges ión en el encami-
nado , además de in en a p ocu a un canal de comunicación en caso de que
exis a o a u a. Sin emba go, es a opción solo es iable cuando iene p ecedida
de la decisión de usa un algo i mo de encaminamien o ajeno o adap a i o.
Rechaza lo: Rechaza el paque e es una solución compleja. Una opción se ía
que el paque e “de un paso a ás” en su u a, dejando al encaminado an e io
en el mismo dilema de si almacena lo, edi igi lo o echaza lo. La o a opcíón
es elimina el paque e del á ico de la ed y en ia una señal de echazo como
pa e de las señales de backp essu e. En cualquie caso, es de especial in e és
especi ica si el echazo se debe a un p oblema empo al (como un pico de
conges ión) o a un p oblema pe manen e (como el de e io o ísico del ci cui o)
pa a pode oma las medidas adecuadas.
3.1.4. Conmu ación
Como se explicó al p incipio, los paque es se suelen di idi en li s. Pa a que se
pueda da la comunicación en e un pa emiso - ecep o es necesa io ges iona los
ecu sos de la ed de modo que odos los li s del paque e eco an la u a ma cada
po el algo i o de encaminamien o, al mismo iempo que se espe a la polí ica de
con ol de lujo. Pa a ello, exis en a ias écnicas:
Packe Swi ch: En la conmu ación po paque es, los li s se ansmi en in-
di idualmen e a a és de la ed, lo que pe mi e un uso e icien e de los e-
cu sos compa idos. No obs an e, es a écnica puede gene a la encia po la
agmen ación y ecomposición de los paque es. Si se u iliza un algo i mo no
de e minis a, los li s pod ían llega deso denados, equi iendo lógica de eo -
denamien o en el des ino. Además, el amaño de los li s aumen a, ya que cada
uno debe inclui una pequeña cabece a con la in o mación necesa ia pa a su
encaminamien o y eo denación.
(a) En ío del paque e. (b) Encaminamien o de
los li s.
(c) Recepción del paque e.
Figu a 3.7: Conmu ación de paque es en una ed de malla.
20 Capí ulo 3. Red en Chip
S o e and Fo wa d: Es a écnica esuel e el p oblema del eo denamien o.
Todos los li s siguen el mismo camino y la cabece a no a anza has a que el
paque e se haya copiado en e o en el encaminado ( igu a 3.11). No obs an-
e, es o lle a a al as la encias y a implemen a módulos de memo ia en los
encaminado es lo su icien emen e g andes pa a almacena el paque e en e o.
(a) Se een ía el li de cola. (b) El paque e llega en e o. (c) La cabece a a anza.
Figu a 3.8: S o e and Fo dwa d en una ed de malla.
Cu T ough: Funciona de mane a simila a S o e and Fo wa d. Se di e encia
en que la cabece a a anza en cuan o puede, sin espe a que llegue la cola. Es o
educe signi ica i amen e la la encia. No obs an e, si la ed es á conges ionada,
es posible que el li de cola llegue a alcanza al de cabece a, po lo que se sigue
equi iendo que los encaminado es engan memo ia su icien e pa a almacena
el paque e en e o.
(a) Los li s a anzan. (b) La cabece a se bloquea. (c) El paque e llega a su des-
ino.
Figu a 3.9: S o e and Fo dwa d en una ed de malla.
Wo mhole: Los li s a anzan en cadena, de o ma pa ecida a como lo hacen
en Cu Th ough. Sin emba go, los encaminado es solo cuen an con memo ia
su icien e pa a almacena un solo li . De es e modo, un li no a al siguien e
encaminado has a que es e no haya een iado el li que enía almacenado.
Así se consigue una baja la encia y un uso de la memo ia mínimo.
(a) Los li s a anzan. (b) Has a que la cabece a no
a anza, los li s no con inuan.
(c) El paque e llega a su des-
ino.
Figu a 3.10: Wo mhole en una ed de malla
3.2. P oblemas en las edes 21
Ci cui Swi ch: En la conmu ación de ci cui os se es ablece un camino dedi-
cado y ijo en e el emiso y el ecep o an es de en ia los da os. Es e camino
pe manece ese ado du an e oda la comunicación. Es o ga an iza una co-
municación cons an e y sin in e upciones, al con a io que en wo mhole. En
cambio, es menos e icien e en é minos de u ilización de la ed, ya que los
ecu sos quedan ese ados incluso cuando no se es án en iando da os.
(a) La cabece a es ablece la u-
a.
(b) Los li s a anzan. (c) La u a se libe a.
Figu a 3.11: Ci cui Swi ch en una ed de malla.
3.2. P oblemas en las edes
Al igual que cualquie o a in aes uc u a de comunicación, las edes en chip
pueden p esen a di e sos p oblemas. Una ed esilien e debe se capaz de e i a o
ecupe a se de la mayo can idad de p oblemas posible. Da ó La iña (2022) diseñó
una ed lib e de deadlock,li elock ys a a ion. En es e abajo se p e ende
añadi la caída de enlaces a la lis a de p oblemas que es capaz de ole a la ed.
Sin emba go, como se e á en la sección 2.3, es o puede en a en con lic o con el
p oblema de la conges ión. A con inuación, se explica de enidamen e cada uno de
los p oblemas mencionados.
3.2.1. Deadlock
Es e p oblema ocu e cuando se pueden p oduci ciclos en las u as de los pa-
que es. Es o puede lle a a que un conjun o de paque es se encuen e bloqueado en
espe a mu ua, es deci , cada paque e es á espe ando que o o libe e un ecu so o
camino que necesi a pa a con inua su u a, como se mues a en la igu a 3.12.
Soluciones comunes a es e p oblema incluyen implemen a edes cuya a qui ec-
u a no pe mi a la o mación de ciclos o el uso de algo i mos que no pe mi an
de e minados gi os en las u as. Los algo i mos de e minis as pueden asegu a la
ausencia de ciclos pe o suelen se muy es ic i os, p o ocando la encias al as en
caso de conges ión. Los algo i mos adpa a i os no son an es ic i os, pe o en caso
de p oduci se allos en la ed, pueden echaza paque es pa a los que sí exis a una
u a iable. O a al e na i a se ía ecupe a se del p oblema edi igiendo alguno de
los paque es, ompiendo así el ciclo.
28 Capí ulo 3. Red en Chip
Un encaminado en ía la señal de ej cuando, as una p ime a uel a usado
SP, no ue capaz de een ia el paque e po ninguno de sus pue os. Si es a señal
llega has a el emiso signi ica que no hubo un camino iable has a el ecep o . En
ese momen o, el emiso puede op a po desis i la comunicación o espe a algunos
ciclos an es de ol e a in en a lo. En ambos casos, libe a los ecu sos de la ed que
pudie a habe es ado u ilizando, ayudando a la p e ención de li elock. Es impo an e
eco da que ni la ausencia de ej implica ack ni la ausencia de ack implica ej.
Se ha decidido man ene el uso de Round Robin como mé odo de a bi aje.
A cada ciclo de eloj, la p io idad de los paque es de accede al pue o que solici an
cambia. Al asigna los pue os de mane a jus a, asegu amos que en la ed no se
p oduci á s a a ion.
En cuan o a la polí ica de con ol de lujo, el paque e se almacenaba en el
encaminado inde inidamen e has a que pudie a se edi igido. No obs an e, la au-
sencia de deadlock ya no queda asegu ada po el algo i mo de encaminamien o, po
lo que almacena el paque e ya no es una opción. Se ha esuel o busca inmedia-
amen e el edi eccionamien o y, cuando se haya ago ado es a opción, echaza
el paque e en iando a su ez la señal ej. Como en es e abajo no se ha diseñado
un mecanismo de di e enciación en e deadlock y conges ión, se ha op ado po no
pe de ciclos de eloj espe ando a que disminuya el á ico de la ed. De lo con a io,
pod ía incluso p oduci se un e o de sinc onía en el sis ema. Hay que ene p esen e
que es a decisión puede lle a al echazo de paque es pa a los que sí exis e una u a
iable pe o, en el momen o en el que se en ió, la ed es aba conges ionada.
La es a egia de conmu ación se ha man enido igual, mezclando concep os de
conmu ación de ci cui os ywo mhole. G acias a la écnica de conmu ación de
ci cui os, si la comunicación es echazada, no queda án es os de paque e ci culando
po la ed, lo cual p e end á el p oblema de li elock. Siguiendo el es ilo de wo mhole,
cada encaminado puede almacena un máximo de un li po cada pue o. Has a
que ese li no a anza al siguien e encamindo , no se e ansmi e el siguien e. De
es e modo, el consumo de memo ia es mínimo.
Finalmen e, ampoco ha sido necesa io modi ica el diseño de los li s, que queda
de la siguien e mane a:
Cabece a: El único me ada o que lle a es la di ección del des ino. Pa a ello,
ese a los bi s necesa ios pa a la codi icación de las coo denadas. Los bi s
es an es pueden ansmi i in o mación si es necesa io.
Da os: Se pueden en ia an os li s de da os como sea necesa io, pe o se
ecomienda minimizia el amaño del paque e. Es o ayuda á a e i a la encias
excesi amen e g andes y a p e eni s a a ion debido al bloqueo de los ecu sos
mien as se ansmi e el paque e.
Cola: La única di e encia con los li s de da os es que indica al encaminado la
inalización del en ío de da os, lo que p o oca á la libe ación de los ecu sos.
3.4. Implemen ación de la ed 29
3.4. Implemen ación de la ed
Se ha modi icado el diseño RTL esc i o en Sys emVe ilog po Da ó La iña (2022)
aco de a las nue as especi icaciones de la ed. O iginalmen e, la je a quía se compo-
nía de los siguien es elemen os:
mesh: Es el módulo supe io del diseño. Se ins ancian los encaminado es
( ou e s) y los enlaces que comunican los encaminado es en e sí y con los
pue os de en a y salida.
enlaces: Los enlaces se o man po el uso de dos componen es: la in e az
node_po , que con iene la decla ación de las señales del enlace, y el módulo
node_link que ealiza la conexión de dos pue os.
ou e : El encaminado ecibe los paque es de los nodos adyacen es y, me-
dian e un c ossba , los encamina po el pue o co espondien e.
c ossba : Es e módulo implemen a el a bi aje y la conmu ación, asegu ando
la asignación jus a de los pue os.
Se han ealizado los cambios opo unos sob e el módulo mesh y los enlaces, y
se ha e ac o izado el código del módulo ou e de modo que aho a incluye dos
submódulos adicionales:
compass: Se enca ga exclusi amen e del cálculo del des ino de los li s. Es un
achada pa a la implemen ación de los algo i mos de encaminamien o.
con olle : P ocesa la señal ali e y se enca ga an o de con i ma la iabilidad
de un pue o como de ol e es a señal a los o os encaminado es.
La NoC se diseñó de al o ma que cie os pa áme os ue an pa ame izables.
Los cambios se aplica on de modo que se pudie a man ene es e es ilo de diseño. La
abla 3.2 esume los pa áme os gene ales de la ed.
Cons an e Desc ipción
MESH_HEIGHT Al u a de la ed
MESH_WIDTH Ancho de la ed
MESH_ADDR_Y Bi s pa a codi ica la o denada Y
MESH_ADDR_X Bi s pa a codi ica la o denada X
FLIT_WIDTH Tamaño de los li s
FLIT_ADDR_WITDH Bi s a ese a en el li HEADER pa a el des ino
FLIT_DATA_WIDTH Núme o de bi s disponibles pa a da os
Tabla 3.2: Pa áme os gene ales de la ed
30 Capí ulo 3. Red en Chip
3.4.1. Módulo mesh
En es e módulo se es uc u a la malla según las dimensiones indicadas po los pa-
áme os MESH_HEIGHT yMESH_WIDTH. Además de una señal de eloj (clk)
y un ese global asínc ono ( s ), en las señales del módulo mesh se decla an ocho
ec o es de in e aces node_po que se i án como pue os pa a los nodos emiso es
y ecep o es.
Como se puede obse a en la igu a 3.21, cada pun o ca dinal cuen a con dos
ec o es de in e aces, uno pa a en ada de da os y o o pa a salida, nomb ados
N_up,N_down,E_up... Se les dice up cuando los paque es salen de la ed y down
cuando en an.
Median e el uso de bucles gene a e, se ins ancian los ou e s y se ealiza la in e -
conexión de los mismos y con los pue os en la pe i e ia g acias al módulo node_link,
o mando una malla bidimensional. La malla c ece de izquie da a de echa y de a i-
ba a abajo. Los enlaces se han nomb ado siguiendo el sen ido de la comunicación.
Po ejemplo, los enlaces e2w anspo an li s desde un pue o es e (eas ) has a un
pue o oes e (wes ).
Figu a 3.21: Diag ama de una malla de 3x3. En g is los enlaces.
3.4. Implemen ación de la ed 31
3.4.2. Enlaces
Los enlaces son ull duplex po lo que los nodos implemen an dos in e aces
po cada pue o: Node_po .up pa a emi i y Node_po .down pa a ecibi . Es as
in e aces se conec an median e el módulo Node_link, como se obse a en la igu a
3.22.
Figu a 3.22: Diag ama de la conexión de dos pue os.
El uso de in e aces acili ó la inco po ación de las señales ej yali e pues o que,
en ez de modi ica cada conexión a mano, solo es necesa io ac ualiza los iche os
donde se decla an las señales y se implemen a la conexión.
Además, pa a pode simula la caída de los enlaces, se ha c eado el módulo No-
de_unlink ( igu a 3.23). Es e módulo iene la misma es uc u a que Node_link, pe o
e ansmi e el alo 0 independien emen e de los alo es ecibidos. De es a mane a
la señal enable indica que los da os del li no son álidos y la señal ali e ma ca que
no se pueden en ia da os po ese pue o.
Figu a 3.23: Diag ama del módulo Node_unlink.
32 Capí ulo 3. Red en Chip
3.4.3. Módulo ou e
El ou e p ocesa los li s con ayuda de los módulos compass,con olle yc oss-
ba . Además, con ola el es ado de la comunicación median e una máquina de es ados
ini a (FSM). Pa a que odo pueda unciona co ec amen e, los ou e s eciben una
se ie de pa áme os ( abla 3.3) cuyo alo es asignado cuando se ins ancian en el
módulo mesh.
Pa áme o Desc ipción
NODE_TYPE Posición en la ed
X Coo denada X
Y Coo denada Y
X_EDGE Úl ima columna di eccionable
Y_EDGE Úl ima ila di eccionable
PORTS Núme o de pue os
Tabla 3.3: Pa áme os del ou e .
También ecibe la señal clk y s de mesh y decla a dos ec o es de in e aces
(una in e az de salida y o a de en ada po cada pue o). La o ganización de los
encaminado es es al como se mues a en la igu a 3.24.
Figu a 3.24: Diag ama de la o ganización del módulo ou e .
En cuan o a la FSM, hay una po cada pue o de en ada y sigue el diag ama
de es ados mos ado en la igu a 3.25:
Figu a 3.25: FSM del módulo ou e .
3.4. Implemen ación de la ed 33
IDLE: En es e es ado el pue o es á a la espe a de ecibi un li de cabece-
a acompañado de su señal enable ac i a. Cuando es o sucede, comp ueba la
disponibilidad del pue o que solici a como des ino e in en a pasa al es ado
ESTABLISHING_STC. Pa a ello, el módulo compass calculó el pue o des-
ino y en ió la in o mación a los módulos c ossba ycon olle . Como solo el
li de cabece a con iene la in o mación del des ino, des se egis a pa a que
pueda se accedido du an e o os es ados de la comunicación.
El c ossba puede o no adjudica el pue o de des ino al li , y lo comunica á
con una señal de ack. De igual mane a, el con olle e i ica que el pue o de
des ino es é ope a i o y lo comunica con su ack.
Un pue o es á disponible cuando no se p oduce loopback (no es el mismo
pue o po el que llegó), ninguno de los o os pue os lo es á usando y an o
el c ossba como el con olle de uel en la señal ack. Si se cumplen odas las
condiciones, el pue o pasa al es ado ESTABLISHING_STC. De lo con a io,
pasa al es ado ROUTING_DYN.
ESTABLISHING_STC: El pue o pe manece en es e es ado a la espe a de
que las señales de backp essu e indiquen si se log ó es ablece la comunicación.
Si ecibe la señal ej, es que no ue posible y pasa al es ado ROUTING_DYN.
Si ecibe la señal ack, es que sí se log ó es ablece un canal de comunicación y
pasa al es ado ESTABLISHED.
ROUTING_DYN: En es e es ado, el pue o da p io idad al des ino indica-
do po SP. Si el des ino es á disponible, pasa al esado ESTABLISHING_DYN.
Si no, al siguien e ciclo de eloj, p ueba con el siguien e des ino has a que el
compass de uel e la señal comp_ ej, indicando que se ha de echaza la comu-
nicación. Si es o sucede, el pue o en ía la señal ej y eg esa al es ado IDLE.
ESTABLISHING_DYN: Es e es ado unciona de mane a simila a ESTA-
BLISHING_STC. La di e encia es que manda señales de con ol al compass
dis in as de las que se mandan en cuando el algo i mo de encaminamien o es
DOR.
ESTABLISHED: La comunicación log ó es ablece se. El pue o e ansmi e
los da os a la espe a de ecibi el li de cola. En ese momen o pasa al es ado
TAIL_WAIT.
TAIL_WAIT: Es e es ado indica que ya inalizó la comunicación. Pasa di-
ec amen e a IDLE, y el p oceso uel e a comenza .
34 Capí ulo 3. Red en Chip
3.4.4. Módulo compass
El módulo compass ( igu a 3.26) ins ancia los algo i mos de en u ado y mul-
iplexa el des ino de salida dependiendo de la señal de en ada mode. Tiene los
pa áme os y señales de en ada de los algo i mos que implemen a y de uel e el
des ino y señales adicionales que puedan de ol e los algo i mos. La idea es que
pueda se eciclado pa a cambia ácilmen e en e algo i mos.
Figu a 3.26: Diag ama del módulo compass.
Nó ese que es e módulo no incluye ningún ipo de señal que indique si se ha de
calcula un des ino o no. El compass de uel e cons an emen e un da o de des ino y
es la FSM del ou e y su egis o des los que con olan que el des ino sea álido.
Aunque es e en oque implica un consumo de ene gía (y consecuen emen e gene ación
de calo ) cons an e po pa e del compass, se op ó po no añadi lógica adicional
que deshabili e el cálculo del des ino pa a no complica el diseño en exceso.
3.4.5. Módulo s a ic_algo i hm
La implemen ación del algo i mo DOR se ealiza en el módulo s a ic_algo i hm
( igu a 3.27). Recibe como pa áme os las coo denadas del ou e , las dimensiones
de la ed, el núme o de pue os; y las coo denas del des ino como señal de en ada.
Median e un bucle gene a e implemen a la lógica necesa ia pa a calcula el des ino
pa a cada uno de los pue os. Es e algo i mo es pu amen e combinacional.
Con inuando con la conside ación del cálculo cons an e del des ino, las coo de-
nadas de la ubicación del ecep o se ex aen de unos cie os bi s del li de cabece a,
como se explica á en la subsección 3.4.9. Cuando el li de cabece a pasa, es é mó-
dulo ealiza los cálculos con los alo es que engan los bi s de los li s de da os y
cola, p oduciendo des inos e óneos.
3.4. Implemen ación de la ed 35
Figu a 3.27: Diag ama de la implemen ación del módulo s a ic_algo i hm.
3.4.6. Módulo dynamic_algo i hm
La implemen ación del algo i mo SP se ealiza en el módulo dynamic_algo i hm
( igu a 3.28). Recibe el pa áme o NODE_TYPE, cuyo alo es alguno de los IDs de
la abla 3.1, y el núme o de pue os. Se ha gene ado una FSM po cada pue o, po lo
que ambién ecibe las señales de eloj y de ese , eque idas po el egis o de es ado.
Además, ecibe una señal de clea pa a einicia la FSM y el lag go_ o_nex _s a e
(g ns) que indica que se debe p ocede al siguien e es ado.De uel e la señal des
indicando el des ino pa a cada cada uno de los pue os, y la señal ej cuando ya se
in en a on odos los des inos posibles.
Figu a 3.28: Diag ama de la implemen ación del módulo dynamic_algo i hm.
36 Capí ulo 3. Red en Chip
La FSM ( igu a 3.29) se ha esc i o de mane a gené ica, pe o al momen o de la
sín esis, Vi ado implemen a únicamen e los es ados que necesi a cada encaminado .
Siemp e en el es ado REROUTING_START. El des ino de uel o en es e es ado de-
pende del alo del pa áme o NODE_TYPE. Po ejemplo, si es e pa áme o ale
CNE, BE o CN signi ica que el encaminado es á en la zona es e de la ed y, po lo
an o, el des ino de uel o se á su .
Figu a 3.29: Diag ama de es ados del algo i mo SP.
Mien as el ou e pe manece en el es ado ESTABLISHING_DYN el des ino no
debe cambia , po lo que la señal g ns pe mane á desac i ada. Cuando sea necesa-
io in en a o o pue o des ino, g ns se ac i a á y el algo i mo pasa á al siguien e
es ado.
El uncionamien o de los o os cua o es ados es bas an e simila en e sí: RE-
ROUTING_NORTH de uel e no e como des ino, REROUTING_EAST de uel e
es e, REROUTIN_SOUTH de uel e su y REROUTING_WEST de uel e oes e.
Una ez más, dependiendo del alo del pa áme o NODE_TYPE se ac i a á la
señal ej y el algo i mo pod ía eg esa al es ado inicial o con inua con el siguien e
des ino.
Cuando inalice la e ansmisión del paque e, la señal clea se ac i a á, de modo
que, en la siguien e ocasión que se equie a usa es e algo i mo, la FSM empeza á
en el es ado REROUTING_START.
3.4. Implemen ación de la ed 37
3.4.7. Módulo c ossba
El módulo c ossba ( igu a 3.30) ecibe el des ino del paque e y odas las señales
del enlace a excepción de ali e. Es e modúlo ealiza la asignación de los pue os
de des ino. Pa a asegu a la jus icia en la asignación, implemen a un a bi aje RR
median e un con ado módulo el núme o de pue os (o se _ eg). El pue o que
coincida con el alo del con ado iene la meno p io idad en ese ciclo.
Figu a 3.30: Diag ama del módulo c ossba .
3.4.8. Módulo con olle
El con olle ( igu a 3.31) p ocesa la señal ali e pa a pode ges iona la salud de
la ed. La señal ali e se en ía desde los encaminado es y los ecep o es indicando que
el canal de comunicación es á sano y, po lo an o, se pueden en ia da os po dicho
canal. Se ha decidido que un encaminado desac i e odas sus señales ali e cuando
enga menos de dos pue os de salida sanos. Incluso si odos sus pue os de en ada
es án sanos, si no iene po dónde e ansmi i el mensaje es comple amen e inú il. Y
en caso de que u ie a un solo pue o de salida, es e pod ía con e i se en un cuello
de bo ella, pudiendo causa e asos en la comunicación y educi el endimien o de
la ed.
Figu a 3.31: Diag ama del módulo con olle .
Es e módulo ambién indica si un pue o de des ino es á disponible. Pa a ello,
de uel e si la señal ali e del pue o indicado po des es á ac i a.
44 Capí ulo 4. Núcleo RISC-V
Es e diseño es pa ame izable y cuen a con la he amien a ee .con ig pa a cus-
omiza el p ocesado de o ma au omá ica. Aunque pe mi e modi ica indi idual-
men e aspec os como las ex ensiones RISC habili adas, el núme o de bancos del
DCCM o el amaño de la I-Cache, p esen a cua o pe iles obje i o p ede inidos:
de aul : Con igu ación po de ec o con una in e az bus AXI4.
de aul _ahb: Con igu ación po de ec o con una in e az bus AHB.
ypical_pd: No iene ICCM e implemen a una in e az bus AXI4. Se usa pa a
la ab icación en ASIC y iene desac i adas las op imizaciones pa a FPGA.
high_pe : Aumen a el amaño del B anch Ta ge Bu e o el B anch His o y
Bu e , log ando mejo es p edicciones de sal o y, en consecuencia, mejo ando
el endimien o. Inco po a una in e az bus AXI4.
No obs an e, es a no es la única he amien a de con igu ación del p ocesado .
VeeRwol (Vee, 2024) es una pla a o ma de e e encia basada en FuseSoC (un admi-
nis ado de paque es y he amien as pa a p oyec os ha dwa e) y desa ollada pa a
la amilia de pocesado es VeeR.
Pa a acili a la po abilidad, la he amien a p oduce un co e independien e de la
ecnología y di e sos en ol o ios con p opósi os especí icos. El co e con iene el p o-
cesado , una boo ROM, in e conexión AXI4, UART, SPI, un empo izado RISC-V
y GPIO. En ez de inclui una RAM se expone un bus de memo ia que el en ol o io
se enca ga á de conec a al con olado adecuado.
En cuan o a los en ol o ios, hay es opciones:
VeeRwol sim: Es á dedicado a la simulación. En uel e el co e en un es -
bench que puede se p obado en Ve ila o o Ques a. Además, pe mi e la cone-
xión con un depu ado a a és de OpenOCD y JTAG VPI.
VeeRwol Nexys: Es á c eado pa a implemen a el co e sob e la placa de
Digilen Nexys A7. U iliza 128MB de memo ia DDR2 pa a la RAM, iene
GPIO conec ado a los LEDs, sopo a boo ing desde SPI Flash y usa el pue o
mic oUSB pa a comunicación UART y JTAG.
VeeRwol Basys 3: Es e en ol o io, po su lado, ue c eado pa a la imple-
men ación del diseño sob e la placa Basys 3, de Digilen . Usa 64KB de la
memo ia del chip pa a la RAM, iene GPIO conec ado a LEDs y swi ches.
Al igual que el en ol o io an e io , sopo a boo ing desde SPI Flash y usa el
pue o mic oUSB pa a comunicación UART y JTAG.
A pesa de que el co e se con igu ó median e ee .con ig, el p oyec o en Vi ado
se ha desa ollado pa a la pla a o ma de desa ollo Nexys A7-100T, po si en un
u u o se decidie a usa VeeRwol .
4.3. Implemen ación de la NoC en el p ocesado 45
4.3.2. In e aces de ed
Pa a que los módulos de mul iplicación y di isión puedan en ia o ecibi da os
median e la ed, necesi an implemen a una in e az. Se han eu ilizado los diseños
de Da ó La iña (2022) del emiso y el ecep o , adap ándolos aco de al nue o diseño
de la ed.
4.3.2.1. Emiso
El módulo sende ecibe un bus de da os, lo di ide en li s y en ía la in o ma-
ción a a és de la ed a un ecep o p ede inido. Pa a pode pa iciona el paque e
co ec amen e cuen a con dos pa áme os: PACKET_BITS que indica la longi ud
en bi s del paque e, y PADDING_BITS que indica el núme o de bi s que pueden
i en el espacio lib e del li de cabece a. Su conjun o de señales se explica de o ma
esumida en la abla 4.1.
Di Tipo Nomb e Desc ipcón
I logic clk El eloj
I logic s Rese asínc ono pa a los egis os de FSM
I logic enable Se puede inicia la emisión de da os
I logic lush Hay da os nue os a en ia
I logic ds _add Di ección del ecep o
I [PADDING_BITS] padding Los bi s a en ia en la cabece a
I [PACKET_BITS] packe Los bi s a en ia as la cabece a
O logic ack Con i mación del en ío exi oso del paque e
O logic ej A iso de que el en ío del paque e alló
O node_po up El pue o de salida a conec a con la NoC
Tabla 4.1: Señales de emiso
Su uncionamien o se ige po una máquina de es ados cuyo diag ama de ansi-
ciones se mues a en la igu a 4.5.
Figu a 4.5: Máquina de es ados del emiso
46 Capí ulo 4. Núcleo RISC-V
IDLE: En es e es ado el emiso es á a la espe a de ecibi la señal enable pa a
en ia la cabece a y pasa al es ado ESTABLISHING.
ESTABLISHING: La cabece a se es á e ansmi iendo po la ed, es able-
ciendo el camino. El emiso espe a en es e es ado has a ecibi alguna de las
señales de backp essu e. Si ecibe la señal up.ack pasa al es ado SENDING. Si,
po el con a io, ecibe la señal up. ej, ac i a la salida ej y eg esa al es ado
IDLE, abo ando la comunicación.
SENDING: El emiso di ide los da os en li s que a en iando uno a uno en
cada ciclo. Al en ia el úl imo li cambia la cabece a de DATA a TAIL pa a
libe a los ecu sos de la ed y pasa al es ado SENT.
SENT: La emisión no se einicia has a que el emiso no ecibe la señal lush. Al
ecibi es a señal, eg esa al es ado IDLE. De es e modo el emiso es one-sho .
4.3.2.2. Recep o
El módulo ecei e se enca ga de econs ui el paque e a pa i de los li s
ecibidos y ansmi i lo po un bus. Pa a ello, cuen a con los mismos pa áme os
PADDING_BITS y PACKET_BITS que el emiso . Su lis a de señales de en ada
y salida se esume en la abla 4.2:
Di Tipo Nomb e Desc ipcón
I logic clk El eloj
I logic s Rese asínc ono pa a los egis os de la FSM
I logic lush Libe a los ecu sos
I node_po down Pue o de en ada a conec a con la NoC
O logic alid Si padding y packe son álidos
O [PADDING_BITS] padding Los bi s a en ia en la cabece a
O [PACKET_BITS] packe Los bi s a en ia as la cabece a
Tabla 4.2: Señales del ecep o
Su compo amien o, opues o al del emiso , ambién se ige po una FSM ( i-
gu a 4.6). Pa a que la comunicación pueda ealiza se, iene que man ene la señal
down.ali e ac i a odo el iempo, indicando que es á ope a i o y puede ecibi pa-
que es. El es o de señales a ía según su es ado.
Figu a 4.6: Diag ama de es ados de la FSM del ecep o
4.3. Implemen ación de la NoC en el p ocesado 47
IDLE: El ecep o es á lis o pa a ecibi da os. Espe a con la señal down.ack,
indicando al encaminado que es á lis o pa a ecibi da os. Cuando llega un li
de cabece a, gua da en un egis o los PADDING_BITS y pasa al es ado
RECEIVING.
RECEIVING: Al usa conmu ación de ci cui os, la cabece a puede llega
múl iples eces al ecep o . Igno a los li s de cabece a epe idos y, a medida
que an llegando los de da os y la cola, a almacenando los da os en los egis os
co espondien es. Al ecibi el li de cola pasa al es ado VALID.
VALID: El ecep o a econs uido el paque e y es á lis o en las salidas padding
ypacke . Desac i a la señal down.ack has a que ecibe la señal lush y eg esa
a IDLE.
4.3.3. Inco po ación de la NoC al p ocesado
La NoC se ha inco po ado al p ocesado del mismo modo que lo hizo Da ó La-
iña (2022): comunicando las unidades de di isión y mul iplicación ins anciadas en
el módulo EXU del p ocesado .
Una de las a eas de la unidad de ejecución es el cálculo de ope aciones a i mé-
icas. Pa a ello, ecibe los da os ob enidos as las ases de e ch ydecode, los asigna
a la unidad de cálculo co espondien e y de uel e el esul ado pa a que pueda se
p ocesado en la ase de w i eeback. De las es unidades de cálculo que inco po a
EXU, solo la de di isión y la de mul iplicación son ele an es en es e abajo.
La unidad de mul iplicación es á diseñada especí icamen e pa a lle a a cabo
ope aciones de mul iplicación. Es a unidad abaja con dos ope andos de 32 bi s y
una es uc u a adicional de 23 bi s que con iene la in o mación sob e el ipo de ope-
ación, alidación y signos de los ope andos. Ta da un ciclo en p oduci el esul ado,
ambién de 32 bi s.
En cambio, la unidad de di isión a da 34 ciclos en de ol e su esul ado. Es a
unidad es á ue a del pipeline p incipal y no es á segmen ada. Recibe el nume ado
y el denominado , ambos de 32 bi s, y una es uc u a de 3 bi s que indica el signo y
si se ha de de ol e el cocien e o el es o. Además del esul ado, ambién se de uel e
una señal que indica que la di isión ha e minado.
La inco po ación de la NoC se ha ealizado de modo que los da os iajan a a-
és de la ed has a llega a sus espec i as unidades de cálculo. Cuando el esul ado
es á lis o, se en ía de eg eso ambién a a és de la ed. Todo es o esul a en una
es uc u a como la que se mues a en la igu a 4.7.
48 Capí ulo 4. Núcleo RISC-V
Figu a 4.7: Esquema
Se han eu ilizado los en ol o ios que diseñó Da ó La iña (2022) pa a la ins-
anciación de las in e aces y las unidades de cálculo, de modo que cada en ol o io
adap a y con igu a las in e aces según los da os que engan que en ia . Pa a li s
de amaño 16 bi s, se end ía lo siguien e:
Di Sende : En ía el es uc u ado de 3 bi s en el li de cabece a seguido de
4 li s con los ope andos.
Di W appe : Ins ancia la unidad de di isión y dos in e aces (una pa a
ecibi los da os y o a pa a en ia el esul ado).
Di Recei e : Recibe 2 li s de da os con el esul ado de la di isión. La señal
que indica que la ope ación e mino no se pasa en la cabece a, sino que se
co esponde con la señal alid de la in e az.
Mul Sende : En ía 6 li s de da os con los dos ope andos de 32 bi s y la
es uc u a de 23.
Mul W appe : Al igual que Di W appe , ins ancia la unidad de mul iplica-
ción y dos in e aces (un ecep o y un emiso ).
Mul Recei e : Recibe dos li s de da os con el esul ado de mul iplicación.
4.3. Implemen ación de la NoC en el p ocesado 49
El eloj de la ed
La NoC equie e de algunos ciclos pa a pode e ansmi i un mensaje. Si un-
ciona a a la misma ecuencia que el p ocesado , los da os no llega ía a iempo y el
sis ema pod ía alla . Po es e mo i o se ha c eado un eloj clk_noc que unciona a
una ecuencia mayo que el eloj del p ocesado .
Además, no hay que ol ida que, como las in e aces son son-sho , equie en la
ac i ación de la señal lush pa a pode einicia el en ío y ecepción de da os. Pa a
es a azón, ambién se ha eu ilizado el módulo edge-de ec o . Es e módulo ecibe
las señales de eloj del p ocesado y la ed, y de uel e a señal de lush. Es a señal se
ac i a á al de ec a el cambio de baja a al a del eloj del p ocesado y se man ed á
ac i ada du an e un ciclo del eloj de la ed.
Cap´
ı ulo 5
Resul ados
Se ha usado Vi ado pa a la sín esis y la implemen ación, y Ques aSim pa a la
simulación. Los p oyec os en Vi ado se ha ejecu ado pa a la pla a o ma Nexys A7-
100T. Tiene una FPGA A ix-7 xc7a100 csg324-1. Es a FPGA cuen a con 63400
LUTs, 126800 egis os y 210 pines de en ada/salida.
5.1. Simulación de la NoC
Se han ealizado a ias p uebas de simulación, odas ellas sob e una malla de
3x3, con un solo emiso en la posición (1,0) y un solo ecep o en la posición (3,4).
En p ime luga , se compa ó el iempo que a dan ambos diseños en comple a una
e asmisión cuando la ed es á comple amen e sana. En los dos casos el li siguió
el mismo camino, ep esen ado en la igu a 5.1.
Figu a 5.1: Esquema de la simulación cuando la ed es á sana
51
52 Capí ulo 5. Resul ados
Sin emba go, la nue a ed comple ó la simulación en 665 ns, 200 ns más de lo
que le omó a la ed de Da ó La iña (2022). Al examina la igu a 5.2a, se pue-
de obse a que el emiso y el ecep o pasan al es ado SENDING yRECEIVING
espec i amen e en el mismo ins an e. Es o se debe a que la señal de ack se en ía
ins an áneamen e del ecep o al emiso , p o ocando además el en ío inmedia o de
los o os li s. En el nue o diseño, es a señal es egis ada y a da 100 ns en eg esa
al emiso , como se mues a en la igu a 5.2b.
(a) Wa e o m de la simulación de la ed o iginal.
(b) Wa e o m de la simulación de la nue a ed.
Figu a 5.2: Resul ados de las simulaciones conduc uales de ambas edes cuando
odos los enlaces es án sanos.
5.1. Simulación de la NoC 53
O a de las p uebas ealizadas ue ompiendo el enlace en e los encaminado es
en las posiciones (3,1) y(3,2), o zando el en ío de la señal ej y el edi ecciona-
mien o en el encaminado (2,1). Du an e la simulación, el paque e siguió la u a que
se mues a en la igu a 5.3.
Figu a 5.3: Esquema de la simulación cuando la ed iene un enlace caído.
No obs an e, como e a de espe a , la simulación a dó casi del doble en comple-
a se que en el caso en el que odos los enlaces es án sanos, como se puede obse a
en la igu a 5.4.
Figu a 5.4: Wa e o m de la simulación cuando la ed iene un enlace caído.
60 Capí ulo 6. Conclusiones y T abajo Fu u o
p ocesado , po lo que se decidió ealiza los cambios sob e la e sión ac ualizada.
Es o, como se menciona en la sección an e io , esul ó eque i de mucho más
iempo del que se enía p e is o. A pesa de que la he amien a ee .con ig p oduce
un p oyec o comple amen e uncional pa a Vi ado, al inclui los iche os de la NoC,
a chi os p opios del p ocesado que no habían sido manipulados comenza on a p e-
sen a e o es. Finalmen e, se log ó inclui la NoC, pe o a cos a de dedica le más
iempo del planeado.
6.1.3. La simulación del p ocesado con la NoC
En un p incipio, se in en ó ealiza la simulación del p ocesado usando Ve ila o ,
un simulado de diseños ha dwa e de código abie o. Pa a ealiza las simulaciones,
aduce los diseños esc i os en Ve ilog o Sys emVe ilog a código C++ o Sys emC y
ejecu a los p og amas esul an es.
Se empezó usando es a he amien a po que, an o ee .con ig como VeeRWol
gene an p oyec os que son simulables con Ve ila o de o ma au omá ica. Sin em-
ba go, cada ez que se ejecu aba la simulación, ambién se gene aba odo el p oyec o
de nue o, lo cual eliminaba odas las modi icaciones ealizadas pa a inclui la ed.
Se dedicó algo de iempo a modi ica los iche os de con igu ación pe o la ba e a
p incipal ue que Ve ila o , a pesa de su g an comunidad, no es un simulado an
po en e como Ques a y uno de los concep os que, al momen o del desa ollo de es e
p oyec o, no es capaz de esol e es el uso de ec o es de in e aces.
Es e es un p oblema que ya había epo ado Da ó La iña (2022) an e io men e en
un ISSUE del eposi o io de Ve ila o en Gi Hub, pe o del que no se enía cons ancia
du an e el desa ollo de es e p oyec o. A pesa de que se log ó la eape u a de es e
ISSUE as habe se ce ado po abandono, uno de los p incipales colabo ado es
ad e ía de que se habían epo ado p oblemas simila es y oma ía iempo co egi
la he amien a. Se puede accede al epo e del p oblema desde el siguien e enlace:
h ps://gi hub.com/ e ila o / e ila o /issues/3300
Con el poco iempo es an e, se in en ó eplica la simulación con Ques a siguien-
do los pasos de Da ó La iña (2022). Sin emba go, a pesa de odos los in en os, no
esul ó. Po un lado, hay que ene en cuen a que el desa ollo del p ocesado es
un p oyec o ac i o y la e sión con la que se ealiza on las p uebas con enía e o es
en la conexión en e la memo ia y el núcleo. Es o ue p oblemá ico, pe o se pudo
co egi . Sin emba go, lo que no se supo soluciona ue la al a de esul ado po pa e
del es bench. En Ve ila o y con el co e o iginal la simulación de ol ía un simple
“Hello wo ld”, pe o al ealiza la misma p ueba en Ques a y con el co e modi icado,
la simulación de ol ía “Wa ning ( sim-3829) Non exis en associa i e a ay en y.
Re u ning de aul alue”. Al inal, la mala o ganización del iempo y la al a de ex-
pe iencia abajando con Ques aSim y p oyec os an se ios como lo es un p ocesado
come cial hizo imposible esol e la simulación.
6.2. Conclusiones 61
6.2. Conclusiones
A pesa de odas las di icul ades, se modi icó del diseño de una NoC pa a que
pueda ole a caídas en los enlaces de la ed y se in eg ó en el p ocesado VeeR-EL2
comunicando sus unidades de di isión y mul iplicación. En la ealización de es e
p oyec o se ha conseguido:
Es udia sob e el diseño de edes, desde su a qui ec u a has a el modelado de
los mensajes, así como los p oblemas que pueden p esen a y écnicas pa a
mi iga los.
Ap ende a diseña ha dwa e y bancos de p ueba en Sys emVe ilog, siendo
capaz de modi ica el diseño de una ed en chip esc i a en el mismo lenguaje.
Sin e iza e implemen a en Xillinx Vi ado, comp endiendo la in o mación
de uel a en los epo es. Además se ha ap endido a lee y manipula iche os
TCL.
Simula y depu a usando Ques aSim, así como amilia iza se con los iche os
de ex ensión do usados po Ques a.
Ap ende sob e la a qui ec u a RISC-V, su con ex o social hoy en día y sus
p oyecciones a u u o.
Es udia en p o undidad el p ocesado RISC-V VeeR-EL2 y las he amien as
disponibles pa a su con igu ación.
Modi ica el diseño RTL del p ocesado incluyendo la NoC en su unidad de
ejecución.
Sin en iza el diseño pa a una la FPGA Nexys A7, analizando el cambio en
los ecu sos necesa ios.
En conclusión, se ha log ado el desa ollo de una NoC esilien e cuyo diseño
se puede inco po a en un p ocesado RISC-V. Es e diseño debe ía pode se p o-
g amado sob e una FPGA, consiguiendo así un sis ema e icien e y iable, ú il pa a
aplicaciones c í icas.
62 Capí ulo 6. Conclusiones y T abajo Fu u o
6.3. T abajo a u u o
Aún con odo, hay a ios aspec os que se pod ían mejo a y que se desc iben a
con inuación.
6.3.1. El algo i mo de encaminamien o
Cuando se acumulan los enlaces o os en la ed o el aislamien o se p oduce
lejos del emiso , el paque e pa ece pe de se po la ed, bloqueando los ecu sos que
pueda habe ese ado an e io men e. Además, o a de las simulaciones que no se
pudo ealiza ue la sob eca ga de la ed, la cual uncionaba con el diseño an e io .
Es a simulación es ú il pa a es udia compo amien o de la ed en si uaciones de
conges ión.
A pesa de que la eo ía sob e el diseño p edice una cosa, la ealidad de las
simulaciones es o a. Se ía in e esan e analiza en de alle como iajan los li s a
a és de la ed y las señales que se gene an con el in de de ec a el pun o en el que
se p oduce el allo y co egi el diseño.
O a al e na i a pod ía se sus i ui los dos algo i mos implemen ados po algún
o o. Hay una g an a iedad de algo i mos dinámicos ole an es a allos que in en an
segui el camino mínimo aún al edi ecciona el paque e, como po ejemplo los Tu n
Models (Fusella y Cila do, 2018) o el algo i mo MD (Eb ahimi e al., 2013). La
implemen ación de un solo algo i mo pod ía además simpli ica el diseño, educiendo
el consumo de LUTs y FFs.
6.3.2. Las simulaciones
La up u a de los enlaces de la ed y ubicación de las in e aces se ealizó manual-
men e modi icando o comen ando y descomen ando zonas del códido de los iche os.
P oba dis in as con igu aciones de enlaces o os y posiciones del emiso y el ecep o
se ol ía un abajo engo oso.
Se pod ía ap o echa el hecho de que Sys emVe ilog pe mi e c ea clases pa a
diseña dis in as con igu aciones de la ed y au oma iza la ejecución de las simu-
laciones. O a posible opción se ía modi ica el diseño de modo que la ubicación de
las in e aces y de los enlaces caídos sea pa ame izable.
6.3. T abajo a u u o 63
6.3.3. La inco po ación de la NoC en el p ocesado
Pa a inclui la ed en el p ocesado , los iche os ambién se modi ica on a mano.
Es o ue especialmen e malo mien as se hicie on las p uebas con Ve ila o , pues o
que se pe día bas an e iempo es au ando los cambios. De ca a a con inua es e
abajo, se ía de g an u ilidad comp ende cómo uncionan exác amen e las he a-
mien as de con igu ación del p ocesado pa a pode adap a las y au oma iza la
inco po ación de la ed en el p ocesado .
6.3.4. P og amación de la FPGA con el diseño
Siendo que la he amien a Vee Wol gene a odos los iche os necesa ios pa a
p og ama una FPGA con el p ocesado , se ía de g an in e és es udia el p oceso
de Boo ing pa a comp ende cómo se inicializa el sis ema y se ca ga el so wa e en
el p ocesado . Es e es udio inclui ía el lujo de inicio, la secuencia de einicio del
p ocesado y cómo se ca gan las ins ucciones en memo ia pa a la ejecución.
La he amien a OpenOCD (Open On-Chip Debugge ) juega un papel undamen-
al en es e p oceso, ya que pe mi e depu a y e i ica el uncionamien o del p ocesa-
do una ez ca gado en la FPGA. OpenOCD p opo ciona in e aces de comunicación
en e el p ocesado y el en o no de desa ollo, lo que acili a la p og amación de la
memo ia, la ca ga de so wa e y la ges ión de los pun os de con ol (b eakpoin s)
pa a la depu ación de allada del p ocesado en iempo eal. Ap ende a maneja es a
he amine a se ía de u ilidad en cualquie ámbi o en el que se abaje con sis emas
embebidos.
In oduc ion
Mo i a ion
The pe o mance o p ocesso s has e ol ed signi ican ly o e he pas ew decades.
As shown in igu e 1.1, un il 2003, p ocesso pe o mance doubled annually. How-
e e , om ha poin on, a se ies o limi a ions a ose ha p e en ed p ocesso s om
imp o ing as signi ican ly as in p e ious yea s. I was no possible o inco po a e
mo e e icien unc ional uni s in o he p ocesso because hey equi ed mo e powe ,
leading o inc eased hea dissipa ion and cos ly cooling mechanisms. Addi ionally, i
was no longe easible o keep doubling he clock equency, as he unc ional uni s
we e unable o comple e hei execu ion in a single clock cycle. Fu he mo e, all
a ailable esou ces ela ed o ins uc ion-le el pa allelism we e al eady being ully
exploi ed.
In pa allel, ad ances in manu ac u ing echnology enabled he educ ion o an-
sis o sizes, leading o smalle p ocesso s. Al hough his new gene a ion o p ocesso s
was simple han p e ious ones, hei combined use esul ed in highe pe o mance.
This ac led o a pa adigm change owa ds mul ico e and mul ip ocesso sys ems.
T adi ionally, p ocesso s consis ed o a single co e o cen al p ocessing uni
(CPU) and a se ies o pe iphe al con olle s, all connec ed h ough da a buses. This
is he case, o example, wi h he In el 486DX2 p ocesso , de eloped in 1992. As
shown in igu e 1.2, his p ocesso used a ious da a buses o connec se e al o i s
unc ional uni s, such as he paging uni , he p e e che , and he loa ing-poin uni .
Ne wo ks-on-Chip (NoC) a e a ype o communica ion in as uc u e ha o e s
mul iple ad an ages in he design o mode n sys ems. Fi s ly, hey p omo e he c e-
a ion o e icien and scalable sys ems by allowing mul iple modules o be connec ed
in an o ganized and cohe en manne . This capabili y o e icien in e connec ion
is essen ial in oday’s sys ems, which equi e a high deg ee o pa allelism and as
communica ion be ween componen s. Fo example, his is seen in he In el i7 p o-
cesso , de eloped in 2017. Figu e 1.3 shows he use o a NoC, wi h a unidi ec ional
ing a chi ec u e, o connec i s 8 co es wi h he GPU and he sys em agen .
65
66 Capí ulo 6. Conclusiones y T abajo Fu u o
On he o he hand, NoCs also acili a e he in e connec ion o he e ogeneous
modules. Mode n p ocesso s inco po a e all he necessa y elemen s o hei op-
e a ion wi hin a single chip, and hese elemen s ha e di e en unc ionali ies and
communica ion equi emen s. NoCs p o ide a lexible and adap able medium ha
can accommoda e his di e si y, making i easie o in eg a e p ocessing modules,
memo y, pe iphe als, and o he specialized componen s.
Addi ionally, NoCs imp o e he sys em’s abili y o de ec and manage aul s.
By in eg a ing ad anced e o de ec ion and co ec ion echniques, NoCs ensu e
ha da a is ansmi ed eliably, e en in he p esence o ansien o pe manen
e o s. This is pa icula ly impo an in c i ical applica ions such as sa elli es o
space elescopes, whe e esilience and aul ole ance a e essen ial o he p ope
unc ioning o he sys em.
In he ae ospace ield, sys ems can be exposed o high doses o ionizing adia ion
o yea s. The cumula i e e ec s o adia ion ange om he empo a y co up ion
o a bi o he des uc ion o he de ice. Manu ac u ing, epai ing, o eplacing hese
sys ems is highly cos ly and can ake long pe iods o ime. Fo his eason, he use
o ield-p og ammable ga e a ays (FPGAs) has become widesp ead in ecen yea s.
FPGAs a e in eg a ed ci cui s ha can be dynamically econ igu ed o imple-
men and upda e ha dwa e designs a un ime. This econ igu abili y allows o
modi ica ions o he ha dwa e design wi hou physically eplacing he de ice, which
is pa icula ly use ul in en i onmen s whe e accessibili y is limi ed o cos ly. I a
pa o he ci cui is ound o be de e io a ed, he a ec ed componen can be ep o-
g ammed o ano he a ea o he FPGA, ensu ing he sys em con inues o unc ion
p ope ly and ex ending i s li espan. In addi ion o hei high esilience and adap i e
capabili y, implemen ing sys ems on FPGAs is a ela i ely agile p ocess ha esul s
in applica ions wi h high pe o mance le els. The speed a which new designs can be
de eloped and deployed on FPGAs enables enginee s o quickly espond o changing
p ojec and ope a ional en i onmen needs.
Fo example, he Pe se e ance o e , which landed on Ma s on Feb ua y 18, 2021,
uses a Xilinx Vi ex-5 FPGA as one o i s main p ocessing uni s, as shown in Figu e
1.4. A e he o e landed, he FPGA was ep og ammed o pe o m compu e
ision asks, demons a ing i s abili y o adap o new asks and condi ions pos -
launch.
Finally, he as majo i y o sys ems ha e been de eloped using p op ie a y ech-
nologies. Howe e , wi h he de elopmen o RISC-V, a signi ican shi is occu ing
in he ma ke . RISC-V is an open-license ha dwa e ins uc ion se a chi ec u e
(ISA) ha acili a es he c ea ion and modi ica ion o ha dwa e designs, os e ing
inno a ion and collabo a ion among de elope s wo ldwide.
6.3. T abajo a u u o 67
In ecen yea s, his a chi ec u e has g own signi ican ly in popula i y and adop-
ion. Se e al de ices equipped wi h RISC-V p ocesso s ha e al eady hi he ma ke ,
and a ious ini ia i es ha e eme ged o b ing his echnology in o space. A no able
example is he "RISC-V in Space Wo kshop," which ook place on Decembe 14,
2022, whe e ad ances and applica ions o RISC-V in he space en i onmen we e
discussed. Addi ionally, he Eu opean Space Agency (ESA) has comple ed he de el-
opmen o a 432-co e RISC-V p ocesso using chiple s, c ea ing a RISC-V manyco e
p ocesso . This ad ancemen no only highligh s he po en ial o his echnology o
e es ial applica ions bu also unde sco es i s iabili y and ad an ages o space
missions.
Implemen ing a low-cos , aul - ole an NoC on a RISC-V-based pla o m, com-
plemen ed wi h FPGAs, can p o ide an e icien and eliable sys em o c i ical
applica ions. This combina ion no only enhances he sys em’s capabili y o de ec
and manage aul s bu also ensu es eliable da a ansmission, e en in he p esence
o ansien o pe manen e o s. The syne gy be ween RISC-V and FPGAs, along
wi h he ad anced e o de ec ion and co ec ion echniques o NoCs, is essen ial o
he de elopmen o obus and du able space sys ems.
Objec i es
This wo k aims o modi y he NoC designed by Da ó La iña (2022) o be capable
o de ec ing and ole a ing damage o he links. Subsequen ly, i will be in eg a ed
in o a RISC-V p ocesso o communica e some o i s modules. To achie e hese
objec i es, he ollowing s eps will need o be aken:
S udy he pa ame e s in he design o ne wo ks-on-chip (NoCs).
Examine he design o he NoC on which his wo k will be based.
Adap he design o mee he new equi emen s.
Syn hesize and simula e he new design o ensu e i unc ions co ec ly.
Resea ch and selec a RISC-V p ocesso .
In eg a e he NoC in o he p ocesso , making necessa y adjus men s.
Syn hesize he p ocesso wi h he NoC and e i y i s ope a ion h ough simu-
la ion.
Conclusions and Fu u e Wo k
Obs acles in he p ocess
The ollowing sec ion discusses he main p oblems and obs acles ha a ose du ing
he de elopmen o his wo k.
The code o he NoC
In he ea ly mon hs o wo k, a i s e sion o he new algo i hm was de eloped.
Howe e , i had nume ous e o s: he implemen a ion indica ed he design had up
o 24 combina ional loops, and he cases whe e he simula ion wo ked we e much
mo e es ic i e.
A signi ican amoun o ime was spen conduc ing a de ailed s udy o he design
w i en by Da ó La iña (2022) and p ope ly e ac o ing he code. Al hough a clean
and unc ional design was e en ually achie ed, less ime was a ailable o dedica e o
he in eg a ion o he NoC in o he p ocesso (a s age whe e addi ional issues also
a ose). As a esul , he e was insu icien ime o ho oughly simula e he p ocesso
wi h he NoC.
In eg a ion o he Noc in o he p ocesso
Da ó La iña (2022) published he en i e p ojec in a Gi Hub eposi o y, including
he Vi ado p ojec o he p ocesso wi h he ne wo k. While i would ha e sa ed a
lo o ime o only modi y he ne wo k iles om he exis ing p ojec , he p ocesso
used was he SweRV-EL2. A he ime o his wo k, ha e sion o he p ocesso
was ou da ed. In he h ee yea s be ween he wo wo ks, many imp o emen s had
been made o he p ocesso , so i was decided o make he necessa y changes o he
upda ed p ocesso .
As men ioned in he p e ious sec ion, his ended up equi ing much mo e ime
69
76 BIBLIOGRAFÍA
Fallahlalehza i, F. How does he ma s pe se e ance o e bene i om pgas
as he main p ocessing uni s? 2024.
Fusella, E. yCila do, A. Unde s anding u n models o adap i e ou ing: The
modula app oach. En 2018 Design, Au oma ion & Tes in Eu ope Con e ence &
Exhibi ion (DATE), páginas 1477–1480. IEEE, 2018.
Guan, J.,Cai, J.,Xie, R.,Wang, Y. yLai, J. Simple obli ious ou ing me hod
o balance load in ne wo k-on-chip. IEICE TRANSACTIONS on In o ma ion
and Sys ems, ol. 104(10), páginas 1749–1752, 2021.
Guwaha i, B. P. J. J. . I. Mul i-Co e Compu e A chi ec u e. h ps:
//www.you ube.com/playlis ?lis =PLwdnzlV3ogoUT7g3BySY2QQesG3eB4dss,
2023. [Online; accessed 1-Agus -2024].
Hennessy, J. L. yPa e son, D. A. Compu e A chi ec u e: A Quan i a i e
App oach. Mo gan Kau mann, Ams e dam, 5 edición, 2012. ISBN 978-0-12-
383872-8.
Z onimi Z. Bandic, R. SweRV Co es Roadmap. h ps:// isc .o g/
wp-con en /uploads/2019/12/12.11-14.20a3-Bandic-WD_SweRV_Co es_
Roadmap_ 4SCR.pd , 2019.