现在位置: 首页 > techbulo发表的所有文章
  • 01月
  • 16日
FPGA开发 ⁄ 共 1049字 暂无评论 ⁄ 阅读 22 次
由于刚接触zynq不久,以为zynq开发必须结合PS端,今天快下班的时候,听大师傅说zynq可以不使用PS,完全把片子拿来当FPGA用,觉得有必要测试一下。。。 查找原理图,看到有个100M的晶振接到了ZYNQ的Y9脚上, GCLK 写了一个点灯的程序用来测试 code 一秒闪一次,占空比50% 下面是管脚约束文件 pin 下面开始测试: 1.生成BitStream BitStream 经过几分钟的综合、实现之后弹出对话框 open hardware manager 打开硬件管理器之后,给板子加上电,点击自动连接按钮 Search Device 看到JTAG已经扫描出了硬件,在“xc7z020_1”上右键 Program ......
阅读全文
  • 01月
  • 10日
FPGA开发 ⁄ 共 2236字 暂无评论 ⁄ 阅读 19 次
VHDL Type Cast and Conversion Functions IEEE VHDL'87/VHDL'93 SYNOPSYS proprietary draft math std_logic_1164.vhd (ieee) standard.vhd (std) std_logic_arith.vhd    (ieee) mathpack.vhd numeric_std.vhd    (ieee) textio.vhd   (std) std_logic_misc.vhd     (ieee)   numeric_bit.vhd    (ieee)   std_logic_signed.vhd   (ieee)       std_logic_unsigned.vhd (ieee)       std_logic_textio.vhd   (ieee)       attributes.vhd     (synopsys)   Numeric packages have been defined to sup......
阅读全文
今天编写程序,qsys添加外部组件SRAM后,无法创建NIOS II工程,有如下错误: “Error:Failed to execute: ./create-this-app --cpu-name cpu --no-make SEVERE: CPU "cpu" exception memory "sram" has no matching memory region. WARNING: Tcl script "bsp-set-defaults.tcl " error: CPU "cpu" exception memory "sram" has no matching memory region. SEVERE: [Error] altera_hal_linkerx_generator: Required linker section mappings do not exist: "[.entry, .exceptions, .rodata, .rwdata, .text, .bss, .heap, .stack]" ......
阅读全文
  • 09月
  • 23日
基础知识 ⁄ 共 1618字 评论 1 条 ⁄ 阅读 568 次
LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以 几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。 IEEE 在两个标准中对LVDS 信号进行了定义。ANSI/TIA/E IA -644 中,推荐最大速率为 655Mbps ,理论极限速率为1.923Gbps 一、LVDS组成 lvds LVDS 信号传输一般由三部分组成:差分信号发送器,差分信号互联器,差分信号接收器。 差分信号发送器:将非平衡传输的TTL 信号转换成平衡传输的LVDS 信号。 差分信号接收器:将平衡传输的LVDS 信号转换成非平衡传输的TTL 信号。 差分信号互联......
阅读全文
  • 09月
  • 21日
常见问题 ⁄ 共 611字 暂无评论 ⁄ 阅读 622 次
用Nios II 13.0创建工程,最后编译时出现类似”`bss' is not within region `onchip_memory“这种错误,如下图所示: bss-is-not-within-region-onchip_memory BSS等段超出了存储器容量,查找了一下工程设置,如下图所示: step1 发现现在工程的设置如下图所示: step2 默认选上了Support C++,去掉这个选项,按下图设置: step3 同时也可以把代码优化打开(上图箭头所示位置 一般选择level 02 就可以),然后点击OK,重新编译代码,一切恢复正常: success
阅读全文
  • 09月
  • 20日
常见问题 ⁄ 共 139字 暂无评论 ⁄ 阅读 559 次
刚接触QSys,今天新建了个工程,编译的时候出现如下错误: ‘’Error (170040): Can't place all RAM cells in design‘’ 解决方案: 在建nios cpu里面的onchip memory的时候大小太大了,超出了选用的FPGA的限制。 改小一点重新编译即可。
阅读全文
今天想用之前的一个硬盘文件创建虚拟机,导入时发生如下错误: virtual_error 根据错误,原来UUID已存在,不能创建,网上搜索解决办法,很简单,如下: 1.打开cmd 2.输入如下命令(需要根据你的实际路径修改) VBoxManage.exe  internalcommands  sethduuid  "F:\VirtualBox VMs\PIR228\HardDisk\Ubuntu_10.04.4.vdi"  0160913f-6e83-4cd6-97b7-c9e24d9cd26d "F:\VirtualBox VMs\PIR228\HardDisk\Ubuntu_10.04.4.vdi"这是我的路径,需要根据实际修改,上述命令的作用就是将Ubuntu_10.04.4.vdi这个文件的UUID改为 ......
阅读全文
  • 08月
  • 25日
基础知识 ⁄ 共 3326字 暂无评论 ⁄ 阅读 467 次
处理器基本上会按照程序中书写的机器指令的顺序执行。按照书写顺序执行称为按序执行(In-Order )。按照书写顺序执行时,如果从内存读取数据的加载指令、除法运算指令等延迟(等待结果的时间)较长的指令后面紧跟着使用该指令结果的指令,就会陷入长时间的等待。尽管这种情况无可奈何,但有时,再下一条指令并不依赖于前面那条延迟较长的指令,只要有了操作数就能执行。 此时可以打乱机器指令的顺序,就算指令位于后边,只要可以执行,就先执行,这就是乱序执行(Out-of-Order)。 乱序执行时,由于数据依赖性而无法立即执行的指令......
阅读全文
最近有个小项目使用到FPGA,前几天突然程序下载不进去了,一直报错“”Connected system ID hash not found on target at expected base address“”,很是郁闷,之前用着好好的。 Connected system ID 如果在“Run Configurations”中忽略ID检测继续RUN,基本上会弹出如下对话框: problem 在网上搜索解决方法,一般有如下可能:  1) unused pin没有设置,可能会收到外部信号的干扰;设置未用引脚为As input tri-stated with weak pull-up.   2) 系统时钟信号没有约束,或者SDRAM等存储设备的时钟没有配置正确;   3) 系统复位......
阅读全文
问题:基于对话框程序,在对话框上添加EDIT、comber等控件后,进入ClassWizard中间的Member Variables想为控件关联变量,发现控件在control IDs中间根本就没有,新添加一个控件Member Variables中也不更新。 解决方法:首先看看resource.h那个文件里面有不有你的那个控件对应的ID  没有的话 重新加上; 然后在工程目录里面把后缀名为clw的文件删了 在打开class Wizard  它会自动给你弹出提示,根据提示操作即可,问题解决。 ClassWizard
阅读全文
  • 03月
  • 16日
FPGA开发 ⁄ 共 1891字 暂无评论 ⁄ 阅读 699 次
由于测试需要,网上收到的,直接贴代码,以备不时之需: #include <stdio.h> #include <unistd.h> #include "system.h" #include "alt_types.h" #include "sys/alt_flash.h" #include "sys/alt_flash_dev.h" alt_u8 epcsbuf[32]; int ret_code; alt_flash_fd* my_epcs;//定义句柄 main() { my_epcs = alt_flash_open_dev("/dev/epcs_controller");//打开FLASH器件,获取句柄 ret_code = alt_epcs_flash_get_info (my_epcs,......
阅读全文
  • 03月
  • 01日
基础知识 ⁄ 共 1782字 暂无评论 ⁄ 阅读 754 次
柔性数组 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: typedef struct test { int a; double b; char *p; }; p指向字符串。这种方法造成字符串与结构体是分离的,不利于操作。如果把字符串跟结构体直接连在一起,不是更好吗?于是,可以把代码修改为这样: char a[] = "hello world"; test *stpTest = (test *)malloc(sizeof(test) + strlen( a ) + 1 ); strcpy(stpTest + 1, a )......
阅读全文

×