Hot answers tagged

5

If the frequency is low (which is usually the case for audio applications), generally what is done on FPGAs is to use clock enables. The idea is to detect the edges of the input signal with a fast core clock and generate single-cycle pulses. Then use those pulses to sample/latch in the input data and control internal operations. With that setup, there is ...


2

This sounds like it could be a good application for an SoC like a Zynq. Stream the data into DRAM, then let Linux handle writing it out to some form of storage (SD card, USB key, etc.) No need to implement a full filesystem stack in HDL if you can avoid it.


2

Clarification First of, your understanding of a Side Channel Attack is wrong: Generally attackers already know what algorithms are running on hardware, it's mentioned in the datasheet of the chip or product. SCAs are meant to extract pre-encoding data by exploiting an implementation specific data-dependency feature. Existing solutions There's quite a lot ...


2

Strictly speaking, "enumeration" is the process where the BIOS/OS asks all devices what their IDs are. If no driver is found for some device, it still has been enumerated, the OS just does not know what to do with it. The PCI Express specification says that a device is allowed to issue memory or I/O requests only when the "Bus Master Enable" configuration ...


1

Easy option 1: Stream it to a PC using UDP/IP over Gigabit Ethernet. That way you only need minimum FIFO buffering. Risk: You need to bet on that Ethernet cable and the receiving PC software being lossless. Easy option 2: Use a FTDIchip FT600. It is a USB IC which is easy to interface from FPGA, and it has 16kByte built-in FIFO. Bandwidth is supposedly ...


1

Your question is quite broad but here are a few pointers. A convenient way to display data is Excel as the comment pointed out, although if you need to zoom / pan, or display lots of point, excel is quickly limited. (Been there...) One of the best tool for data visualization is Matlab (and perhaps their open-source equivalent). With a few lines of code you ...


1

At the top-level of your simulation you have two modules: FPGA_testing FPGA_testing_tb Thus somehow you managed to include your bare, unconnected "FPGA_Testing" module at the top level (alongside your test bench). In the hierarchy I can see your module because under "FPGA_testing_tb" there is a [+] with the name 'test'. That is where you DUT (Device Under ...


1

The output of your simulation doesn't make much sense because it is a gate level netlist (post fitter stage). What you are seeing in your simulation is a gate level simulation on the optimised netlist. This is where all of the strange named signals have appeared from. The counter value added in ModelSim is dead because it is pre-synthesis signal which doesn'...


1

To elaborate on your external clock idea: of course it's possible to use an external input as a clock, it just makes very little sense doing so for audio, unless you can use this clock for the whole design. If you implement a digital circuit with two independent clocks, you will need to create a block which transfers data between clock domains. Such ...


1

By looking at digital filter on Wikipedia, I would guess that using the digital filter would be easier to implement and use less resources than the state space one, specially if you do not design the state space form into having a very sparse form. The complexity of a filter might be analyzed as how much memory it needs to work, or how many operations (...


1

VHDL is strictly typed language as you know. You have a bit type conversion problem in that statement you assign to RESULT. It should be - RESULT <= std_logic_vector(unsigned(Content(to_integer(unsigned(ADDR)))) * unsigned(K)); Also the RESULT should be of size 6 bits. because you are multiplying 4 bits by 2 bits. Some suggestions: No need of RE and K ...


1

Both operands must be unsigned. And the result must be casted to std_logic_vector. I.e. add .. std_logic_vector( unsigned(Content(to_....))) * unsigned(K) )


Only top voted, non community-wiki answers of a minimum length are eligible