fpga

基于FPGA的UART回环设计(2)

心不动则不痛 提交于 2020-01-10 07:26:04
基于FPGA的UART发送设计 uart_tx模块的时序图 uart_tx模块的代码 uart_tx测试模块的代码 结束语 uart_tx模块的时序图 从上一篇文章中,我们已经学习了uart_rx的设计,也已经附上了详细的代码,详细同学们已经学会了该模块的设计。这篇文章我们主要介绍uart_tx模块的设计,与上篇文章相同,我们将先给出模块的时序图,再给出相应的代码,最后给出模块的测试代码。uart_tx模块的时序图如下: uart_tx模块的代码 这里没有什么特别解释,同学们结合时序图与代码肯定可以看懂。这里直接上代码: `timescale 1 ns / 1 ps // ********************************************************************************* // Project Name : OSXXXX // Author : zhangningning // Email : nnzhang1996@foxmail.com // Website : // Module Name : uart_tx.v // Create Time : 2020-01-04 14:20:35 // Editor : sublime text3, tab size (4) // CopyRight(c) : All

Bad s_axi_bvalid, s_axi_wready, and s_axi_awready signals using Vivado IIC IP Flow

早过忘川 提交于 2020-01-06 19:40:36
问题 Im attempting to program an IIC Master Receiver with a Repeated Start. After writing the device address to the TX_FIFO s_axi_bvalid, s_axi_wready, and s_axi_awready are 'X'. I'm not sure whats happening. I've attached my timing diagram. Thanks for your help. DESIGN UNDER TEST module i2c_channel #( parameter CHANNEL_OUTPUT_WIDTH = 16 )( input clk, input reset, //the address of the slave; input [6:0] slave_address, //The width of the message expected from the slave at the specified address;

Bad s_axi_bvalid, s_axi_wready, and s_axi_awready signals using Vivado IIC IP Flow

拥有回忆 提交于 2020-01-06 19:39:32
问题 Im attempting to program an IIC Master Receiver with a Repeated Start. After writing the device address to the TX_FIFO s_axi_bvalid, s_axi_wready, and s_axi_awready are 'X'. I'm not sure whats happening. I've attached my timing diagram. Thanks for your help. DESIGN UNDER TEST module i2c_channel #( parameter CHANNEL_OUTPUT_WIDTH = 16 )( input clk, input reset, //the address of the slave; input [6:0] slave_address, //The width of the message expected from the slave at the specified address;

Is there a way to store a matrix of million bits on FPGA?

百般思念 提交于 2020-01-06 14:58:41
问题 I am working towards the implementation of a channel decoder on an FPGA. Esentially , the problem sums up to this : 1) I have a matrix . I do some computations on the rows. Then, I do some computations on the columns. The decoder basically picks up each row of the matrix, performs some operations and move onto the next row. It does the same with the columns. The decoder however operates on a 1023 * 1023 matrix i.e I have 1023 rows and 1023 columns. Small test case that works : I first created

Lattice Fpga Internal clock

半世苍凉 提交于 2020-01-06 07:29:58
问题 I'm trying to configure a lattice MachX03's internal Oscillator. I read the MachXO3 sysCLOCK PLL Design and Usage Guide* and tried using the vhdl code found on page 31 of the documente, but I keep getting this error (VHDL-1261) syntax error near COMPONENT. Can someone tell me how I can get the clock to work using VHDL? here is the code I'm trying to use: LIBRARY lattice; library machXO3; use machXO3.all; COMPONENT OSCH GENERIC( NOM_FREQ: string := "53.20"); --53.20MHz, or can select other

Lattice Fpga Internal clock

ぐ巨炮叔叔 提交于 2020-01-06 07:27:13
问题 I'm trying to configure a lattice MachX03's internal Oscillator. I read the MachXO3 sysCLOCK PLL Design and Usage Guide* and tried using the vhdl code found on page 31 of the documente, but I keep getting this error (VHDL-1261) syntax error near COMPONENT. Can someone tell me how I can get the clock to work using VHDL? here is the code I'm trying to use: LIBRARY lattice; library machXO3; use machXO3.all; COMPONENT OSCH GENERIC( NOM_FREQ: string := "53.20"); --53.20MHz, or can select other

推荐几个EDA网站

喜夏-厌秋 提交于 2020-01-06 03:09:16
http://www.cnblogs.com/jianyungsun/archive/2011/05/12/2044898.html 1. OPENCORES.ORG 这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到。 进入后,选择project或者由http// www.opencores.org/browse.cgi/by_category 进入。 http://www.opencores.org/polls.cgi/list OpenCores is a loose collection of people who are interested in developing hardware, with a similar ethos to the free software movement. Currently the emphasis is on digital modules called ''cores'', since FPGAs have reduced the incremental cost of a core to approximately zero. Activity is centered around the opencores web site http://www.opencores.org - 中文 2. FPGAs are

using values instead of pointers as function arguments

我们两清 提交于 2020-01-04 04:07:06
问题 I have this function "cost_compare" that I would like to offload on FPGA for some experimental purposes. This function, how it is called and its arguments are as follows. The synthesis tool doesn't accept double pointers as arguments for HW functions (in fact it is very picky about using pointers especially to data structures). How do I get rid of the pointers in the function argument list? In other words, how do I convert pointers in this example to values? How does this possible solution

Mapping MMIO region write-back does not work

﹥>﹥吖頭↗ 提交于 2020-01-04 03:38:45
问题 I want all read & write requests to a PCIe device to be cached by CPU caches. However, it does not work as I expected. These are my assumptions on write-back MMIO regions. Writes to the PCIe device happen only on cache write-back. The size of TLP payloads is cache block size (64B). However, captured TLPs do not follow my assumptions. Writes to the PCIe device happen on every write to the MMIO region. The size of TLP payloads is 1B. I write 8-byte of 0xff to the MMIO region with the following

Evaluation Event Scheduling - Verilog Stratified Event Queue

蹲街弑〆低调 提交于 2020-01-04 02:48:09
问题 I am trying to implement a simple event based Verilog simulator in Python, but I actually struggle to find some details in the specification (section 11 of IEEE 1364-2005). Let's say I just perfomed an update event on clk which now obtained the new value 1 (0 before). According to the specification this requires me to schedule 'evaluation events' for sensitive processes. Do I have to schedule the evaluation of an always @(posedge clk) block as active or inactive event? I'm guessing that the