chance
La plateforme m'a rappelé aujourd'hui que je crée depuis 3 ans. Si je ne me rappelle pas, je ne ressens rien. Trois ans, ce n'est pas long, et ce n'est pas court. À ce jour, j'ai publié 213 articles et téléchargé 117 ressources sur CSDN. Les domaines concernés incluent : le traitement numérique du signal, la conception de FPGA, la vérification de la conception de circuits intégrés, la simulation d'algorithmes de traitement du signal radar, etc.
Dans ce résumé ( 2022 est en route~ ) j'ai aussi mentionné l'intention originelle de la création. Je veux principalement enregistrer mon propre processus d'apprentissage. Il y a un dicton qui est très bon : une bonne mémoire n'est pas aussi bonne qu'un mauvais stylo. Aujourd'hui, avec une technologie aussi avancée, je choisis de poursuivre mes habitudes d'apprentissage sous forme de blogs, il est toujours bon d'en enregistrer davantage. Lors de l'enregistrement et de la synthèse, c'est aussi un bon moment pour réfléchir sur vous-même et améliorer votre technologie. De plus, le contenu du blog que j'ai enregistré peut également inspirer et aider les étudiants qui en sont également aux premiers stades de l'apprentissage. Et les échanges techniques peuvent être réalisés par le biais de messages privés ou de commentaires. Il est inacceptable pour moi de travailler à huis clos, donc cette méthode peut vraiment offrir une bonne opportunité d'apprentissage et de communication.
Donc, ici, je veux aussi dire, tous les techniciens IC / IT, ceux qui ont l'habitude de bloguer et d'enregistrer devraient continuer à le maintenir, car les enregistrements et l'accumulation de la technologie petit à petit s'accumuleront un jour beaucoup et deviendront un problème technique expert dans un certain domaine / grosse vache. Pour ceux qui n'ont pas encore blogué, faisons le premier pas avec audace. N'ayez pas peur que la qualité des articles que vous postez ne suffise pas. Ce qu'il faut savoir, c'est que le but premier de poster un blog n'est pas pour d'autres à lire, mais pour résumer la technologie pour vous regarder. Après le lavage du temps, nous pouvons aussi nous transformer lentement d'un novice technique à un maître technique. allez!
récompense
Bien sûr, il y a des gains : le nombre actuel de fans recensés par la plateforme est de 8 379, le nombre total de visites dépasse les 360 000 et le nombre de collectes d'articles atteint 3 285. Cela me donnera également beaucoup de motivation et me motivera à continuer à créer de meilleurs blogs et à les partager avec tout le monde.
De plus, j'ai également reçu beaucoup de technologies de communication et de commentaires qui m'ont convenu:
En plus de cela, d'autres collègues ont rejoint le groupe d'échange technique que j'ai créé via le lien à la fin de l'article :
quotidien
A ce stade, je suis encore étudiant diplômé (recherche secondaire). Dans mon temps libre, je prendrai encore l'initiative de créer quelques articles techniques. Surtout face au problème de la recherche d'emploi cette année, je partagerai peut-être quelques expériences lors d'entretiens test écrits au fur et à mesure que j'avance dans la recherche d'emploi.
Je crois qu'après avoir obtenu mon diplôme dans le futur, je continuerai à créer sur mon lieu de travail.
Réalisation
Je suis une personne qui écrit souvent du code. Si je veux dire quel est le meilleur code que j'ai jamais écrit, je ne pourrai peut-être pas y penser pendant un moment. Mais le code de l'arbitre du scrutin écrit en Verilog m'a récemment impressionné. Voici le code implémenté :
Lien d'origine, détails : MediaTek 2024 Pratique de vérification de la conception des circuits intégrés Analyse des tests écrits
// ===================================================================================
// 功能:
// -1- Round Robin 仲裁器
// -2- 仲裁请求个数N可变
// -3- 加入lock机制(类似握手)
// -4- 复位时的最高优先级定为 0 ,次优先级:1 -> 2 …… -> N-2 -> N-1
// By:Xu Y. B.
// ===================================================================================
`timescale 1ns / 1ps
module Round_Robin_Arbiter #(
parameter N = 4 //仲裁请求个数
)(
input clock,
input reset_b,
input [N-1:0] request,
input [N-1:0] lock,
output reg [N-1:0] grant//one-hot
);
// 模块内部参数
localparam LP_ST_IDLE = 3'b001;// 复位进入空闲状态,接收并处理系统的初次仲裁请求
localparam LP_ST_WAIT_REQ_GRANT = 3'b010;// 等待后续仲裁请求到来,并进行仲裁
localparam LP_ST_WAIT_LOCK = 3'b100;// 等待LOCK拉低
// 模块内部信号
reg [2:0] R_STATUS;
reg [N-1:0] R_MASK;
wire [N-1:0] W_REQ_MASKED;
assign W_REQ_MASKED = request & R_MASK;
always @ (posedge clock)
begin
if(~reset_b)
begin
R_STATUS <= LP_ST_IDLE;
R_MASK <= 0;
grant <= 0;
end
else
begin
case(R_STATUS)
LP_ST_IDLE:
begin
if(|request) //首次仲裁请求
begin
R_STATUS <= LP_ST_WAIT_LOCK;
grant <= request & ((~request)+1);
R_MASK <= ~((request & ((~request)+1))-1 | (request & ((~request)+1)));
end
else
begin
R_STATUS <= LP_ST_IDLE;
end
end
LP_ST_WAIT_REQ_GRANT://处理后续的仲裁请求
begin
if(|request)
begin
R_STATUS <= LP_ST_WAIT_LOCK;
if(|(request & R_MASK))//不全为零
begin
grant <= W_REQ_MASKED & ((~W_REQ_MASKED)+1);
R_MASK <= ~((W_REQ_MASKED & ((~W_REQ_MASKED)+1))-1 | (W_REQ_MASKED & ((~W_REQ_MASKED)+1)));
end
else
begin
grant <= request & ((~request)+1);
R_MASK <= ~((request & ((~request)+1))-1 | (request & ((~request)+1)));
end
end
else
begin
R_STATUS <= LP_ST_WAIT_REQ_GRANT;
grant <= 0;
R_MASK <= 0;
end
end
LP_ST_WAIT_LOCK:
begin
if(|(lock & grant)) //未释放仲裁器
begin
R_STATUS <= LP_ST_WAIT_LOCK;
end
else if(|request) //释放的同时存在仲裁请求
begin
R_STATUS <= LP_ST_WAIT_LOCK;
if(|(request & R_MASK))//不全为零
begin
grant <= W_REQ_MASKED & ((~W_REQ_MASKED)+1);
R_MASK <= ~((W_REQ_MASKED & ((~W_REQ_MASKED)+1))-1 | (W_REQ_MASKED & ((~W_REQ_MASKED)+1)));
end
else
begin
grant <= request & ((~request)+1);
R_MASK <= ~((request & ((~request)+1))-1 | (request & ((~request)+1)));
end
end
else
begin
R_STATUS <= LP_ST_WAIT_REQ_GRANT;
grant <= 0;
R_MASK <= 0;
end
end
default:
begin
R_STATUS <= LP_ST_IDLE;
R_MASK <= 0;
grant <= 0;
end
endcase
end
end
endmodule
hâte de
Cette année, c'est aussi le moment de chercher un emploi. Pour l'avenir, j'ai deux projets professionnels :
1. S'engager dans une carrière dans le sens de la vérification de conception FPGA
2. S'engager dans l'occupation de la conception et de la vérification des puces ASIC
A force de possibilité et de volonté, je suis plus enclin à la seconde : concevoir et vérifier l'ASIC. Des efforts pour apporter une petite contribution à la cause d'IC.
Je souhaite également à moi-même et à mes pairs de trouver l'emploi qu'ils souhaitent lors du recrutement d'automne de cette année. Allez, allez, allez, allez !