fpga

Why does an If statement cause a latch in verilog?

北慕城南 提交于 2020-01-04 02:06:26
问题 I am trying to code a controller/data-path implementation in Verilog, and I am confused on what will cause an unwanted latch. Essentially, I have a state machine updating on the negedge clock. This state machine sends 5 control signals (loadSquare, loadDelta, addDelta, etc.) to the data-path based on what state the machine is in. The code for the data-path and controller is shown below. Data-path //Control lines reg addSquare, addDelta, decDelta; reg loadSquare, loadDelta; //Input lines reg

Weird XNOR behaviour in VHDL

六眼飞鱼酱① 提交于 2020-01-03 11:01:32
问题 The code that is causing problems looks like a normal xnor operation as you can see below: S(1) <= L(16) xnor L(26); This line causes the following error: ncvhdl_p: *E,EXPSMI (HDL/aes_sbox_enc_depth16.vhd,169|14): expecting a semicolon (';') [9.5.1]. ncvhdl_p: *F,MAXERR: maximum error count reached (1). TOOL: ncvhdl 10.20-s075: Exiting on Feb 14, 2012 at 12:56:05 GMT (total: 00:00:01) Anyone an idea what is going wrong here, the semicolon is clearly there. Is it possible that VHDL does not

mmap EINVAL error on UIO device

穿精又带淫゛_ 提交于 2020-01-03 04:24:26
问题 I have trouble mapping physical memory on Xilinx Zynq after attempting to use UIO instead of mapping directly /dev/mem . While the plan is to run the application as a normal user instead of root this is still being run as root . Apparently the first mapping is successful while the rest done to the same file descriptor 12 ( /dev/uio/ps2pl ) fail. While the obvious difference is the offset, it is within the range (see device tree) and it is properly page aligned. This application was working

Ideas for a flexible/generic decoder in VHDL

混江龙づ霸主 提交于 2020-01-02 02:48:06
问题 I want to create an address Decoder that is flexible enough for me to use when changing the number of bits of the selector and of the decoded output signals. So, instead of having a static (fixed input/output size) Decoder that looks something like this : entity Address_Decoder is Generic ( C_INPUT_SIZE: integer := 2 ); Port ( input : in STD_LOGIC_VECTOR (C_INPUT_SIZE-1 downto 0); output : out STD_LOGIC_VECTOR ((2**C_INPUT_SIZE)-1 downto 0); clk : in STD_LOGIC; rst : in STD_LOGIC ); end

If statements causing latch inference in Verilog?

痞子三分冷 提交于 2020-01-01 22:03:17
问题 I am writing a Verilog code for synthesis of an algorithm, I am a little confused on what cases might cause latches to be inferred. Below is one such section of the code, though it works fine in simulation, I am worried it might cause problems on hardware. always@(b1 or b2) ..... // b1_map,b2_map,m1_map & m2_map are derived from combinational functions using b1 & b2 ..... if(b1_map<=20 && m2_map<=20 && b1_map>=0 && m2_map>=0) begin accumulator1[b1_map][m2_map]= accumulator1[b1_map][m2_map] +

Passing parameters to Verilog modules

强颜欢笑 提交于 2020-01-01 09:18:11
问题 I am in the process of writing some Verilog modules for an FPGA design. I looked around the internet to find out how I best parametrize my modules. I see two different methods occurring often. I included an example hereunder of the two different methodologies. Which of these methods is the best way to parametrize modules? What is the difference? Is it vendor-dependent (Altera vs Xilinx)? The first method: Module definition: module busSlave #(parameter DATA_WIDTH = 1) ( input [DATA_WIDTH-1:0]

基于FPGA的SPI协议及设计实现

江枫思渺然 提交于 2020-01-01 05:19:06
基于FPGA的SPI协议及设计实现 博主微信:flm13724054952,不懂的有疑惑的也可以加微信咨询,欢迎大家前来投稿,谢谢! 引言介绍 在电子通信领域里采用的通信协议有IIC,SPI,UART,FSMC等协议。本文将基于FPGA来介绍并设计标准的SPI总线协议,实现FPGA与MCU的数据通信。SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步通信总线,标准的SPI也仅仅使用4个引脚,常用于FPGA和 EEPROM、FLASH、数字信号处理器等器件的数据通信。 SPI的原理介绍 SPI的通信方式是主从方式通信。这种模式通常只有一个主机和一个从机或者一个主机和多个从机;一般来说,标准的SPI协议是由4根线组成,分别是SSEL(从机片选使能信号,也写作 SCS,CSB)、SCLK(串行时钟,也写作SCK)、MOSI(主机输出从机输入Master Output/Slave Input)和MISO(主机输入从机输出Master Input/Slave Output)。有的SPI接口芯片带有中断信号INT,也有的SPI接口芯片只作为从机使用故只有MISO口,不过这里本文将基于FPGA来介绍并设计标准的SPI总线协议。 SPI的标准接口 CSB:从设备片选使能信号。注意的是

创龙基于Xilinx Artix-7系列FPGA处理器的拨码开关、PCIe接口

跟風遠走 提交于 2019-12-30 15:26:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TLA7-EVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm*50mm,底板采用沉金无铅工艺的6层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLA7核心板引出 FPGA 全部资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 拨码 开关 SW5设有 2 位 拨码 开关,开关 向ON的方向拨为1,反之为0 , 硬件及引脚定义如下图: PCIe接口 开发板引出 了PCle Gen2接口 2 通道,单通道通信速率5GBaud,硬件及引脚定义如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3150900

创龙基于Xilinx Kintex-7系列高性价比FPGA开发板PMOD接口、HDMI

∥☆過路亽.° 提交于 2019-12-30 12:26:08
TLK7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅80mm*58mm,底板采用沉金无铅工艺的6层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TLK7核心板引出FPGA丰富的资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。 不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 PMOD接口 开发板引出1个PMOD接口(CON10)。硬件及引脚定义如下图: HDMI CON2和CON3为HDMI接口,每路最高支持输入/输出1080P60。硬件及引脚定义如下图: 来源: CSDN 作者: Tronlong_ 链接: https://blog.csdn.net/Tronlong_/article/details/103763651

创龙基于Xilinx Kintex-7系列高性价比FPGA开发板PMOD接口、HDMI

会有一股神秘感。 提交于 2019-12-30 11:51:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TL K 7-EVM是一款由广州创龙基于Xilinx Kintex-7系列FPG A 自主研发的 核心板+ 底板方式的开发板 , 可快速评估FPGA性能 。核心板尺寸仅 8 0mm*5 8 mm,底板采用沉金无铅工艺的6层板设计,专业的PCB Layout保证信号完整性的同时,经过严格的质量控制,满足工业环境应用。 SOM-TL K 7核心板引出FPGA丰富的资源信号引脚,二次开发极其容易,客户只需要专注上层应用,大大降低了开发难度和时间成本,让产品快速上市,及时抢占市场先机。 不仅提供丰富的Demo程序,还提供详细的开发教程,全面的技术支持,协助客户进行底板设计、调试以及软件开发。 PMOD接口 开发板引出 1个 PMOD 接口( CON10 )。硬件 及引脚定义如下图: HDMI CON 2和 CON3为HDMI接口,每路最高支持输入/ 输出 1080 P60 。硬件 及引脚定义如下图: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3150677