01 2011 档案

摘要:2.6.3 常用数字处理算法的Verilog实现1.加法器的Verilog实现串行加法器组合逻辑的加法器可以利用真值表,通过与门和非门简单地实现。假设 和 表示两个加数, 表示和, 表示来自低位的进位, 表示向高位的进位。每个全加器都执行如下的逻辑表达式:这样可以得到加法器的一种串行结构。因此,式(2.1)所示的加法器也被称为串行加法器。如图2-20给出了一个4位串行加法器的结构示意图。图2-20 串行加法器的结构示意图在无线通信的信号处理中,常常要用到多位数字量的加法运算。如果用串行加法器实现,速度较慢,而并行加法器就能满足要求,并且结构并不复杂。现在普遍使用的并性加法器是超前进位加法器,只 阅读全文
posted @ 2011-01-25 20:56 HelloSUN 阅读(20573) 评论(1) 推荐(1) 编辑
摘要:超前进位加法器module add4_head ( a, b, ci, s, pp, gg);input[3:0] a;input[3:0] b;input ci;output[3:0] s;output pp;output gg;wire[3:0] p;wire[3:0] g;wire[2:0] c;assign p[0] = a[0] ^ b[0];assign p[1] = a[1] ^ b[1];assign p[2] = a[2] ^ b[2];assign p[3] = a[3] ^ b[3];assign g[0] = a[0] & b[0];assign g[1] = a[ 阅读全文
posted @ 2011-01-25 20:15 HelloSUN 阅读(11121) 评论(0) 推荐(0) 编辑
摘要:Mealy和moore型状态机的主要区别状态机一般分为三种类型:Moore型状态机:下一状态只由当前状态决定,即次态=f(现状,输入),输出=f(现状);Mealy型状态机:下一状态不但与当前状态有关,还与当前输入值有关,即次态=f(现状,输入),输出=f(现状,输入);混合型状态机。Moore型与Mealy型两种状态机的不同点在于,Moore型状态机的输出信号是直接由状态寄存器译码得到,而Mealy型状态机则是以现时的输入信号结合即将变成次态的现态,编码成输出信号。(摘自:http://hi.baidu.com/qdhdw/blog/item/454cb98f0865c2e7f01f36a9 阅读全文
posted @ 2011-01-23 17:06 HelloSUN 阅读(42793) 评论(1) 推荐(1) 编辑
摘要:前些日子,因实验室的项目需要(不知如何将软件的逻辑转化成硬件逻辑),特请来院里一FPGA专家进行辅导,去旁听记下笔记若干并整理成文档,以免日后忘却。又,虽现在不做FPGA,但介绍的开发经验、思想方法等很难得,暂时记下,以备后用。1.wire与reg之外的数据类型不要在verilog代码中出现。2.assign(组合逻辑)与always之外的语句不要在verilog代码中出现。3.一个module最好一个always,再加若干assign,这样便于控制。4.verilog中无函数调用及函数传递,都转化成input、output接口。5.不建议使用for循环,因为看不到其电路是什么样子。For可以 阅读全文
posted @ 2011-01-22 20:16 HelloSUN 阅读(1921) 评论(0) 推荐(3) 编辑
摘要:Description本文主要是收集一些重要的Verilog coding style。一个好的coding style可以减少错误的发生,增加电路的效能,以及较好的可读性。TextThe order of module signals一个module signal顺序如下 (由左至右):Inputclock signals(clk_*)set/reset signals(set_*, rst_*)enable/disble signals(en_*, dis_*)read/write enable signals(we_*, re_*, rw_*)control signals(i_*)ad 阅读全文
posted @ 2011-01-22 19:25 HelloSUN 阅读(3930) 评论(1) 推荐(0) 编辑
摘要:1、语法声明:parameter xx = yy;`define XX YY使用:xx`XX2、作用域parameter作用于声明的那个文件;`define从编译器读到这条指令开始到编译结束都有效,或者遇到`undef命令使之失效。如果想让parameter或`define作用于整个项目,可以将如下声明写于单独文件,并用`include让每个文件都包含声明文件:`ifndef xx`define xx yy // or parameter xx = yy;`endif`define也可以写在编译器最先编译的文件顶部。通常编译器都可以定义编译顺序,或者从最底层模块开始编译。因此写在最底层就可以了 阅读全文
posted @ 2011-01-22 17:02 HelloSUN 阅读(13779) 评论(1) 推荐(2) 编辑
摘要:-----------------------------------------------------------------------BufExplorer Taglist latex-suite word_complete SketchDrawIt Mark SearchComplete vcscommand switchtagsccal.rb viki NERD_tree fencview matrixtaglis Tetris BlockComment----------------------------------------------------------------- 阅读全文
posted @ 2011-01-21 09:25 HelloSUN 阅读(917) 评论(0) 推荐(0) 编辑
摘要:VIM插件一般安装在 5 个地方, 存放插件的路径都列在“runtimepath”选项中,我们可以使用 set命令查看它::set runtimepath?一般来说显示结果如下:runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim71,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/afterUnix下的 $HOME/.vim 或Windows下的[url=http://edyfox.codecarver.o 阅读全文
posted @ 2011-01-21 09:24 HelloSUN 阅读(7158) 评论(1) 推荐(0) 编辑
摘要:1、使用tags tag是什么?一个位置。它记录了关于一个标识符在哪里被定义的信息,比如C或C++程序中的一个函数定义。这种tag聚集在一起被放入一个tags文件。这个文件可以让Vim能够从任何位置起跳达到tag所指示的位置-标识符被定义的位置。 下面的命令可以为当前目录下的所有C程序文件生成对应的tags文件: (shell command) ctags *.c 现在你在Vim中要跳到一个函数的定义(如startlist)就可以用下面的命令:(ex command) :tag startlist这个命令会带你到函数"startlist"的定义处,哪怕它是在另一个文件中。CTRL+]命令会取当 阅读全文
posted @ 2011-01-20 16:29 HelloSUN 阅读(1297) 评论(1) 推荐(0) 编辑
摘要:因为学习使用Vim,遇到ctags这样一个东东,花了一天时间大致搞清楚了一点,记下来,和大家分享。我写的匆忙,大家也就随便看看好了。希望有用。一.ctags是干什么的ctags的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。我用的是Exuberant Ctags,在Windows上使用,就一个可执行文件,非常绿色,可在sourceforge下载。二.ctags可以识别哪些语言,是如何识别的ctags识别很多语言,可以用如下命令来查看:ctags --list-languages还可以识别自定义语言,具体没研究过。ctags是可以根据文件的扩展名以及文件名的形式来 阅读全文
posted @ 2011-01-20 15:41 HelloSUN 阅读(4458) 评论(0) 推荐(1) 编辑
摘要:ubuntu是一个很好的linux发行版。由于最近arch折腾的有些过火,导致显卡不正常,至今修复未果……因为不知道是不是显卡硬件问题,所以制作了个ubuntu的liveUSB,希望使用它可以对显卡进行测试。试用ubuntu10.04时,发现ubuntu的确非常适合不爱折腾追求稳定的linux用户。它稳定强大漂亮超凡,还有超人气的社区作为技术支持,的确适合新手和不爱折腾/懒得折腾的人。硬件支持也已经相当完善,canonical对此做了不少努力。例如gnome-disk-utility,在arch下至今不能正确估测我的硬盘:但是ubuntu却可以正确识别并估测硬盘健康值等。而且我的n卡正确识别并 阅读全文
posted @ 2011-01-20 13:38 HelloSUN 阅读(4621) 评论(0) 推荐(0) 编辑
摘要:同意 子夜茗香 的说法,在10.04试了一下,可行 sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service network-manager start sudo gedit /etc/NetworkManager/nm-system-setting... 阅读全文
posted @ 2011-01-20 10:05 HelloSUN 阅读(1865) 评论(0) 推荐(0) 编辑
摘要:有关如何破解PDF加密文件的教程前言:因为现在网络上下载的PDF文件很多都带有安全性设置,通常的安全设置有:文档打印不允许、更改文档不允许、内容复制或提取不允许等等。在实际运用中,我们通常需要把PDF文件导出,保存为DOC文件(Word文件),并对其内容进行复制、修改等编辑操作;或者打印这类PDF文件;又或者无法删除其中文件中的水印标志。下面就如何解决以上问题给予操作指导。听我慢慢道来。电脑破解环境准备:电脑上必须装有Adobe Acrobat 7.0 Professional 软件(记得不是Adobe Reader哦!!),解压后的文件大小估计在200多M,这个软件网络上很多地方有下载,如何 阅读全文
posted @ 2011-01-20 09:33 HelloSUN 阅读(2590) 评论(1) 推荐(0) 编辑
摘要:自己学习Verilog 和FPGA已经一学期了,期间自己也算是做了不少的FPGA实验,也写了一些代码,期间自己感触最深的就是当你的代码出现错误时你应改怎么快速又准确的解决这些Bug,并同时也应该想想为什么会出现这些Bug,到底是当初那些原因导致这些Bug的产生等等。  我感觉自己犯的都是很低级的错误,其实说白了就两句话:  1、永远要对你的设计的每一个细节了如指掌。  2、做好版本管理,对你的每一个修改都要有记录,本版本的主要的特点、更改的地方等。  3、认真、仔细、小心的完成你的每一个步骤,只有这样才能减少那些低级错误的发生,很多时候这些低级错误会让你浪费大量的时间。  4、要时刻清楚你的代 阅读全文
posted @ 2011-01-17 19:18 HelloSUN 阅读(681) 评论(0) 推荐(0) 编辑
摘要:终端输入如下命令:sudo modprobe -r psmouse如果打开触摸板就是:sudo modprobe psmouse 阅读全文
posted @ 2011-01-15 18:34 HelloSUN 阅读(245) 评论(0) 推荐(0) 编辑
摘要:當由ubuntu 8.04升級到8.10(Intrepid)時,發現在面板上的NetworkManager applet不見了(NetworkManager applet is missing)如果在Terminal執行nm-applet時,會出現下列的錯誤訊息 ** (nm-applet:7559): WARNING **: applet_dbus_manager_start_service(): Could not acquire the NetworkManagerUserSettings service as it is already taken. Return: 3 (nm-app 阅读全文
posted @ 2011-01-15 17:58 HelloSUN 阅读(1525) 评论(0) 推荐(0) 编辑
摘要:1. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如:该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:enum weekday{ sun,mou,tue,wed,thu,fri,sat };enum weekday a,b,c;或者为:enum weekday{ s 阅读全文
posted @ 2011-01-15 17:49 HelloSUN 阅读(1110) 评论(0) 推荐(0) 编辑
摘要:下面是更新内核需要的一些知识  编辑软件源  sudo gedit /etc/apt/sources.list  查看系统存在的内核。  dpkg -l|grep linux  或  dpkg –get-selections|grep linux  显示当前的内核  uname -a  升级内核  apt-get dist-upgrade  删除内核  sudo apt-get remove 内核名  带有image的文件是需要删除的,一定要写全版本等字符。其他相关的文件会自动删除。  例如:  sudo apt-get remove –purge linux-image-2.6.24-19- 阅读全文
posted @ 2011-01-13 20:51 HelloSUN 阅读(10597) 评论(0) 推荐(0) 编辑
摘要:1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。进入后,选择project或者由http//www.opencores.org/browse.cgi/by_category进入。对于想了解这个行业动态人可以看看它的投票调查。http://www.opencores.org/polls.cgi/listOpenCores is a loose collection of people who are interested in developing hardware, with a similar ethos to the free softw 阅读全文
posted @ 2011-01-13 19:47 HelloSUN 阅读(989) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示