Tag Info

New answers tagged

1

Without the Ethernet, I'd say implement your algorithm on a FPGA in pure VHDL/Verilog. In general, that's going to be way better, in terms of power consumption, than running code on a processor. But as soon as you toss UDP/IP (or even worse, TCP/IP) into the mix, you've basically got to have a soft processor running on the FPGA. At that point, it makes more ...


1

From the schematics, it looks like it is driven directly from a FPGA digital out pin (presumably via PWM) through some op-amps to form an active filter for reconstruction. It doesn't look like you can hook up a passive speaker directly, I would just try getting some amplified "multimedia speakers" such as the USB powered ones that come with desktop ...


4

Generally FPGA designs start out similar to ASIC designs - it's all in the simulator. You can get far better visibility for debugging in a simulator than you can ever get in hardware. You do need to build testbenches and functional models, though, which takes time. For complex implementations it's a requirement as you will never work out all the bugs by ...


5

It depends on the kind of work you're doing. Some FPGA designs have massive amounts of effor in the functional logic, none of which really depends very much on critical timing or device-specific hardware. For that you'd usually use a simulator and develop/test things on a PC without going near any hardware. As a basic rule with FPGAs, if you design ...


4

If the new speed grade is slower than the old one, you should resynthesize to make sure that the timing requirements are met. The FPGA will be routed differently to meet the slower timing characteristics, and it is possible that you will have to make adjustments to the HDL source code to get timing closure. This is not necessary if you are moving to a ...


2

My suggestions would be (expanding on what Jeff has suggested): Make sure you run a ground from a pin as close as possible to the clock pin to another pin as close as possible to the clock pin. Twist the clock and ground wires together. Keep them as short as possible. Do you have a good high bandwidth scope to check the clock with, so you can see any ...


5

12.5 Mhz (80 ns cycle) should be doable. Wire up your clock lines first. Pick placement that keeps them short and cut the jumpers to length so that you don't have big loopy antennas. Verify that you are getting nice square clocks before wiring the rest.


0

Breadboards are crap for high speed. You should look in to making a custom PCB. Install some sort of layout software (kicad, eagle) and then send your design off to OSH park. Probably will cost around $30 and you will have far fewer problems with signal integrity.


0

Ken Chapman (Xilinx employee) provides a simple and lightweight UART module as an external I/O device for his 8-bit processor (PicoBlaze). These UART modules (RX and TX) can be used on every Xilinx FPGA. Each module has a simple byte interface. This processor and it's periphery comes with a lot of documentation and examples :) => Search "PicoBlaze" on the ...


2

I would suggest either writing a UART module from scratch or finding one online. Then all you would need to do is write a wrapper that interfaces the UART to your registers. Here is one possible open source Verilog UART module that I wrote a while ago: https://github.com/alexforencich/verilog-uart This particular module uses the AXI stream interface, so ...


2

First, when designing FPGA's we mostly just think about "resources" rather than "space". Resources are things like routing resources, logic cells, RAM blocks, multiply-add blocks, etc. It looks like you're concerned about minimizing the use of routing resources, and willing to use more logic cells to do that. Really, the best way to answer your questions ...


1

The FPGA layout will not really care about your modules at all, but rather create one big conglomerate of gates and then try to find an optimal layout. Enable signals in FPGAs are usually used only on the registers, which have a dedicated enable input. If you disable a module by pulling its enable signal low, you are close to the lowest possible power ...


2

Majenko's answer is correct but not entirely complete. The whole thing rests on ARM's "TrustZone". This is a stronger version of the normal concept of "ring 0" security found in operating systems, or a "hypervisor". It's a top level operating system that boots from the incorruptible ROM, configures the MMU, and then boots the "user" (phone) operating ...


2

The Secure Enclave is a separate CPU core within the CPU. It has its own RAM, ROM, etc, and consequently runs its own separate OS. You can think of it as a computer within a computer, and that "inner" computer is heavily firewalled off from the "outer" computer so only certain data can pass from one to the other. The theory is that your especially secure ...


2

I haven't worked with IIR filters yet, but if you only need to calculate the given equation y[n] = y[n-1]*b1 + x[n] once per CPU cycle, you can use pipelining. In one cycle you do the multiplication and in one cycle you need to do the summation for each input sample. That means your FPGA must be able to do the multiplication in one cycle when clocked at ...


2

I've done this a few times myself. Generally, the design tools will choose between a fabric implementation and a DSP slice based on the synthesis settings. For instance, for Xilinx ISE, in the synthesis process settings, HDL Options, there is a setting "-use_dsp48" with the options: Auto, AutoMax, Yes, No. As you can imagine, this controls how hard the ...


0

A Logic Element (LE) is made up of a number of gates. Exactly how long it takes to propagate data from the inputs to the outputs depends just on the combination of gates that the signals pass through, and that depends on how the LE is programmed. The main controlling factor of the LE is the Look-up Table (LUT). This has 4 data inputs and 4 data outputs, ...


1

It was really a faulty cable. I don't know if the problem is the chipset itself or a wire. Anyway, I bought a new cable with a different chipset and everything is ok now! This is the faulty one Bus 002 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter This is the one that worked Bus 002 Device 006: ID 067b:2303 Prolific Technology, ...


0

Xilinx has a good build-in help on synthesis, map, P&R and bitgen options. You can open them by opening syntheses/map/P&R or bitgen properties and then clicking on help. This help gives a short overview on every selectable option, it's values and the commandline name. There is also UG628 - Command Line User Tools which explains the bitgen options ...


0

I'd use both a transistor between the FPGA and the relays to reduce the currents through the FPGA, and add a flyback diode across the relays to protect the transistor.


1

The estimate given in the description of the IP core is just that: an estimate. Actual size and layout may vary during synthesis, depending on other components stuck signals timing constraints optimization level and possibly a few others. The estimate given for a particular FPGA architecture is usually not that far off in absolute space used, but ...


10

You need to use a transceiver when you want to bring out high speed signals from inside the FPGA and interface with the real world. Typical examples are to communicate with other high speed parts on the same board (for example another FPGA or ADC) or to interface off board (for example using PCI, HDMI or ethernet). In order to send these high speed ...


2

TL;DR: There's nothing which makes it technically impossible, but there are a number of limitations, and "real" ARM CPUs do a better job of this anyway. The biggest difference between the older CPUs that were often paired with these MMUs and modern Cortex-M microcontrollers is that the memory bus was fully external on those CPUs: all memory reads and writes ...


6

The key difference between FPGA's and microprocessors/microcontrollers is that a µp is a specialized circuit, and an FPGA is a general circuit that can be 'run-time' configured. In a fair comparison (same die size and process parameters) a µp/µc will win for what it is designed for: running vastly different sequences of instructions, with little repetition ...


8

See When can FPGA's be used and Microcontrollers/DSPs not? Microprocessors will nearly always win on throughput/watt. For total throughput, you can get quite good results with DSP chips, larger microcontrollers, or ARMs with onboard graphics cores. Although it may be hard to repurpose the graphics cores to other applications if the platform doesn't ...


0

Is there a special conversion happening?! Your image for slide 25 corresponds to figure 9.10 found on Page 506 and slide 27 corresponds to table 9.3 found on Page 507 in the book "Digital Arithmetic" by Miloŝ D. Ercegovac and Tomás Lang, 2004, ISBN: 1-55860-798-6. If you look in the book the text below figure 9.10 (b) on Page 506, Example 9.2: The ...


0

If you are running an application on top of OS, NFS/FTP/scp are some of the possible ways. If you are running a full OS image, you could still use tftp with some boot-loader like uboot as chris stratton mentioned above. For example, Boot-loader --> tftp --> Target_image Resetting the target board is still a problem that should be solved outside the ...


2

You would need either an ethernet-to-jtag bridge (hardware and software): this keeps you current interface intact, including debugging. I have no idea whether this exists for your setup. or an ethernet bootloader running on the chip + development environment settings that can work with a bootloader + a way to reset the chip (press the switch?) + a way ...


2

This is rather like asking "how do identify which electrical potential is the ground". Both "ground" and "clock" are designations rather than physical properties. You choose a signal and use it as the clock. Now, there are various properties of signals usually used as clocks which a human using a scope would use to identify a clock. High frequency square ...


2

By definition, any signal whose edges are used to trigger other activity is a clock. This can be denoted in HDL by creating a process that is controlled at least in part by a signal's rising or falling edges. In a schematic diagram, this is denoted by connecting the signal to the clock input of one or more edge-triggered flip-flop primitives. Most FPGAs are ...


1

Good questions. I have been researching this topic myself recently, and will try to provide some brief answers here. what exactly is TMDS vs LDVS? LVDS (low-voltage differential signaling) is simply an electrical specification for a differential signaling interface, while TMDS (transition-minimized differential signaling) is both an electrical ...


1

TMDS uses CML (Current Mode Logic) that is terminated to Vcc at the receiving end. LVDS from the standard (IEEE644) is a voltage mode driver that is terminated across the pairs also at the receiving end. But it's not as simple as that, as LVDS drivers often control slew rate on transitions to prevent ringing and other nasty effects, and during this mode the ...


0

Try: improved guessing for 1st variable Your number can be considered: A * 2^n The 1st approximation is then: A * 2^(n/2) Say you are using a 32-bit number, with 24 bits used to hold fractions. For numbers >1: 1. Count the number of bits used in the integer portion (N) 2. Halve this number (N' = N/2, ie. right shifted 1 bit) 3. Right shift the original ...



Top 50 recent answers are included