All Projects → jcoc611 → Ie12

jcoc611 / Ie12

A (very) minimal web browser for FPGAs implemented in Verilog

Labels

Projects that are alternatives of or similar to Ie12

Vtr Verilog To Routing
Verilog to Routing -- Open Source CAD Flow for FPGA Research
Stars: ✭ 466 (+7666.67%)
Mutual labels:  verilog
Miaow
An open source GPU based off of the AMD Southern Islands ISA.
Stars: ✭ 650 (+10733.33%)
Mutual labels:  verilog
Cocotb
cocotb, a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python
Stars: ✭ 740 (+12233.33%)
Mutual labels:  verilog
Odrivehardware
High performance motor control
Stars: ✭ 498 (+8200%)
Mutual labels:  verilog
Oh
Verilog library for ASIC and FPGA designers
Stars: ✭ 585 (+9650%)
Mutual labels:  verilog
Platformio Vscode Ide
PlatformIO IDE for VSCode: The next generation integrated development environment for IoT
Stars: ✭ 676 (+11166.67%)
Mutual labels:  verilog
Sd2snes
SD card based multi-purpose cartridge for the SNES
Stars: ✭ 418 (+6866.67%)
Mutual labels:  verilog
Fpga
related to Spartan6 FPGA
Stars: ✭ 5 (-16.67%)
Mutual labels:  verilog
Zipcpu
A small, light weight, RISC CPU soft core
Stars: ✭ 640 (+10566.67%)
Mutual labels:  verilog
Hdl
HDL libraries and projects
Stars: ✭ 727 (+12016.67%)
Mutual labels:  verilog
Uhd
The USRP™ Hardware Driver Repository
Stars: ✭ 544 (+8966.67%)
Mutual labels:  verilog
Corundum
Open source, high performance, FPGA-based NIC
Stars: ✭ 577 (+9516.67%)
Mutual labels:  verilog
Spinalhdl
Scala based HDL
Stars: ✭ 696 (+11500%)
Mutual labels:  verilog
Platformio Atom Ide
PlatformIO IDE for Atom: The next generation integrated development environment for IoT
Stars: ✭ 475 (+7816.67%)
Mutual labels:  verilog
Hydra
a programmable cryptographic coprocessor in verilog
Stars: ✭ 5 (-16.67%)
Mutual labels:  verilog
Open Fpga Verilog Tutorial
Learn how to design digital systems and synthesize them into an FPGA using only opensource tools
Stars: ✭ 464 (+7633.33%)
Mutual labels:  verilog
Verilator
Verilator open-source SystemVerilog simulator and lint system
Stars: ✭ 645 (+10650%)
Mutual labels:  verilog
Naivecpu
A CPU that implementing THCO-MIPS16 instruction set.
Stars: ✭ 5 (-16.67%)
Mutual labels:  verilog
Co4618
This repo is for the 4618 group nember to share code.
Stars: ✭ 5 (-16.67%)
Mutual labels:  verilog
Verilog Ethernet
Verilog Ethernet components for FPGA implementation
Stars: ✭ 699 (+11550%)
Mutual labels:  verilog

IE12

A oh-so-terrible HTML rendering engine implemented for DE1-SoC (C5SEMA5F31C6).

Capable of rendering p, div, h1 tags following a static layout.

How it works

HTML to render is provided through a char array (Verilog wire) in src/reading/dummy.v. Parsing modules in src/parsing parse over the HTML as a language in a Finite State Machine (this is done intentionally, we know that HTML is not regular) and sets rendering flags used by the Rendering module to render text character with the correct size, color and shape etc. Finally the src/rendering module renders the atomic HTML elements onto the VGA.

Attributes currently supported

  • width
  • height
  • color
  • size
  • border

Sample Output On VGA

I know the picture is horrible to say in the least. We could not screen grab from the VGA.

![bug image] (https://github.com/jcoc611/IE12/blob/master/images/example0.jpg "")

![bug image] (https://github.com/jcoc611/IE12/blob/master/images/example1.jpg "")

High Level Circuit Design for this project

![top level circuit design image] (https://github.com/jcoc611/IE12/blob/master/images/topleveldiag.png "")

Bugs we encountered

We required all the code in our project to operate in a synchronous manner, following the on board 50MHz clock; more often than not different intercommunicating modules would be off by one clock cycle or activate on different edges on the clock.

For example, this is what happened when our parsing module was not communicating properly with the rendering module.

![bug image] (https://github.com/jcoc611/IE12/blob/master/images/bug0.jpg "")

Another frequent bug involved the MIF (Memory Intialization File) not "working" properly with the VGA adapter module, resulting in the following instead of a complete white background.

![bug image] (https://github.com/jcoc611/IE12/blob/master/images/bug1.jpg "")

This issue was resolved by changing some critical parameter inside the VGA adapter file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].