- Aug 24, 2016
-
-
Maciej Lipinski authored
The new gc_single_reset_gen can generate a single reset signal that is synchronous with the system clock domain (input clk). The input to the module is a vector of asynchronous reset signals, such as PCIe reset or button. These input signals are synchronised with the clock domain. Additionally, the powerup count-down is taken care for by the module. The resulting single reset signal is passed through a programmable number of flip-flops at the output (g_out_reg_depth) so that the ISE optimizer has easier work with the global reset funout. This module is a generalized and (hopefully) improved version of the spec_reset_gen.vhd that is copy+pasted into many SPEC-based designed. It was suggested during a review of one of such designes that this reset should be added to general-cores. This is the execution of this feedback. This module might be potentially integrated with the other available reset-generation module (gc_reset.vhd).
-
- Oct 01, 2015
-
-
Grzegorz Daniluk authored
-
- Aug 12, 2015
-
-
Wesley W. Terpstra authored
PCIe must respond to reads within a fairly tight deadline. If we allow too many enqueued operations, that deadline may be missed. Using a smaller FIFO depth causes back-pressure on the PCIe bus, slowing the request arrival rate and thus increasing the time a single WB op can take. Concretely, this makes it possible to perform an SPI flash write within the PCIe time limit.
-
- Jul 07, 2015
-
-
Wesley W. Terpstra authored
If a Wishbone master lowers the cycle line before receiving its acks, it is non-conforming. However, it is probably a good idea to not let an honest slave (whose ack then comes in outside of the cycle) be penalized for that master's misbehaviour. This small change ensures the FIFO does not leak space in this case.
-
- Jul 03, 2015
-
-
Wesley W. Terpstra authored
-
Wesley W. Terpstra authored
-
- Apr 15, 2015
-
-
Mathias Kreider authored
-
Mathias Kreider authored
-
- Feb 25, 2015
-
-
Theodor-Adrian Stana authored
There was a bug in the wb_i2c_bridge that manifested itself a WB slave of the wb_i2c_master module replies by an error to the write command. The bridge FSM was buggy and was not clearing the WB signals, which led to the next WB transfer in the sequence (any access to the I2C slave) failing. This error was fixed by clearing the WB signals on error as well and the slave now replies properly. The WB signals are properly cleared on WB error in the case of a read, so this issue does not exist.
-
- Feb 24, 2015
-
-
Wesley W. Terpstra authored
Sometimes a master needs to stop the flow of acks.
-
Wesley W. Terpstra authored
If you use a PLL locked signal for reset, synchronous reset does not work. That's b/c the clock doesn't run while reset is asserted. One shouldn't do that, but sometimes it is convenient when testing.
-
- Feb 17, 2015
-
-
Cesar Prados authored
-
Cesar Prados authored
-
- Dec 09, 2014
-
-
The simulator is crashing at the end of the LM32 startup code when it tries to access the highest RAM location (at the stack pointer). After this access, the LM32 verilog code already increments the address to be prepared for the next cycle, which will never actually happen because you are at the end of the RAM. It is this address increment in verilog that is one address outside the defined RAM array for which the simulator complains and terminates. The actual synthesized code is perfectly fine; no accesses outside RAM.
-
-
Tried in real hardware and this works better.
-
- Aug 14, 2014
-
-
Tomasz Wlostowski authored
FIFO counters to other clock domain. Allows to constrain the maximum sync chain delay in a single UCF line.
-
Tomasz Wlostowski authored
-
Tomasz Wlostowski authored
gc_sync_register is a multibit cross-clock domain synchronizer, with constrainable input delay, to prevent sync delays with more than 1 clock cycle uncertainity. Used to synchronize counters in dual-clock FIFOs. For Xilinx devices, add this constraint to your UCF file NET "*/gc_sync_register_in[*]" MAXDELAY=<faster_clock_period / 2 here>;
-
Tomasz Wlostowski authored
-
- Aug 04, 2014
-
-
Grzegorz Daniluk authored
-
Grzegorz Daniluk authored
Now wb_spi has generic parameters to configure registers length and number of spi slaves. Reason for that is to keep default configuration in the repository but also allow to adjust settings for WR Switch synthesis (and save resources).
-
Grzegorz Daniluk authored
-
Grzegorz Daniluk authored
The values used in WR Switch software fit in 8-bit registers so using 16-bits in HDL was waste of resources.
-
Grzegorz Daniluk authored
Commit adds new WB register(IFS) that selects to which I2C interface master should talk to. All other interfaces are then hold in idle state. IFS contains also BUSY bit that is written only by host and marks that I2C Master is currently in use and cannot be switched to another I2C interface. Host must clear BUSY flag after the interaction with I2C interface is finished.
-
Grzegorz Daniluk authored
Even when g_num_pins was a small number, the registers inside were 32-bits, e.g. for g_num_pins=1 the module utilized 65 slice registers.
-
- Jul 31, 2014
-
-
Theodor-Adrian Stana authored
This is done to better reflect the interface of the module (structured Wishbone). The documentation of the module is also changed in this respect.
-
Theodor-Adrian Stana authored
-
- Jul 17, 2014
-
-
Tomasz Wlostowski authored
-
Tomasz Wlostowski authored
-
- Jun 30, 2014
-
-
Wesley W. Terpstra authored
If a very fast WB master queues a single-byte SPI command followed immediately by the execute instruction, the SPI command will use the old data in the FIFO. This delays execution by 1 cycle.
-
- Jun 10, 2014
-
-
Mathias Kreider authored
-
- Jun 05, 2014
-
-
Mathias Kreider authored
-
- May 22, 2014
-
-
Mathias Kreider authored
-
- May 21, 2014
-
-
Mathias Kreider authored
-
- May 20, 2014
-
-
Matthieu Cattin authored
It was causing the simulation to fail with designs containing a xwb_register_link component.
-
- May 15, 2014
-
-
Tomasz Wlostowski authored
-
- Apr 30, 2014
-
-
Cesar Prados authored
the sdb address of the wb crossbar. The sdb address is store in a CSR, 0xb, and it can be retrieved from the firmware using an asm macro call.
-
- Apr 25, 2014
-
-
Matthieu Cattin authored
-
Matthieu Cattin authored
-