Recent Content
Altera TSE driver and example program for lwIP (1.3.2)
After many many requests and complaints about lack of support and/or documentation for support of lwIP for the Altera TSE, I have developed a drop-in TSE driver and example program and made this available to the NIOS II community. This was done for NIOS II 8.1 SP0.01. I don't expect difficulty with version 9.x. This is for the latest version of lwIP (the latest is as of this post) for a minimal program and HTTP server based on the http server in the lwIP contrib folder. The lwIP TSE driver uses the altera_avalon_tse driver and SGDMA as-is. There is a complete (as in 41-step) set of instructions on creating the project and example program. More information and the link to the driver is available here: http://lwip.wikia.com/wiki/available_device_drivers#lwip_1.3.2 Please direct any questions, changes for NIOS II 9.1, or comments to this thread. 12-16-2010 update: This example works with NIOS Version 10.0 with some tweaks to the procedure to create the project. Also, a lwIP 1.4 release candidate has been out for a while and it drops into this example (in place of 1.3) without changes. Bill42KViews0likes257CommentsTutorial: Using the USB-Blaster as an SOPC/Qsys Avalon-MM master
Hi all, I've put together a tutorial on how to use the Altera JTAG-to-Avalon-MM master and Altera Verification IP Avalon-MM BFM Master under both SOPC builder and Qsys. http://www.ovro.caltech.edu/~dwh/correlator/pdf/altera_jtag_to_avalon_mm_tutorial.pdf (http://www.ovro.caltech.edu/%7edwh/correlator/pdf/altera_jtag_to_avalon_mm_tutorial.pdf) http://www.ovro.caltech.edu/~dwh/correlator/pdf/altera_jtag_to_avalon_mm_tutorial.zip (http://www.ovro.caltech.edu/%7edwh/correlator/pdf/altera_jtag_to_avalon_mm_tutorial.zip) The tutorial walks the user through the creation of an SOPC or Qsys system design, and provides scripts that automate the re-generation of the system. The tutorial shows how to simulate using Modelsim-ASE, and shows how to communicate with the hardware using System Console, quartus_stp, and then how to run a TCP/IP server under System Console or quartus_stp, and then communicate with that server from client code written in Tcl/Tk (a simple GUI) and a command-line C interface. Let me know if you like it, or have feedback/suggestions on how to improve the document. Cheers, Dave28KViews0likes119CommentsIs anybody else completely dissatisfied with this new forum?
This used to be a robust forum, lots of new questions everyday and, most impotantly, lots of responses. This new forum is clunky and time consuming to navigate. Nobody seems interested anymore. I used to check-in everyday to see what's new. Not any more.41KViews15likes119Comments- 19KViews0likes107Comments
Simple Socket Server on DE2 w/Davicom DM9000A
updated. Altera's Simple Socket Server demo running on a DE2 board with the Davicom DM9000a driver. here it is....zipped downloaded project source for sss on the de2 board. download link currently unavailable. Includes: - Hardware design (TLD in schematic block diagram format) - Programmable .SOF (time-limited, as developed in Quartus Web Edition v9.2) - SOPC builder system file - DM9000A driver for Nichestack TCP/IP stack / Altera HAL environment (courtesy of Columbia Uni) - Simple socket server software Simply... - (1) Download the .SOF in Quartus Programmer - (2) Open the software workspace in the "/software" directory in Nios II Build Tools (Eclipse IDE) - (3) Open Run >> Run Configurations. Delete the current configuration. Create a new launch configuration selecting the project name under the Project Tab. Ensure your DE2 board is plugged into USB. Check the target connection tab and make sure it is present. - (4) Plug into your local network (DHCP is enabled, or app will default to static IP) - (5) View the Nios II console for debugging information (via JTAG UART) - (6) Telnet into the board from a pc: telnet <ip address> 30. Enjoy the simple socket server demo from Altera! Questions/comments? Fire away below!12KViews0likes98CommentsLinux with MMU on NEEK
Hi, all. I'm testing Linux MMU version, on my NEEK. http://www.nioswiki.com/linux It works fine and I can use "bash" shell. This is the evident proof that we are using the true 'fork' instead of 'vfork'. May be this will depends on the version, but TSE driver claims an error and doesn't work on this design. The error is ERROR: altera_tse.c:1666: request_mem_region() failed I think that this error is caused by misunderstanding of the usage for the function request_mem_region(). Inside of the request_mem_region(), the function __request_region() is called. If the resource has been already registered, this function returns a non-NULL value, that is the pointer for its resource. But the resource 'sgdma_rx_base' is already registered in the initialization process, so this function returns the 'conflict' and if (!request_mem_region(sgdma_rx_base, sgdma_rx_size, "altera_tse")) { is always true. So I made a dirty patch, if (!request_mem_region(sgdma_rx_base, sgdma_rx_size, "altera_tse")) { reg_resource = __request_region(&iomem_resource, sgdma_rx_base, sgdma_rx_size, "altera_tse", 0); if (reg_resource != NULL && reg_resource->flags & IORESOURCE_BUSY) { printk(KERN_ERR "ERROR: %s:%d: request_mem_region() failed\n", __FILE__, __LINE__); ret = -EBUSY; goto out_sgdma_rx; } } Moreover, the author is forgetting that the DMA is working in the physical address world, so we need to set the pointers of descripters like // desc->source = read_addr; desc->source = virt_to_phys(read_addr); // desc->destination = write_addr; desc->destination = virt_to_phys(write_addr); // desc->next = (unsigned int *)next; desc->next = (unsigned int *)((unsigned long)next & 0x1fffffffUL); and so on. Also the frame buffer fb0 will not work well, because the driver 'altfb.c' is not implemented for Linux with MMU version. So I put some codes for altfb_mmap(), like /* We implement our own mmap to set MAY_SHARE and add the correct size */ static int altfb_mmap(struct fb_info *info, struct vm_area_struct *vma) { unsigned long phys_addr, phys_size; unsigned long addr; unsigned long size = vma->vm_end - vma->vm_start; unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; // vma->vm_flags |= VM_MAYSHARE | VM_SHARED; // vma->vm_start = info->screen_base; // vma->vm_end = vma->vm_start + info->fix.smem_len; /* check range */ if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT)) return -EINVAL; if (offset + size > altfb_fix.smem_len) return -EINVAL; vma->vm_flags |= VM_IO | VM_RESERVED; addr = vma->vm_start; phys_addr = altfb_fix.smem_start + offset; if ((offset + size) < altfb_fix.smem_len) phys_size = size; else phys_size = altfb_fix.smem_len - offset; vma->vm_page_prot = __pgprot(_PAGE_PRESENT|_PAGE_READ|_PAGE_WRITE); if (remap_pfn_range(vma, addr, phys_addr >> PAGE_SHIFT, phys_size, vma->vm_page_prot)) return -EAGAIN; return 0; } and rewrite the DMA descripters like desc->next = (void *)virt_to_phys((desc + 1)); So now, I can evoke telnetd and control NEEK through ethernet, and use Nano-X on Linux MMU version, but can't enter ftp session, because 'getservbyname()' function will not work well. I don't know the directory that the souce of 'getservbyname()' is included. Would anyone please tell me where is it? Thank you, in advance.5.8KViews0likes95CommentsDE2_UDP example for download here free (feedbacks are wellcomed)
Hi all. My goal is to get about 3Mbytes/sec data transfer rate from my DE2 board to PC. Here in this example I get about 1.2 Mbytes/sec. I'll accept comments about, how to speed up this, as well as suggests to improve the code, and some feedback from people that have interest in this theme. Could be in this thread or private. You can download the full project from: http://www.btxsistemas.com.ar/net2.zip I've used Quartus II 7.2 full suite. And the Wireshark software (http://www.wireshark.org/) like a net sniffer, but also, I've included in the main project folder, a UDP reciever to test the comunication between the DE2 board and the PC, if you wont to download the wireshark. Don't forget to specify your IP address and your MAC address in the NIOS hello_word "C" code to get it work properly. The main project is a modification of the DE2_NET demostration code that comes with the DE2 board. Have fun, and I'll be waiting for some comments.10KViews0likes94Commentscontinuous averaging using VHDL
I have a question related to VHDL programming. I want to calculate the continuous average. My example code is: process (clk, reset) begin if (reset = '1') then state<=idle; out-val=0; elsif(rising_edge(clk)) then case state is when idle => if req='1' then state= out-1; end if; when out-1 => if done='1' then out-val<=data-in (11 downto 0) state <= done-st; endif; when done-st => ack <='1'; state <= idle; when others => state <= idle; end case; end if; end process; On every positive edge of clock, the value of "out-val" changes. I want to continuously take the average of "out-val". I want to take average of 32 values continuously. Is there a way where I can take average of 32 values continuously till the clock is running. Kindly let me know how can I do that. You can modify the above code as well. Many Thanks,18KViews0likes90Comments
Featured Places
Community Resources
Check out the support articles on personalizing your community account, contributing to the community, and providing community feedback directly to the admin team!Tags
- troubleshooting10,359 Topics
- fpga dev tools quartus® prime software pro4,307 Topics
- FPGA Dev Tools Quartus II Software3,131 Topics
- stratix® 10 fpgas and socs1,542 Topics
- agilex® 7 fpgas and socs1,513 Topics
- arria® 10 fpgas and socs1,374 Topics
- stratix® v fpgas1,312 Topics
- arria® v fpgas and socs1,225 Topics
- Configuration1,060 Topics
- cyclone® v fpgas and socs1,055 Topics
Recent Blogs
As AI, cloud, and high-performance computing systems continue to scale, data center operators need more bandwidth within increasingly constrained power and thermal envelopes. Linear Pluggable Optics (LPO) offers an important path forward by simplifying optical modules, reducing power consumption, and lowering latency. LPO places signal-conditioning responsibilities in the host device, allowing the optical module to operate without the DSP used in traditional retimed optics. This architecture can reduce optical module power by 30% to 40%, helping data center designers increase connectivity density while simplifying cooling and thermal management. Altera Brings LPO to the FPGA Market Altera is the first FPGA provider to publicly demonstrate Linear Pluggable Optics interoperability using production FPGA devices. Continued validation with LPO modules from Amphenol and FS further demonstrates the breadth of the emerging ecosystem supported by Altera. Agilex® 7 FPGAs and SoCs bring the power and latency advantages of LPO to programmable platforms used in SmartNICs, data processing units, AI accelerators, and custom infrastructure. The initial public demonstration established that Agilex 7 devices could successfully interoperate with 400G LPO modules. The latest validation advances that milestone by confirming that the implementation meets the performance requirements expected for deployment in demanding data center environments. Validated for Real Deployment Conditions Comprehensive testing confirms that Agilex 7 F-Tile transceivers meet the electrical and link-performance requirements defined by the 100G-DR-LPO specification. The validation demonstrated: Compliance with the required transmit, receive, and link-performance criteria Successful interoperability with LPO modules from Amphenol and FS Successful LPO connectivity across distances from 1 meter to 500 meters Consistent performance across temperature and voltage conditions Measurable performance margin beyond required thresholds Testing covered demanding signal conditions, voltage variation, and temperatures ranging from minus 40 degrees Celsius to 105 degrees Celsius for electrical characterization. Functional link testing included a 1-meter LPO connection, a 100-meter active optical cable, and 500-meter LPO modules from Amphenol and FS. The results demonstrate robust, repeatable operation across multiple module suppliers and link distances, with measurable margin relative to the required performance limits. For customers, this validation provides confidence that Agilex® 7 support for LPO is ready for real-world deployment. Following the industry’s first public FPGA interoperability demonstration, the solution has now been evaluated against LPO performance requirements using modules from multiple suppliers and over link distances up to 500 meters. Together, these results demonstrate a practical foundation for deploying LPO connectivity in next-generation data center systems. More Efficient Connectivity for AI and Cloud Infrastructure The value of LPO grows as data centers deploy more high-speed optical connections. Eliminating the DSP from each optical module can reduce power across thousands of links, simplify optical module design, ease thermal pressure at the front panel, and support lower-latency data movement. Agilex 7 FPGAs add programmability to this more efficient optical architecture. Customers can combine LPO connectivity with packet processing, acceleration, security, telemetry, and evolving protocol support on a single adaptable platform. This flexibility is especially valuable for AI clusters and cloud infrastructure, where workloads, network architectures, and connectivity standards continue to evolve. Validation with multiple module vendors also gives system designers greater flexibility as the LPO supplier ecosystem continues to develop. Ready for the Next Generation of Data Centers The combination of public interoperability and comprehensive validation marks a major step for LPO in the FPGA market. Altera has demonstrated that LPO works with production Agilex 7 devices and validated that the solution meets key LPO requirements with measurable operating margin. This gives customers a proven foundation for evaluating and deploying lower-power, lower-latency optical connectivity in real data center environments. With Agilex® 7 FPGAs, LPO is ready for real-world data center deployment.
18 days ago0likes
Security requirements are entering a new phase. Systems being designed today may remain deployed for many years, while regulatory expectations, cryptographic standards, and threat models continue to evolve. For designs in industrial, communications, infrastructure, aerospace, defense, and embedded applications, long-term security is becoming a core platform requirement. FPGA-based designs allow designs to meet today’s security needs and evolve with tomorrow’s requirements. Altera is now offering Agilex® 3 and Agilex® 5 devices with PQC-enabled secure boot and configuration support, helping customers prepare for the next generation of security requirements. With the Quartus® Prime Pro Edition 26.1.1 release, customers can begin using a PQC flow that works with Agilex 3 and Agilex 5 based hardware. This milestone extends the security architecture already built into the Agilex platform. Agilex devices use the Secure Device Manager as a hardware root of trust for secure configuration and device management. By combining PQC-capable devices with Quartus software enablement, Altera is helping customers strengthen the FPGA chain of trust as post-quantum requirements move from planning to implementation. The value is immediate and practical. Customers can start designing with supported devices today, while using Quartus 26.1.1 to take advantage of the current software flow. This gives teams a path to address emerging compliance and security expectations without needing a future platform redesign. The same hardware foundation also allows for additional security enhancements over time. Customers designing with PQC-capable Agilex 3 and Agilex 5 devices can benefit from planned software and firmware improvements enabled by the underlying hardware, with no further FPGA hardware upgrade required for those enhancements. Agilex 3 devices bring this capability to power- and cost-optimized FPGA and SoC designs used in embedded, edge, industrial, control, and platform-management applications. Agilex 5 devices extend the same security direction into mid-range FPGA and SoC designs that require higher performance, greater integration, and broader system capability. Post-quantum readiness will continue to advance, and Altera is building that evolution into the Agilex platform roadmap. With PQC-capable Agilex 3 and Agilex 5 devices and Quartus 26.1.1 software enablement, customers have a practical starting point today and a scalable foundation for future security enhancements.
23 days ago0likes
Altera has started to sample Agilex® 5 D-Series FPGA devices to customers, expanding the Agilex 5 family for customers building higher-performance midrange systems. This adds a second Agilex 5 path alongside Agilex 5 E-Series FPGAs, which are already in full production. Agilex 5 E-Series remains the production-ready choice for power- optimized midrange designs. It is a strong fit when customers need production availability, efficient power, and right-sized capability for applications such as industrial control, edge compute, physical AI, and embedded systems. Agilex 5 D-Series extends the family for designs that need more system performance headroom. It is intended for applications that place heavier demands on signal processing, embedded memory, memory bandwidth, and fabric performance, including broadcast, wireless, video, AI-enabled embedded systems, and higher-performance applications that benefit from memory interfaces such as DDR5 and LPDDR5 capability. One Agilex 5 family, two design paths Agilex 5 E-Series Agilex 5 D-Series In full production Engineering samples available Power-optimized midrange designs Higher-performance midrange designs Right-sized logic and efficient power More DSP, embedded memory, EMIF bandwidth, and higher DDR and LPDDR bandwidth Industrial control, edge compute, physical AI and embedded systems Data Center, Communications, Broadcast, video, and AI-enabled embedded systems Together, Agilex 5 E-Series and D-Series enable customers a clearer way to choose the right midrange FPGA path: production deployment today with E-Series, or higher-performance design evaluation with D-Series. Customers evaluating Agilex 5 D-Series can begin real-silicon design work with Quartus® Prime Pro Edition 26.1.1 support. To order Agilex 5 D-Series engineering samples, please contact your Altera representative. Visit the Agilex 5 D-Series page Visit the Quartus Pro 26.1 Page
23 days ago0likes
Quartus® Prime Pro Edition 2026.1.1 expands memory options across the Agilex® FPGA portfolio. Memory is increasingly setting the performance, power, and lifecycle limits of modern systems. AI acceleration, packet processing, storage, video, industrial automation, and edge computing all depend on moving large amounts of data efficiently. At the same time, memory availability and vendor transitions can force design teams to revisit component choices long after a platform architecture has been selected. With Quartus® Prime Pro Edition 2026.1.1, Altera expands memory options across the Agilex portfolio. The release brings higher-speed DDR5 and LPDDR5 options to Agilex 7 M-Series FPGAs and SoCs, broadens component choice through documented LPDDR5X device support, and extends LPDDR5 support to Agilex 3 FPGAs and SoCs. Together, these enhancements give designers greater flexibility to balance performance, power, footprint, memory cost, and supply continuity. What is new with Quartus Prime Pro Edition 2026.1.1 Enhancement Customer value DDR5-6400 and LPDDR5-6400 on Agilex 7 M-Series devices Higher Memory Bandwidth Raises the maximum supported memory data rate from 5600 to 6400 MT/s, an increase of more than 14%. DDR5 delivers up to 204.8 GB/s of aggregate bandwidth, while LPDDR5 provides a lower-power, compact-footprint option for bandwidth-intensive designs. LPDDR5X device use in LPDDR5-compatible mode New Sourcing Option Adds sourcing flexibility when LPDDR5 availability, or component strategy favors an LPDDR5X device. LPDDR5 now available for Agilex 3 devices New Memory Support Added Brings a modern low-power memory option to power- and cost-optimized Agilex 3 device configurations. Two 6400 MT/s paths for high-performance systems Agilex 7 M-Series FPGAs and SoCs already combine high logic density, high-speed connectivity, and advanced external memory functionality in a device family available today in full-volume production. Quartus Prime Pro Edition 2026.1.1 strengthens that family’s offering with DDR5-6400 and LPDDR5-6400 in approved configurations. For DDR5, the move from 5600 MT/s to 6400 MT/s increases the maximum data rate by more than 14%. That additional throughput can help AI, networking, storage, and infrastructure designs sustain higher data movement without expanding the FPGA footprint. It can also give architects more flexibility in how they meet a target bandwidth, including the potential to optimize channel count, DIMM selection, board space, and subsystem complexity when the application and supported configuration allow it. LPDDR5-6400 brings a second option to the same top-line interface rate. LPDDR5 is increasingly relevant beyond mobile products because it combines strong bandwidth with lower I/O power and a compact board footprint. Those characteristics are valuable in embedded systems, smart network interface cards, industrial platforms, edge compute, and other designs, where thermal limits and board area matter alongside performance. The result is a high-end FPGA platform that lets designers choose between DDR5 for capacity and server-class memory options, or LPDDR5 for power and footprint efficiency, while reaching up to 6400 MT/s and 204.8 GB/s of aggregate memory bandwidth in selected Agilex 7 M-Series device configurations. LPDDR5X device compatibility adds practical supply-chain flexibility The LPDDR5X enhancement addresses a different customer need. LPDDR5X devices are backward compatible with the LPDDR5 interface, so components can be used with an Agilex LPDDR5 memory interface while operating at the same speeds, voltages, and specifications as the LPDDR5 configuration. Customers can now design with LPDDR5X components in LPDDR5-compatible mode with greater confidence, backed by documented Altera support process. A complete memory offering across the Agilex portfolio Because the Agilex portfolio spans high-performance, mid-range, and power- and cost-optimized devices, customers can carry a consistent FPGA architecture and Quartus development flow across products with very different memory requirements. That continuity helps reduce redesign effort and gives engineering teams more freedom to scale compute, connectivity, and memory together. Teams can preserve DDR4 or LPDDR4 where product requirements, temperature range, or supply conditions still favor those technologies. New designs can move to DDR5 or LPDDR5 for higher bandwidth and better system efficiency. LPDDR5X device compatibility provides an additional sourcing path without requiring customers to redesign a separate memory interface. Explore Agilex FPGA external memory solutions and review the Quartus Prime Pro Edition 2026.1.1 documentation for supported devices, speed grades, memory components, and configurations.
23 days ago0likes
A customer recently shared with me an interesting way they viewed the updated Altera brand: It’s like a long-time friend who had moved away for a few years but is now back and it’s time to get caught up. One of the things customers might want to 'catch up' on is Altera's efforts with regards to AI. It started when early FPGA products included the first basic digital signal processing (DSP) circuits within the FPGA fabric to improve performance for math-based logic, such as Fast Fourier transforms (FFTs) and finite impulse response (FIR) filters. These early enhancements improved general purpose FPGA-based computing but since 2015, our focus has shifted to improving AI capabilities in both silicon and software tools. DSP capabilities have gotten more sophisticated (fixed point, floating point, small and large bit precisions, etc.) and the quantity of available DSPs within a single device, have increased dramatically. Modern FPGAs are now capable of handling complex equations, especially those needed with the introduction of AI. This historical reminisce catches us up all the way until today’s news, where the latest Altera FPGA family is now broadly available to any customer who wants it; Agilex™ 5 SoC FPGAs, the first FPGAs infused with AI tensor blocks throughout the FPGA fabric. A short list of features that would be attractive to embedded or intelligent edge applications include: For those haven’t heard about Agilex™ 5 devices before today, here is how you can get started: Learn about the family. Review technical details. Download FPGA software. Free for anyone wanting access to Agilex™ 5 E-Series devices: Download Quartus® Prime Pro Test drive hardware (generally available now, lead-times may apply, via franchised distributors): Buy Altera development kits or 3rd party boards and SoMs The initial wave of board/SoM options include 9+ variants, with more coming. Evaluate AI or embedded options: Test out the FPGA AI Suite. Contact Altera sales for limited time introductory pricing. Utilize 3rd party tools (Arm DS, MathWorks) to design for the new, best-in-class Arm dual-A76 + dual-A55 based SoC subsystem or RISC-V based Nios® V soft IP processors. Altera is announcing the Agilex™ 5 family broad availability coincident with Embedded World 2024 because it is one of the key markets this mid-range FPGA family was architected for. Embedded customers clearly told us they perceive a lack of adequate compute in embedded processors, see a big need to fill security gaps, and want to add AI into their next generation systems. Agilex™ 5 devices can address all these concerns. Coming back to our initial topic, AI: GPUs are certainly a popular choice for AI training, but power consumption of GPUs for AI inferencing may be too high for intelligent edge or embedded applications. Instead of adding a separate GPU/AI semiconductor device to an embedded system (resulting in higher cost, more power, more thermal, etc.), why not add the AI function into an FPGA already planned to be used in embedded/edge equipment? For decades, FPGAs have been used in embedded/edge and communication systems for real-time control, IO connectivity, or image/data processing. The estimates on Agilex™ 5 device AI performance look good compared to equivalent class competitors. Because the FPGAs new DSP/tensor is implemented in a fine-grained architecture, it provides the FPGA designer the ability to tune for higher performance or lower power consumption, using the minimum amount of FPGA resources for the desired algorithm. Agilex™ 5 devices – AI key figures of merit: Tensor neural acceleration performance: Up to 26 / 56 TOPS ² Better performance per power efficiency versus embedded market inference GPUs. 1.7x higher frames per second per watt ³ Better raw performance versus other AI targeted FPGAs. 69% higher frames per second ⁴ There are many great reasons to look at this new family of FPGAs. If you are an architect, AI developer, or FPGA designer for embedded systems, don’t wait. As Mark Twain famously said, “The secret of getting ahead is getting started.” Don’t believe the marketing hype, try out your ideas in actual hardware, to see what is ‘possible’. Agilex™ 5 SoC FPGAs are just the latest phase in our DSP/AI journey. Altera, accelerating innovators. Come visit us at Embedded World 2024: Altera booth Hall 5, 5-135 and 5-136. Footnotes: Performance per watt: https://edc.intel.com/content/www/us/en/products/performance/benchmarks/agilex-fpga/ Theoretical peak INT8 calculations for the largest density Agilex 5 E-Series or D-Series devices. 1.7x higher frames per second per watt vs. Nvidia Jetson-class GPUs (AGX Orin) 69% higher frames per second vs. AMD/Xilinx Versal AI devices (VE2302)
26 days ago1like