xilinx

In verilog printing signed integer value stored in a variable of type reg

老子叫甜甜 提交于 2019-12-01 04:42:21
How do I print a signed integer value stored in an 8 bit register declared as reg [7:0] acc; Using $display("acc : %d", acc) It prints the unsigned value. Whats the correct syntax for the $display function ? If you declare the reg as signed , $display will show the minus sign: module tb; reg signed [7:0] acc; initial begin acc = 8'hf0; $display("acc : %d", acc); end endmodule /* Prints out: acc : -16 */ Ran into this problem as well and looked through the SystemVerilog 2012 standard, but didn't see any mention of signedness in the section about format specifiers. Here's an alternative

In verilog printing signed integer value stored in a variable of type reg

久未见 提交于 2019-12-01 02:43:59
问题 How do I print a signed integer value stored in an 8 bit register declared as reg [7:0] acc; Using $display("acc : %d", acc) It prints the unsigned value. Whats the correct syntax for the $display function ? 回答1: If you declare the reg as signed , $display will show the minus sign: module tb; reg signed [7:0] acc; initial begin acc = 8'hf0; $display("acc : %d", acc); end endmodule /* Prints out: acc : -16 */ 回答2: Ran into this problem as well and looked through the SystemVerilog 2012 standard

Getting the IEEE Single-precision bits for a float

五迷三道 提交于 2019-12-01 00:50:28
I need to write an IEEE single-precision floating point number to a 32-bit hardware register at a particular address. To do that, I need to convert a variable of type float to an unsigned integer. I can get the integer representation like this: float a = 2.39; unsigned int *target; printf("a = %f\n",a); target = &a; printf("target = %08X\n",*target); which returns: a = 2.390000 target = 4018F5C3 All good. However this causes a compiler warning "cast.c:12: warning: assignment from incompatible pointer type" Is there any other way to do this which doesn't generate the warning? This is for

创龙基于Xilinx Kintex-7系列高性价比FPGA处理器,用于电力采集

微笑、不失礼 提交于 2019-11-30 13:24:21
TLK7-EVM是一款创龙基于Xilinx Kintex-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅80mm*58mm,底板采用沉金无铅工艺的6层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLK7核心板引出FPGA丰富的资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。 不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 开发板简介 基于Xilinx Kintex-7系列高性价比FPGA处理器; FPGA芯片型号为XC7K325T-2FFG676I,兼容XC7K160T/410T-2FFG676I,NOR FLASH 256Mbit,DDR3 512M/1GByte可选,方便用户二次开发使用; 逻辑单元326K个,DSP Slice 840个,8对高速串行收发器,每通道通信速率高达12.5Gbit/s; 2个SFP+接口,传输速率可高达10Gbit/s,可接SFP+光口模块或SFP+电口模块; 2个工业级FMC连接器,支持高速ADC、DAC和视频输入输出等FMC-LPC标准模块; 2个HDMI接口,每路最高支持输入输出1080P60; PCI

Flush cache to DRAM

落爺英雄遲暮 提交于 2019-11-30 05:18:25
I'm using a Xilinx Zynq platform with a region of memory shared between the programmable HW and the ARM processor. I've reserved this memory using memmap on the kernel command line and then exposed it to userspace via mmap/io_remap_pfn_range calls in my driver. The problem I'm having is that it takes some time for the writes to show up in DRAM and I presume it's stuck in dcache. There's a bunch of flush_cache_* calls defined but none of them are exported, which is a clue to me that I'm barking up the wrong tree... As a trial I locally exported flush_cache_mm and just to see what would happen

Verifying data: 10k/0k (3257%)File does not seem to match flash data. First mismatch at 0x00000000-0x00002800

浪尽此生 提交于 2019-11-30 00:38:00
Why flashcp can not control QSPI flash! My linux is 3.3.0 from http://git.xilinx.com and i found the driver of QSPI to be located at /driver/spi/spi-xilinx-qps.c. The flash is s25fl256s1 of spansion. My dts file about qspi is follow. qspi0: spi@e000d000 { compatible = "xlnx,ps7-qspi-1.00.a"; reg = <0xE000D000 0x1000>; interrupts = <0 19 0>; interrupt-parent = <&gic>; speed-hz = <200000000>; bus-num = <1>; num-chip-select = <1>; #address-cells = <1>; #size-cells = <0>; is-dual = <0>; flash@0 { compatible = "s25fl256s1"; reg = <0x0>; spi-max-frequency = <50000000>; #address-cells = <1>; #size

创龙Xilinx Artix-7系列FPGA开发板规格书

你离开我真会死。 提交于 2019-11-29 23:43:31
TLA7-EasyEVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm*50mm,底板采用沉金无铅工艺的10层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLA7核心板引出FPGA丰富的资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。 不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 开发板简介 基于Xilinx Artix-7系列FPGA处理器; FPGA芯片型号为XC7A100T-2FGG484I,NOR FLASH 256Mbit,DDR3 512M/1GByte可选,兼容XC7A200T-2FBG484I,方便用户二次开发使用; 逻辑单元101K个,DSP Slice 240个,4对速率为6.6Gb/s高速串行收发器,底板用做4通道PCIe Gen2; 3个BANK电压可配,提供1.8V、3.3V和用户自定义方式,使用灵活方便; 核心板采用高速可靠B2B连接器,防反插和保证信号完整性; PCI Express 2.0高速数据传输接口,四通道,每通道通信速率可高达5GBaud; 支持PMOD

创龙基于Xilinx Artix-7系列FPGA处理器

女生的网名这么多〃 提交于 2019-11-29 21:31:34
SOM-TLA7是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板,可配套广州创龙Artix-7开发板使用。核心板尺寸仅70mm*50mm,采用沉金无铅工艺的10层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLA7引出FPGA丰富的资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。 不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进 行底板设计、调试以及软件开发。 核心板简介 基于Xilinx Artix-7系列FPGA处理器; FPGA芯片型号为XC7A100T-2FGG484I,NOR FLASH 256Mbit,DDR3 512M/1GByte可选,兼容XC7A200T-2FBG484I,方便用户二次开发使用; 核心板尺寸为70mm*50mm,采用高速可靠B2B连接器,防反插和保证信号完整性; 工业温度等级-40°C~85°C。 典型运用领域 高速数据采集处理系统 高端图像处理设备 高端音视频数据处理 通信系统 高精度仪器仪表 高端数控系统 增值服务 主板定制设计 核心板定制设计 嵌入式软件开发 项目合作开发 技术培训 来源: https://my.oschina.net/u/4169033

了解XILINX XC7Z010/20开发板资源

随声附和 提交于 2019-11-29 14:33:54
Xilinx基于28nm工艺流程的Zynq-7000 All Programmable SoC平台是ARM处理器和FPGA结合的单芯片解决方案,十分适合既需要FPGA又需要处理器的应用场合,经过这么多年的发展,市场上的应用已经非常多了,是一个十分热门的嵌入式开发平台,MYD-C7Z010/20开发板( http://www.myir-tech.com/product/myc_C7Z010_20.htm ) 深圳米尔科技有限公司比较早推出的一款高性能高品质ZYNQ开发板,感谢米尔科技和面包板社区共同举办的这次试用活动,本人有幸获得一个试用机会可以近距离地感受和体验这款热门的嵌入式开发平台,我们首先对开发板的硬件做个了解,外设情况用图片看可能更直观点,参见米尔科技提供的下面的图片: 这里说明下: 1、SFP,PCIEx2,SATA等外设需要接ZYNQ-7015核心板时才可以用。 2、3个PMOD接口只有接ZYNQ-7020核心板时才可以用, ZYNQ-7010不可以用。 3、开发板没有板载下载器,右上部留有2X7针的JTAG接口,注意是2.54的间距,连接时有三角型的为第一脚,可以参见MYC_C7Z01020入门指导手册.pdf第40页,如下图示: 两个红圈处的三角型表示为第一脚,脚位对应起来就行,考虑到有些下载器连接线不一定很规范

How to initialize contents of inferred Block RAM (BRAM) in Verilog

放肆的年华 提交于 2019-11-29 10:26:26
I am having trouble initializing the contents of an inferred ram in Verilog. The code for the ram is as below: module ram( input clock, // System clock input we, // When high RAM sets data in input lines to given address input [13:0] data_in, // Data lines to write to memory input [10:0] addr_in, // Address lines for saving data to memory input [10:0] addr_out, // Address for reading from ram output reg data_out // Data out ); reg [13:0] ram[2047:0]; // Initialize RAM from file // WHAT SHOULD GO HERE? always @(posedge clock) begin // Save data to RAM if (we) begin ram[addr_in] <= data_in; end