`
Marshal_R
  • 浏览: 132803 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
工程师毋需过目不忘       你是否有过这样的经历?     兴冲冲地学了一门新的编程语言,结果过了没几天不怎么用就忘了?     你是否曾经为此而困惑?     那么希望下面一张图可以帮到你。      
井字游戏(shell高级版)       大家小时候大概都玩过井字游戏,就是双方在九宫格里面轮流下棋 ,先构成三点一线(横线、竖线或者斜线)的一方取胜。有点经验的人都知道,这样简单的游戏根本是不分胜负的,除非就是某一方特别粗心,才会让你有获胜的机会。         于是,我们研究了一种新的井字游戏,即所谓的高级版。棋盘为 9×9 的 81宫格,分为9个九宫格。       取胜规则:         1、在任意一个九宫格中先构成三点一线(横线、竖线或者斜线)的一方取胜。         2、轮到对方下棋且对方无子可下,则本方获胜。       下子规则:       ...
佛祖保佑,永无BUG     // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| |// '. // ...
人工智能应用实例:图片降噪      场景设置    对白色背景、黑色前景的黑白图片进行降噪处理,可以假定背景部分多于前景。       图1 从左往右:原图、噪声图、降噪图      降噪模型     我们可以对图片建立这样一个两层的二维模型,底层表示原图,顶层表示任意的噪声图,xi为原图第i个像素,yi为噪声图第i个像素,xi、yi的取值只有1和-1,1表示白色,-1表示黑色。 图2 图片模型       显然,我们对噪声图任取的一个像素yi可以有以下3个推测:           1、这个像素更加可能是白色,因为白色背景多于黑色前景。         2、 ...
三步教你用Verilog写一个CPU 第三步:登峰造极   基础 课程要求:数字电路、计算机组成原理、程序设计 编程语言:Verilog 开发平台:xilinx ISE FPGA开发板:Nexys3     教学大纲 第一步 指令集设计与五级流水线的实现 第 ...
三步教你用Verilog写一个CPU 第二步:渐入佳境   基础 课程要求:数字电路、计算机组成原理、程序设计 编程语言:Verilog 开发平台:xilinx ISE FPGA开发板:Nexys3     教学大纲 第一步 指令集设计与五级流水线的实现 第 ...
  三步教你用Verilog写一个CPU 第一步:小试牛刀       也许在不少人眼里,这个世界有两座难以企及的大山,一座是操作系统,还有一座就是CPU。无可否认,无论开发一个操作系统还是做一个CPU都是一件极其浩大的工程, ...
人工智能应用实例:决策树     场景设置     数据来自于1984年美国议会投票记录,共和党、民主党的议员对16个重要问题进行投票,投票选项有voted for, paired for, announced for, voted against, paired against, announced against, voted present, voted present to avoid conflict of interest, did not vote or otherwise make a position known,而数据集中进行了简化,只有y、n、?三个选项,分别表 ...
人工智能应用实例:数字识别(神经网络)     场景设置     现提供一大堆8*8像素的图片,每张图片上面都是一个手写体的数字0-9,要求通过神经网络的方法,以其中一部分图片作为训练集生成一个数字识别的智能系统,以 ...
Verilog实现VGA字符显示    实现目标     在显示器中以640*480的分辨率显示0-9、A-Z、‘:’、‘*’的任意字符,字符大小为7*8的像素规模。     实现原理     1、基本的VGA显示         所有VGA显示差不多都是基于下面这一段Verilog代码的,时钟分频、行同步信号hs、场同步信号vs、rgb颜色值,这些都是必不可少的,还要注意的是对于640*480的分辨率,显示器真正可显示的区域为行计数介于31~510、列计数介于144~783之间(实际上对不同的显示器可能会有几个像素的差异),在这个范围之外都必须把rgb值设置为全0,否则会对 ...
Verilog实现VGA显示控制器       具体原理就不详细讲了,这里给出完整的代码以及Nexys3开发板的引脚文件。       最终实现的效果是:         以 640*480 的分辨率在显示器屏幕显示一个矩形方块,方块在屏幕中以 45 度的角度、60 像素/秒的速度移动,到达屏幕边沿的时候反弹。     // 设计文件:vga_controller.v `timescale 1ns / 1ps module vga_controller( input clk, input rst, output reg [2:0] r, ...
Verilog实现毫秒级计时器(秒表)    功能描述     使用Verilog语言在Nexys3开发板上实现一个毫秒精度的计时器。       计时器从0.000s开始计时到9.999s,然后重头开始计时,如此往复。Nexys3开发板上7段译码管要实时显示当前计数时间值和小数点。另外,跟一般的秒表类似,本文实现的计时器有4个控制按钮,分别为reset,start,stop以及increment,唯一不太一样的是increment按钮,在计时器停止的状态下按一下increment按钮,计时器的时间值会增加0.001s。     功能实现     计时器由4个不同的功能模块 ...
 Nexys3开发板Verilog Demo       这个学期开始学FPGA开发,使用的开发板是Nexys3,硬件编程语言是Verilog。苦于之前一直没有找到很好的代码学习资料,于是在这里将自己写过的一些相对简单的代码整理了一下分享开来,希望能对各位初学者有所帮助。       本文提供的Verilog代码都是属于Demo级别的,不过限于本人水平,也不免会有一些瑕疵,这里仅供参考,还请各位慎思!(“博学、审问、慎思、明辨、笃行。” 我的校训啊!)       如果各位还想学习更加复杂的Verilog project,请持续关注我以后的博客更新。(透个口风,我目前正在做的pr ...
Linux文件乱码       使用Linux系统多多少少都遇到过文件名乱码或者文件内容乱码的情况,其实主要是系统之间编码方式不同造成的,windows文件名编码方式可能是gbk,而Linux默认是utf-8,这样就会导致在windows的文件在Linux下面 ...
C语言细节与技巧       作为当前最流行的编程语言,C语言应该是每一个程序员必备的技能。不过,C语言里面有许多容易忽略或者误解的细节,当然也有许多技巧,在此我做了一个总结,希望能对各位同仁有所帮助!   1.boolean类型     众所周知,C语言没有boolean类型,不过可以很轻松地通过typedef和enum自定义。   typedef enum {     false=0, FALSE=0, true=1, TRUE=1 } bool;   2.enum技巧     enum其实就是把一个标识符对应到一个常数,枚举值默认从0开始,比如   enum ...
Global site tag (gtag.js) - Google Analytics