自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ascend的专栏

纸上得来终觉浅,绝知此事要躬行

  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

转载 UBOOT介绍

1 uboot的介绍Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。UBoot除了支持PowerPC系列的处理器外,还能支持MIPS、 x86、ARM、NIOS、XScale等诸多常用系列的

2014-03-31 16:27:27 515

转载 ZedBoard学习手记(十) 图形界面控制ZedBoard硬件

从比赛结束到现在,这已经是第十篇手记了,在之前的九篇博文中,我们已经做了充足的基础工作,现在终于可以将之前的成果结合在一起了。今天所讨论的内容就是通过QT开发的GUI软件来控制ZedBoard板上的硬件外设,完整的信号链如下:QT GUI → Linux Driver → AXI Bus → My_GPIO Peripheral → LED & Switch 首先在QT Creator

2014-03-31 15:53:28 738

转载 ZedBoard学习手记(九) 在ZedBoard上运行QT图形软件

在Zynq平台上运行QT其实与PC无异,都需要相应的执行环境,只不过PC上的QT Lib可以使用QT SDK自动安装配置,而Zynq平台上的QT Lib则需要手动安装。另外,我们自己编写的代码只需要使用Xilinx交叉编译器进行一次编译就能在ZedBoard上执行,而QT代码则需要先由QMake进行配置,之后再用交叉编译器编译。因此,想让QT开发的应用程序在ZedBoard上运行,首先就要编译一个

2014-03-31 15:52:00 2036

转载 ZedBoard学习手记(八) 更大的目标!在Linux下开发图形用户界面

原文地址:http://www.eefocus.com/nightseas/blog/12-11/288711_baf5c.html#articletop在Linux下做GUI,比较简单的方法是使用QT。QT一直被用于跨平台的应用程序开发,之前属于Nokia,现在被卖给了Digia,开源版本的主页是http://qt-project.org/。QT的开发语言是C++和QML,可以用各种工具

2014-03-31 15:50:26 652

转载 ZedBoard学习手记(七)小插曲:如何让代码开机自动运行

原文地址:http://www.eefocus.com/nightseas/blog/12-11/288702_c1ebe.html#articletop近日十分注意调养,因而胃病有所缓解了,于是继续更新博客。以后谁再叫我去吃饭都得三思了,唉~~~此之谓顾嘴不顾身啊。在开始QT图形用户界面开发之前,先要说说如何让代码在ZedBoard上电时自动运行。对于带有Linaro 根文件系统的Lin

2014-03-31 15:48:46 664

转载 ZedBoard学习手记(六)最后一步?通过上层应用程序调用驱动

原文地址:http://www.eefocus.com/nightseas/blog/12-11/288168_575a8.html#articletop趁着编写Linux驱动的余热,让我们再写一个Linux下可以执行的应用程序,一方面为大家展示调用驱动程序的便捷方法,另一方面则能够测试驱动的功能是否正确。这个My_GPIO_App只需要一个main函数即可,因为代码十分简单,只要通读一遍

2014-03-31 15:47:34 718

转载 ZedBoard学习手记(五)为自定义外设编写Linux驱动

原文地址http://www.eefocus.com/nightseas/blog/12-11/288078_7a826.html#articletop写完上一篇博客后,部门开了新项目,虽然只是开始,但是兔子也不敢懈怠,加之北京气温骤降,又刮起大风,可能是天冷的原因吧,胃又不太舒服了,白天忙完了晚上回来就顿觉十分疲惫,因而这篇手记一直拖到现在才动笔。经过前面的工作,现在终于可以开始为自定义

2014-03-31 15:46:32 2212

原创 ZedBoard学习手记(四)为使用Linux系统做准备——建立Bootloader及设备树

原文地址:http://www.eefocus.com/nightseas/blog/12-11/287883_2d158.html#articletop在上一篇博文中,我已经介绍了建立AXI总线自定义外设的全过程,包括Verilog逻辑部分,和裸机软件部分。裸机控制外设是非常简单的,与普通的单片机并无二异,但仅仅有裸奔代码还远远无法发挥Cortex-A9硬核的作用,毕竟Zynq芯片集成了一颗

2014-03-31 15:45:09 1260

转载 ZedBoard学习手记(三)为自定义外设编写裸奔控制软件

原文地址:http://www.eefocus.com/nightseas/blog/12-10/287663_d69cd.html#articletop由于Xilinx已经为我们做了大部分的铺垫工作,因此裸奔控制外设这一步就显得十分简单了,如果不用Linux和图形界面显示,大概我的作品早早的就完成了吧。上一次我们已经成功生成了BitStream文件,下面继续上次的操作,打开PlanAhe

2014-03-31 15:43:47 965

转载 ZedBoard学习手记(二) 开发自定义AXI总线外设IP核——以LED和开关为例

想要发挥ZYNQ芯片的特长,让整个系统协同工作起来,就需要将PS与PL两部分结合在一起,在Cortex-A9核和FPGA逻辑资源之间建立通信的通道,这条通道就是AXI总线。ZedBoard推出的官方例子中已经介绍了如何将Xilinx做好的AXI总线IP(如AXI_Timer、AXI_GPIO等)添加到工程中,而下面就让我们一起来自己编写一个简单的AXI总线设备——读取板上的8个Swtich状态,并

2014-03-31 15:41:53 2487

转载 ZedBoard学习手记(一) First Step——建立Xilinx交叉编译环境

经过这段时间借由美信DIY大赛对ZedBoard的学习,略有所得,对这个新平台也有了一定的理解。在此称之为手记,算是边学边记了。既然还在学习,就自然会有一些谬误或不足,还望童鞋们指正啊。要开发ZedBoard最重要的是Xilinx ISE工具集,在这个IDE里能够完成大部分的逻辑及底层软件开发工作。如果做裸奔开发,一个IDE足矣,但是若不想一辈子不穿衣服,需要涉及Linux下的软件设计,就得在

2014-03-31 15:40:50 2074

转载 linux中export用法

常用用法:export PATH=$PATH:/home/zhaodw胜于修改环境变量,但只在本次登录中有效注意:(与shell变量相结合)1 =前PATH变量不加$符号2 再增加的路径用:追加功能说明:设置或显示环境变量。语  法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量

2014-03-31 15:39:30 466

转载 make Image uImage与zImage的区别

内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。    那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没

2014-03-30 01:02:50 538

原创 Fedora和Ubuntu指令差别(待补充)

1.重启网络    ubuntu:sudo /etc/init.d/networking restart    Fedora:service network restart    2.网络安装    ubuntu:apt-get    Fedora:yum

2014-03-30 01:01:43 787

原创 win7下实现VMware通过NAT上网

VMwware虚拟机上网对于Linux初学者是个很纠结的问题,往往通过各种配置都无法上网。本文介绍一种简单的设置方法。本文设置基于VMware8。    1.点击Edit->Virtual Network Editor->Restore Default.         2.选择网络连接方式为NAT。  3.将eth0配置为Automatic(DHCP)。

2014-03-30 00:39:59 770

转载 Ubuntu 出现apt-get: Package has no installation candidate问题

今天在安装软件的时候出现了Package has no installation candidate的问题,如:#  apt-get install Reading package lists... DoneBuilding dependency tree... DonePackage aptitude is not available, but is referred to

2014-03-30 00:25:26 686

原创 ubuntu eth0找不到问题解决方案

ifconfig 找不到eth0解决方案:     /etc/udev/rules.d/70-persistent-net.rules文件中记录了之前虚拟机中网卡的MAC地址,如果在操作中改变了网卡MAC地址,ubuntu就会出现找不到eth0的情况。只要删除这个文件,重启机器,ubuntu就会重新发现网卡并配置好,网络就可以用了。

2014-03-29 22:42:15 3006 1

原创 linux编译bad value (armv4t) for -march问题解决

编译arm内核时make出现下述问题:  CHK     include/linux/version.h  CHK     include/generated/utsrelease.h  HOSTCC  scripts/basic/fixdep  HOSTCC  scripts/basic/docproc  HOSTCC  scripts/basic/hashmake[1]

2014-03-29 20:39:55 2870

原创 make menuconfig 出现 Unable to find the Ncurses libraries 问题解决

编译内核时make menuconfig提示Unable to find the ncurses libraries or the required header files.       解决方案是Fedora下使用yum install -y ncurses-devel;Ubuntu 下使用sudo apt-get install ncurses-dev。          n

2014-03-28 15:32:59 688

原创 Verilog编程规范(补充中)

良好的编程规范可以提高设计人员的工作效率,方便非原作者对代码进行维护。一、命名约定1.文件的名称与模块的名称一致,arbiter.v文件内部模块为module arbiter。2.每个模块用一个文件表示,而且一个文件最多表示一个模块。3.在整个层次化的设计中采用不变的名称,例如在例化的时候,顶层模块和调用的底层模块的变量名称保持一致。   推荐使用如下的例化方式   blo

2014-03-26 17:23:13 2139

原创 三段式状态机的第一个输出状态

设计状态机时需要明确状态机各个状态是如何跳转的,要知道状态机是从哪一个状态开始输出的。      常用的三段式状态机设计一般采用三个alway语句:      1.第一个always语句描述时序逻辑,采用同步时序描述状态转移,更新current_state。      2.第二个always语句采用组合逻辑的方式判断状态转移条件、描述状态转移规律,根据current_state和输入条

2014-03-22 20:09:57 1749 1

转载 状态机设计

参考了网上的一些前辈blog和自己搜集到的资料,整理了一下读书笔记,虽然内容基本上都是别人写的,但是整理起来也好累   = =1. 有限状态机FSM(Finite State Machine)组成元素:输入、状态、状态转移条件、输出;可以分为两类:Mealy状态机:时序逻辑的输出不仅取决于当前状态,还与输入有关;Moore状态机:时序

2014-03-22 09:18:47 5623 2

转载 NOR FLASH 和NAND FLASH 问题

一:地址空间的分配1:s3c2440是32位的,所以可以寻址4GB空间,内存(SDRAM)和端口(特殊寄存器),还有ROM都映射到同一个4G空间里.2:开发板上一般都用SDRAM做内存flash(nor、nand)来当做ROM。其中nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线3:norflash不用来运行代码,只用来存储代码,NORflas

2014-03-20 19:14:02 1041

原创 用Matlab生成txt格式波形数据

在用Modelsim仿真时,testbench设计时常会用到系统任务$readmemb和$readmemh,可以从txt文件读取二进制或者是十六进制数据,作为仿真激励。原始数据的生成可以借助Matlab实现,通过Matlab可以生成需要的波形,Matlab中的fopen和fprintf函数可以生成txt格式文件,并将波形数据以整型(%d)实数(%f)十六进制(%x)格式存入txt文件,但是需要注意

2014-03-19 16:01:52 10505

转载 verilog中阻塞赋值和非阻塞赋值的区别

1、阻塞赋值操作符用等号(即 = )表示。“阻塞”是指在进程语句(initial和always)中,当前的赋值语句阻断了其后的语句,也就是说后面的语句必须等到当前的赋值语句执行完毕才能执行。而且阻塞赋值可以看成是一步完成的,即:计算等号右边的值并同时赋给左边变量。例如:当执行“x=next_x;”时,x会立即的到next_x的值。而下一句“y=x;”必须等到

2014-03-19 00:17:35 17075 6

转载 Wire与Reg的使用方式测试报告

1、基本测试项语法测试结果说明组合:=(assign/initial/always_with_no_clk) assign用且仅用=,左值用且仅用wireinitial和always左值用且仅用reg,=和都可以,但是一般情况下,组合用=,时序用时序:(always_with_c

2014-03-18 23:52:23 2132

转载 FPGA组合逻辑部件LUT的基本原理

数字逻辑电路一般都是时序部件(触发器)+组合逻辑(与门,或门,异或门等)来完成一系列的功能。既然完成一个特定的功能可以通过组合逻辑来实现,为什么要引入时序逻辑呢?    这是因为时序逻辑是基于时钟沿(上升沿或者下降沿)触发,只有在时钟边沿数据才会被锁存,具有良好的去毛刺,抑制干扰作用,保证了数字电路功能的正确性和稳定性。(这方面原理将会在下一篇博文中说明)。既然构成数字逻辑最重要的部件是组

2014-03-17 22:26:56 11260

转载 Xilinx全局时钟资源BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用

目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM

2014-03-14 15:05:51 4408

转载 FPGA时钟讨论

无沦是用离散逻辑、可编程逻辑,还是用全定制硅器件实现的任何数字设计,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压或制造工艺的偏差情况下将导致错误的行为,并且调试困难、花销很大。 在设计PLD/FPGA时通常采用几种时钟类型。时钟可分为如下四种类型:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统能够包括上述四种时钟类型的任意组合。1.全局时钟

2014-03-14 15:00:01 917

转载 基于matlab FPGA verilog的FIR滤波器设计

FIR滤波器说明FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA verilog的FIR滤波器设计(原创)" style="margin:0px; padding:0px; border:0px; list-style:none">FPGA verilog的FIR滤波器设计(原创)" title="基于matlab FPGA ver

2014-03-13 17:01:02 4660

转载 Verilog HDL无符号数和有符号数运算

执行算术操作和赋值时,注意哪些操作数为无符号数、哪些操作数为有符号数非常重要。无符号数存储在:* 线网* 一般寄存器* 基数格式表示形式的整数  有符号数存储在:* 整数寄存器* 十进制形式的整数  下面是一些赋值语句的实例:reg [0:5] Bar;integer Tab;. . .Bar = -4

2014-03-13 09:33:10 5971 2

转载 FPGA 有符号,无符号

test_signed.vmodule test_signed(clk,data_out); parameter Data_OUT_WIDTH = 5; input clk;// output signed[Data_OUT_WIDTH - 1 : 0]data_out; output [Data_OUT_WIDTH - 1 : 0]data_out; assign d

2014-03-13 09:12:35 2562

转载 FPGA 补码存在的意义

每一个人都有存在的意义, 有的人用一生的时间去寻找自己的存在意义, 有的人则是经过生活的大反转,看到了自己存在意义,有的人则不闻不问 ... 当然补码也有存在的意义, 补码存在的意义, 就是避免计算机去做减法的操作。 为什么数字电路中要使用补码呢?因为:作减法运算时,如果两个数是用原码表示的,则首先需要比较两数绝对值的大小,然后以绝对值大的一个作为被减数、绝对值小的一个作为减数,求出差值,并以

2014-03-13 09:09:50 2741

转载 matlab和FPGA中无符号数和有符号数的转化(转)

在FPGA 设计过程中经常会遇到关于数表示之间的转化问题,最常见的是无符号数和有符号数之间的转化问题。(1)在FPGA设计过程中,能够很直接的看出数字的位宽,但经常以无符号数的形式输出,在后继的处理中往往要将之转化为有符号数(如:计算频谱):对于一个比特宽度为W的有符号数,其值往往可以表示为(令W = 4): -1*b3*2^3  +  b2*2^2 +  b1*2^1 + b0*2^

2014-03-13 09:08:22 3191

转载 fpga中从有符号数、无符号数衍生

在设计中,所有的算数运算符都是按照无符号数进行的。如果要完成有符号数计算,对于加、减操作通过补码处理即可用无符号加法完成。对于乘法操作,无符号数直接采用“*”运算符,有符号数运算可通过定义输出为 signed 来处理。通过“*”运算符完成有符号数的乘法运算。module ceshi (out, clk, a, b); output   [15:0] out;  

2014-03-13 08:59:00 1485

转载 离散傅里叶变换DFT

DFT是为适应计算机分析傅里叶变换规定的一种专门运算,本章是数字信号处理课程的重点章节。  3.7用DFT进行频谱分析  1.用DFT对连续信号进行谱分析  (1)原理        (2)频率分辨率与DFT参数的选择   频率分辨率是指所用的算法能将信号中两个靠得很近的谱峰分开的能力。   设是一个带限的连续时间信号,最高频率为fc,根据时域采样定理,采样频率

2014-03-08 15:03:31 2713 1

转载 离合器&变速器原理

视频讲解链接:变速器http://www.tudou.com/programs/view/8Q06524sGm8/                         离合器http://www.tudou.com/programs/view/u8FkKK1UOQg/发动机有根输出轴输出动力然后变速箱有一根输入轴,从发动机获得动力一根输出轴,输出到车轮。然后变速

2014-03-02 15:32:14 1777

转载 FPGA开发技巧之同步复位与异步复位的理解

前两天和师兄讨论了一下design rule其中提到了同步异步复位的比较这个常见问题,据说也是IC公司经常问到的一面试题。后来在网上看了些相关资料,终于在这一点有了比较清晰的感念,眼看就要实习了,唯恐同学们面试时阴沟里翻船,特此将这个问题总结如下(如果你对:你在设计中如何复位?为什么这样复位?这两个问题概念清晰,本贴可以略过)一、概念:同步复位:就是指复位信号只有在时钟上升

2014-03-02 11:17:36 915

DE2引脚配置CSV文件

DE2开发板引脚配置信息,可以直接通过quartus ii 软件 assignments->import assignments导入,使用时注意引脚信息的对应关系。

2014-02-17

crc5_verilog

crc5的verilog实现和仿真。文件包括crc5.v和testbench文件crc5.vt以及仿真效果图。

2013-10-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除