Flowers -Le Volume sur Automne-

Posted on Wed 04 October 2017 in Games • Tagged with Flowers

我完全没有想到我花了这么久的时间才推完《Flowers 秋篇》,也就是系列的第三部。毕竟汉化差不多已经出来了半年,甚至《冬篇》都已经发售。大概很多人都已经高兴地讨论大结局了吧。

之前我说过这是一部逃避现实的佳作。我曾经看过一个段子:“如果你将睡觉的优先级排在了娱乐之前,就说明你已经老了”。确实已经很少有游戏让我能够熬到凌晨两点。最近来就只有《Flowers》了。

在第一部的结尾,主角的姬友莫名少了一人。巨大谜团笼罩在玩家头上,而第二部却换了主角换了一个故事开始吊胃口。第三部依旧不例外——主角们换成了高一年的学姐,学生会长八代譲葉(Yatsushiro Yuzuriha)

似乎我们没有离主线太远,毕竟譲葉似乎什么都知道,她甚至在上作的最后承诺第一部的主角蘇芳如果能够当上会长就告诉她真相。没想到的是,堂堂学生会长也是满脑子百合的痴女,并且最后的承诺也只是吹了个牛皮。

title_base2

▲这次是会长和副会长两位大姐姐的爱情故事

尽管是青梅竹马,从小就两情相悦,然而毕竟是基督徒和教会学校,终究还是要受到各方的压力。好吧,前面几对每天都在街上发狗粮,我还以为这个社会的价值观都不一样呢。最终两位只能选择私奔来作为解决方式,但也算是善始善终。

ev13a

▲或者你口味奇特的话,可以选择双胞胎姐妹左拥右抱。

当然如果你没有选择双胞胎姐妹的话,你就会知道其实双胞胎姐妹也是一对……好吧,这个口味是真的有点奇特了 …


Continue reading

WaveDrom 是一个非常棒的绘制时序图工具

Posted on Sun 01 October 2017 in Misc

今天,我在考虑要怎么绘制一个稍微能看点的时序图,就是元器件数据手册里常见的那种。我最开始的想到是微软巨制 Visio,毕竟它实在很贵,应该有为它的用户准备好这些。但也许是我没有交钱买 Pro 的原因,我发现 Visio 里甚至并没有有点类似的图形。尽管我们可以用直线来搭,但……这确实太反人类了,于是我开始另谋他法。

元器件大厂都有自己的工具来给员工画时序图,或者他们写文档人都是用苦逼用“画图”搞的?这确实不得而知,但我找到了 WaveDrom 这个非常棒的工具,简直是一针良药。也许是我知道的太晚了,不过让我们来看看一个样例:

A

已经绝对算是相当不错的效果,而它的工作方式也非常程序员:你写一个 JSON 文件,而软件将其翻译成图。而且这个工具还采用了时下流行到爆炸的 HTML+JavaScript,简直就像是机器人加深度学习还有那么点大数据那么火爆。甚至你还可以将 .js 嵌入到你的网页里,简直就是 Fashion 这个词本身。上面那幅图对应的代码是:

{signal: [
  {name: 'clk', wave: 'p …

Continue reading

为什么 Markdown 很操蛋

Posted on Sat 19 August 2017 in misc

自从 2004 年某个大佬发明了 Markdown,并且给出了其最初的 Perl 实现之后,这种轻量的标记语言就成为了互联网的新宠。在过去的十多年中愈演愈烈,直至今日有了大大小小几十种实现,大有成为互联网第一写作语言的趋势。现在你要弄个网站,不支持 Markdown 都不好意思说你有文本输入框。

我觉得 Markdown 的流行在于它比较好的解决了一个问题:为网站码字,不使用 HTML 如何排版?毕竟网站是不可能让用户写 HTML 的。即便是网站的所有者,也不可能用 HTML 来写长篇巨制。在 Markdown 出现之前,论坛与 Wiki 等文字产生最多的地方会采用富文本编辑器或者一些私有的标记符号(例如 BBCode)。然而它们仅仅是提供了一个能力而已,排版仍然是一个占用大量时间的头疼工作。

之后 Markdown 横空出世。实际上,我最初从 WordPress 换到了 Pelican 也是因为 Markdown 比起所谓的 …


Continue reading

临时修复 DocNav 下载失败的问题

Posted on Fri 04 August 2017 in misc

DocNav 是 Xilinx 的文档管理工具,在其中可以方便的搜索、下载和整理所有 Xilinx 写的英文文档,实属利器。从 2017.1 开始,我开始碰到一个 BUG。具体来说用 DocNav 下载某些特定(大概其中一半)的文档,总是会得到下载失败的错误:

DocNav

在确认了不是我的网络的问题之后,我去 Xilinx 的论坛问了问1,得到了这是一个 BUG 的确认。但是最近更新到 2017.2 之后,我发现这个问题仍然存在。但并不是总会碰到——我的另一台电脑上的 DocNav 能够正常下载所有文档。

根据 Xilinx 论坛 Mod 的指示,这个问题会发生在下载链接以 https 开头的文档上。一个临时的解决方法是使用 http 来下载以规避这个问题。具体来说找到这个文件 …


Continue reading

在 Windows Server 2012 R2 上安装 Vivado

Posted on Mon 24 July 2017 in misc

最近需要在一台 Windows Server 2012 R2 上安装 Vivado 2017.2,由于这台服务器是被防火墙隔离的,自从安装系统之后就没有安装任何更新,所以碰到了一些麻烦。

问题

安装 Vivado 2017.2 之后,安装器正常完成退出。运行 Vivado、HLS、SysGen 等都会报错:

The program can’t start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem.

我的第一反应是下载安装文件的时候有损坏,但是又在安装的目录下找到了这个文件:C:\Xilinx\.xinstall …


Continue reading

System Generator 中的 FIR 滤波器设计

Posted on Mon 17 July 2017 in FPGA

基础

FIR 是数字信号处理中一个经典的常见运算。一个 \(N\) 阶的数字 FIR 滤波器可以表示为:

$$y[n] = \sum_{i = 0}^{N}{h_i \cdot x[n-D-i]}$$

其中:

\(x[n]\) 是输入信号,\(y[n]\) 是输出信号,\(h_i\)FIR 滤波器的系数。\(D\) 是一个常数,代表处理的延迟。

FIR 也可以看成卷积运算。FPGA 中的 FIR 滤波器的首要目标就是完成上述计算。在实际开始设计之前,可能需要考虑以下参数:

  1. 滤波器阶数
  2. 吞吐量(输入信号采样率)
  3. 是否是多速率滤波器(抽取、插值)
  4. 工作时钟频率
  5. 处理延迟

对于通信系统中的 FIR …


Continue reading

DDS in FPGA

Posted on Tue 11 July 2017 in FPGA

DDS(Direct Digital Synthesizer,直接频率合成器),或者叫 NCO(Numerically Controlled Oscillator,数控振荡器)是数字信号处理中的一个非常重要的组件。一般来说,DDS 利用查找表法产生一个数字的正弦曲线。其它的算法包括 CORDIC、泰勒展开等。典型的应用包括 DUC/DDC

基础

简单来说,DDS 完成这样的运算:

$$y = \sin({\Theta(n)})$$

其中 \(y\)DDS 模块的输出;\(n\) 为整数,是现在时刻的编号;\(\Theta(n)\) 是期望输出曲线的相位。

由于在 FPGA 中,\(\Theta(n)\)\(y\) 都需要量化,而且一般采用定点实现。这就引出了 …


Continue reading

System Generator 上手

Posted on Thu 06 July 2017 in misc

简介

System Generator 是 Xilinx Vivado 套件里的组件之一。它主要的作用是利用 Matlab 中的 Simulink 组件来完成 FPGA 设计,即将 Simulink 仿真模型 .slx 转换为 HDL 文件。具体来说,System Generator 为 Simulink 提供了一套 Block 库,这套 Block 库既可以完成功能仿真,也有对应的 HDL 描述/网表。这和 Matlab 自己的 HDL Coder 类似,但由于是 Xilinx 为自己的 FPGA 写的 Block 库,能够比 …


Continue reading

设置浏览器默认字体

Posted on Sat 01 July 2017 in Log

简单来说

简单来说,我建议你为你的浏览器设置好一个好看的、适合阅读的默认字体,比如最近大红大紫的 Noto CJK

详细

之前从 hexo 换成 Pelican,主题也随之改成了 Flex。这主题开箱即用,也没有什么问题,但毕竟是英语用户写的,并没有考虑中文字体:

body{font-family:Source Sans Pro,Verdana,sans-serif}

第一个字体 Source Sans Pro 还是从 Google Fonts 上加载的。对于大部分都是中文的站来说,几乎没有价值,必须得删掉。

实际上,现在中文用户可以选择的字体已经比较多了。包括 Windows 自带的微软雅黑、Android 上的 Droid 字体、Google 的 Noto CJK、Adobe …


Continue reading

FPGA 中的数值修约(Rounding)

Posted on Mon 26 June 2017 in FPGA

实数(连续值)

对于一个数,如果我们无需那么高的位宽(精度),那么就可以对其修约。修约代表着用一个精度更低(但是更易用)的数来替代它。也许世界上最著名的数值修约的例子就是 \(\pi\approx3.14\) 了。

从小学开始,老师就会开始教“有效位”、“四舍五入”的规则。对于大部分的数,处理方式都不会有问题。例如 7.3 比起 8,还是更接近于 7。但是 7.5 呢?它在数轴上距离 7 和 8 一样近(0.5),为何我们一般都将其四舍五入到 8 呢?如果是一个负数,例如 -7.5 又应该如何呢?

实际上修约的主要艺术就在于如何花式修约 0.5 …


Continue reading