<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[msrgr的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/msrgr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; msrgr]]></copyright><item><title><![CDATA[简化版任务调度器的实现和应用]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/106499338</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/106499338</guid><author>msrgr</author><pubDate>Tue, 02 Jun 2020 16:34:19 +0800</pubDate><description><![CDATA[背景
有别于“裸奔”的程序，类似于FreeRTOS或者Uc/OS II之类的实时系统都必备一个强大的任务调度器，基于此用户可以实现各种“乱七八糟”或者“丰富多彩”的功能。而“裸奔”的用户似乎与只能在main函数中，或者中断函数中苦苦挣扎求生存。当项目小的时候，我相信程序员有能力能够hold住。一旦项目变得复杂或者成熟后，有时候一点点需求的变动都会让整个项目都变得伤痕累累-各种补丁和注释。
是不是可以既得实时系统的优点-任务调度器，又可以兼备裸奔的“简洁”呢？我们想要的无外非一个可以把我们所有的任务都管理的仅]]></description><category></category></item><item><title><![CDATA[FPGA设计-时序约束]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/106498508</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/106498508</guid><author>msrgr</author><pubDate>Tue, 02 Jun 2020 16:10:47 +0800</pubDate><description><![CDATA[转载 FPGA设计-时序约束（上篇，理论篇）
https://blog.youkuaiyun.com/u012176730/article/details/54412323?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-8.nonecase&amp;depth_1-utm_source=distribut...]]></description><category></category></item><item><title><![CDATA[bitflip]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/98470731</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/98470731</guid><author>msrgr</author><pubDate>Sun, 04 Aug 2019 16:13:13 +0800</pubDate><description><![CDATA[cpu中（cache或寄存器）或DDR中或flash中的 一个或者多个bit发生位反转如0变为1，1变为0.这样的变化没有软件参与，是硬件自己变的
]]></description><category></category></item><item><title><![CDATA[是时候放弃Word了]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/90732693</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/90732693</guid><author>msrgr</author><pubDate>Sat, 01 Jun 2019 19:41:33 +0800</pubDate><description><![CDATA[转载

今天这个日子应当被我自己记住，经过4年多的转化，我现在已经完全抛弃了伴我成长多年的Office 套件。全面转向用Latex，Markdown和restructuredText编辑文档，幻灯片和画图。

15年前，当我还是一个小学生的时候，我第一次见到了word，excel，powerpoint这三个套件，这种所见即所得的文档编辑器让我从那时起就对文档编辑产生了浓厚的兴趣。我可以熟悉的知道w...]]></description><category></category></item><item><title><![CDATA[异步FIFO]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/90081328</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/90081328</guid><author>msrgr</author><pubDate>Mon, 13 May 2019 14:06:12 +0800</pubDate><description><![CDATA[当写指针超过最后的FIFO地址时，写指针将使未使用的MSB（Most Significant Bit的缩写，指最高有效位）递增，同时将其余的位设置为零，如图1所示（FIFO已经回环并翻转指针的MSB位）。

如果两个指针的MSB相同，则意味着两个指针都回环了相同的次数。

使用n位指针，其中（n-1）是访问整个FIFO存储器缓冲区所需的地址位数，将写时钟域的写指针同步到读时钟域，当两个指针（包括M...]]></description><category></category></item><item><title><![CDATA[binary complement]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/89341678</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/89341678</guid><author>msrgr</author><pubDate>Tue, 16 Apr 2019 20:46:59 +0800</pubDate><description><![CDATA[To change the binary complement to be signed decimal data.

In RTL, 对于负数取反加1

In C or MATLAB, 对于负数，直接减最大值。

Ex, 14 bits signed data changes to decimal data.


]]></description><category></category></item><item><title><![CDATA[VCS filelist 文件格式]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/89206420</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/89206420</guid><author>msrgr</author><pubDate>Thu, 11 Apr 2019 11:31:23 +0800</pubDate><description><![CDATA[VCS filelist 文件格式

VCS在运行仿真一般都会加仿真参数 –f filelist，filelist 是包含其他的仿真参数和整个工程的文件列表。具体格式如下：

//file list format, just for example

+v2k

-sverilog

+define+USE_ASYNC_FIFO

+incdir+../rtl/

+incdir+../sv/

...]]></description><category></category></item><item><title><![CDATA[FFT window]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/89138009</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/89138009</guid><author>msrgr</author><pubDate>Tue, 09 Apr 2019 10:57:02 +0800</pubDate><description><![CDATA[在频域中显示信号有助于发现信号中的干扰、噪声和抖动。
	信号中如果包含非整数个周期，会发生频率泄漏。可通过加窗来改善该情况。
	数字化仪采集到的有限序列的边界会呈现不连续性。加窗可减少这些不连续部分的幅值。
	没有窗叫做统一窗或长方形窗，因为加窗效果仍然存在。
	一般情况下，Hanning窗适用于95%的情况。 它不仅具有较好的频率分辨率，还可减少频谱泄露。
	请始终比较窗函数的性能，从而找到最适...]]></description><category></category></item><item><title><![CDATA[void类型和void* 的用法]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88428185</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88428185</guid><author>msrgr</author><pubDate>Tue, 12 Mar 2019 20:16:28 +0800</pubDate><description><![CDATA[void类型和void* 的用法

C语言中的void 和 void * 总结

1、void的作用

　　c语言中，void为“不确定类型”，不可以用void来声明变量。如：void a = 10；如果出现这样语句编译器会报错：variable or field ‘a’ declared void。

　　在C语言中void 常常用于：对函数返回类型的限定和对函数参数限定　　

　　（1）对函...]]></description><category></category></item><item><title><![CDATA[container_of]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88427917</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88427917</guid><author>msrgr</author><pubDate>Tue, 12 Mar 2019 20:05:44 +0800</pubDate><description><![CDATA[//获取结构体成员相对于结构体的偏移
#define offsetof(TYPE,MEMBER) ((int) &amp;amp;((TYPE *)0)-&amp;gt;MEMBER) 
//通过获取结构体中的某个成员，反推该结构体的指针
#define container_of(ptr, type , member) ({ \
 const typeof(((type *)0)-&amp;gt;member...]]></description><category></category></item><item><title><![CDATA[C syntax, int 4 bytes]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88427880</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88427880</guid><author>msrgr</author><pubDate>Tue, 12 Mar 2019 20:01:27 +0800</pubDate><description><![CDATA[int a; sizeof(a)=4;

char a; sizeof(a)=1;

float a; sizeof(a)=4;

double a; sizeof(a)=8;

long a;sizeof(a)=4;

long int a;sizeof(a)=4;

short a;sizeof(a)=2;

]]></description><category></category></item><item><title><![CDATA[detect the number of 1 in the binary format of a integer data]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88419408</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88419408</guid><author>msrgr</author><pubDate>Tue, 12 Mar 2019 13:54:45 +0800</pubDate><description><![CDATA[for( i = 0; i &amp;lt; 32; i ++ ) begin

  if ( (din &amp;gt;&amp;gt;i) &amp;amp; 0x1) // right shift and detect the lsb

    cnt = cnt + 1;

end
]]></description><category></category></item><item><title><![CDATA[ARM]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88170885</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88170885</guid><author>msrgr</author><pubDate>Tue, 05 Mar 2019 10:33:22 +0800</pubDate><description><![CDATA[由于没有自己的专属处理器架构(Intel、AMD及IBM同为美国公司，他们掌握核心专利的x86、POWER架构可以理解为美国的专属产品)，中国、日本及欧盟无一例外的将目光投向了更加开放的ARM架构。

ARM仍旧是平台生态最好、产品最完善的一种(ARM并非开源，但其授权模式却相对开放;

ARM是英国公司，并被软银控股，较难受到国际政治关系和格局影响
...]]></description><category></category></item><item><title><![CDATA[What Is Hardware-In-The-Loop Simulation?]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/88020047</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/88020047</guid><author>msrgr</author><pubDate>Thu, 28 Feb 2019 11:43:51 +0800</pubDate><description><![CDATA[(reprinted)https://www.mathworks.com/help/physmod/simscape/ug/what-is-hardware-in-the-loop-simulation.html

Hardware-in-the-loop (HIL) simulation is a type of real-time simulation. You use HIL simula...]]></description><category></category></item><item><title><![CDATA[有符号数的二进制数右移]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/87884250</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/87884250</guid><author>msrgr</author><pubDate>Fri, 22 Feb 2019 19:16:50 +0800</pubDate><description><![CDATA[把一个二进制数右移N位，规则为：
除符号位外，全部右移N位，
如果数字是一个无符号数值，则用0填补最左边的N位，
如果数字是一个有符号数值，则用1填补最左边的N位，
也就是说如果数字原先是一个正数，则右移之后在最左边补N个0；如果数字原先是个负数，则右移之后在最左边填补N个1。

例子：
0000 0010 &amp;gt;&amp;gt; 1 = 0000 0001 
0000 1010 &amp;gt;&amp;gt; 2 ...]]></description><category></category></item><item><title><![CDATA[转 波束成形 Beamforming 简述]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/87863675</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/87863675</guid><author>msrgr</author><pubDate>Thu, 21 Feb 2019 16:33:49 +0800</pubDate><description><![CDATA[经典通讯问题：如何才能让很多人在一个房间内说话互不干扰

在上一期文章中我们介绍了如何利用毫米波技术来获得更多的频谱资源，那么，接下来的问题是我们在有了频谱资源后如何充分利用，就是如何让多个用户通讯但又互不干扰，专业术语叫做频谱复用。大家一定有过这样的经验，在一间房间里当人不多时，手机信号很好，但是当许多人聚集到房间里的时候，手机的信号就会变差，有时甚至无法打出电话。这种现象归根到底就是频谱复用做...]]></description><category></category></item><item><title><![CDATA[数字电路中D触发器和D锁存器分别有什么作用？]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/87295227</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/87295227</guid><author>msrgr</author><pubDate>Thu, 14 Feb 2019 20:11:32 +0800</pubDate><description><![CDATA[
								
	　　用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路，或数字系统。由于它具有逻辑运算和逻辑处理功能，所以又称数字逻辑电路。现代的数字电路由半导体工艺制成的若干数字集成器件构造而成。逻辑门是数字逻辑电路的基本单元。存储器是用来存储二进制数据的数字电路。

	　　数字电路中D触发器和D锁存器分别有什么作用？下面用6种方法，分别是功能的文字叙述、功能表、状态转移真值表...]]></description><category></category></item><item><title><![CDATA[CRC]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/87099552</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/87099552</guid><author>msrgr</author><pubDate>Tue, 12 Feb 2019 17:07:04 +0800</pubDate><description><![CDATA[在诸多检错手段中，CRC是最著名的一种。

CRC的全称是循环冗余校验，其特点是：检错能力极强，开销小，易于用编码器及检测电路实现。

从其检错能力来看，它所不能发现的错误的几率仅为0.0047%以下。

从性能上和开销上考虑，均远远优于奇偶校验及算术和校验等方式。

因而，在数据存储和数据通讯领域，CRC无处不在：

著名的通讯协议X.25的FCS（帧检错序列）采用的是CRC-CCITT，

W...]]></description><category></category></item><item><title><![CDATA[pulse2level]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/87006084</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/87006084</guid><author>msrgr</author><pubDate>Mon, 11 Feb 2019 16:51:35 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[闲言碎语]]></title><link>https://blog.youkuaiyun.com/msrgr/article/details/86700509</link><guid>https://blog.youkuaiyun.com/msrgr/article/details/86700509</guid><author>msrgr</author><pubDate>Wed, 30 Jan 2019 11:12:19 +0800</pubDate><description><![CDATA[得了，咱们都跟这儿凑合着吧。你也不会？真巧我也不会。你会吗？你也不会。哦呦，还有条狗，咱们一块儿。咱们都跟这儿凑合着，我就说你是艺术家，你也说我是著名演员。咱们都凑合。”哎呦，来一叫郭德纲的，他往上爬，这得弄死啊。你不把他弄死咱们怎么办呢？...]]></description><category></category></item></channel></rss>