{"id":23122862,"url":"https://github.com/wissance/qmtechcycloneivboarddemos","last_synced_at":"2026-01-16T04:03:46.923Z","repository":{"id":177180544,"uuid":"653048295","full_name":"Wissance/QmtechCycloneIVBoardDemos","owner":"Wissance","description":"A set of additional non-official demo projects for Cyclone4 (EP4CE15F23C8) core boards","archived":false,"fork":false,"pushed_at":"2024-11-23T19:03:10.000Z","size":8829,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T04:24:39.887Z","etag":null,"topics":["altera-uart","cyclone-iv","ep4ce15","qmtech","qmtech-board","verilog-demo-projects"],"latest_commit_sha":null,"homepage":"https://wissance.github.io/QmtechCycloneIVBoardDemos/","language":"Verilog","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wissance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-13T10:00:46.000Z","updated_at":"2024-11-23T19:03:14.000Z","dependencies_parsed_at":"2024-04-07T19:28:41.254Z","dependency_job_id":"a6de59d0-cfa4-4cb2-9300-48a0a91acb51","html_url":"https://github.com/Wissance/QmtechCycloneIVBoardDemos","commit_stats":null,"previous_names":["wissance/qmtechcycloneivboarddemos"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Wissance/QmtechCycloneIVBoardDemos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FQmtechCycloneIVBoardDemos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FQmtechCycloneIVBoardDemos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FQmtechCycloneIVBoardDemos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FQmtechCycloneIVBoardDemos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wissance","download_url":"https://codeload.github.com/Wissance/QmtechCycloneIVBoardDemos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FQmtechCycloneIVBoardDemos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["altera-uart","cyclone-iv","ep4ce15","qmtech","qmtech-board","verilog-demo-projects"],"created_at":"2024-12-17T07:31:05.709Z","updated_at":"2026-01-16T04:03:46.896Z","avatar_url":"https://github.com/Wissance.png","language":"Verilog","funding_links":[],"categories":[],"sub_categories":[],"readme":"## QmtechCycloneIVBoardDemos\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/wissance/QmtechCycloneIVBoardDemos?style=plastic) \n![GitHub issues](https://img.shields.io/github/issues/wissance/QmtechCycloneIVBoardDemos?style=plastic)\n![GitHub Release Date](https://img.shields.io/github/release-date/wissance/QmtechCycloneIVBoardDemos?style=plastic)\n![GitHub release (latest by date)](https://img.shields.io/github/downloads/wissance/QmtechCycloneIVBoardDemos/v1.0/total?style=plastic)\n\n## 1. Project description\n\nA set of ***additional*** non-official ***demo projects*** for `QmTech` `Cyclone IV` `Core Board` (`EP4CE15F23C8`).\n\n## 2. Demos\n\n### 2.1 Echo+1 RS232 Demo\n\nFor testing `RS232` [`QuickRS232`](https://github.com/Wissance/QuickRS232) module\nwas designed project `SerialPortEcho`. This project receive bytes from serial port (`COM`) that is configured in following mode - `115200 bit/s, 1 stop bit, even parity, no flow control`. This project do following: `receive byte, add + 1 and send it back`.\n\n![RS232 Timing diagrams](/docs/img/serial_echo_demo.png)\n\nYou could use our application [`Zerial`](https://github.com/Wissance/Zerial) to work with `RS232`:\n\n![Application 4 RS232](/docs/img/serial_echo_app_4test.png)\n\n#### 2.1.1 Demo project on board pinout\n\n* `CLK` - global clock - already on the board -\u003e `DIFFCLK_1P` (`T2`)\n* `RX` - `RS232` `RX` line - connected to `U8` `20 pin` -\u003e `IO_AB19`\n* `TX` - `RS232` `TX` line - connected to `U8` `22 pin` -\u003e `IO_AB20`\n* `RTS` - we **don't USE it** in this demo **because simple `TTL` to `RS232` converter**, but anyway we connect it to `U8` `24 pin` -\u003e `IO_Y21`\n* `CTS` - we don't USE it in this demo because simple `TTL` to `RS232` converter,\n  but anyway we connect it to `U8` `26 pin` -\u003e `IO_W21`\n* `RX_LED` - connect it to `D5 LED` -\u003e `DIFFIO_L2P` (`E4`)\n* `TX_LED` - don't have on board free `LED`, therefore just out it to pin 30 of `U8` (`IO_U21`)\n\nAdditionally RS232-to-TTL converter must be attached to power supply line and ground, that also could be taken from `U8`:\n\n* `3V3` - Any pin from (3, 4)\n* `GND` - Any pin from (1, 2, 61, 62)\n\n### 2.2 Cmd Decode+Encode RS232 Demo\n\nUsually we **don't work with separate bytes**, we are **interacting with device by commands**, device is answering on received command, therefore we wrapped bytes in `Command/Answer` via ***frames***.\n\nIn this demo Frame have a following **format of a Frame** : \n`SOF | Space | Payload Len | Payload |EOF ` , where:\n* `SOF` - start of a frame (2 bytes of `0xFF`)\n* `Space` - separator (0 Byte - `0x00`)\n* `Payload len` - number of payload bytes\n* `Payload` - actual payload, *could be up to 255*, but in demo **restricted to 8**\n* `EOF` - end of a frame (2 bytes of `EE`)\n\nIn this demo (`SerialPortWithCmdProcessor` folder/project) we are having following 2 commands:\n1. *Set 4-byte register* - `0xFF 0xFF 0x00 0x07 0x01 0x02 0x10 0x20 0x30 0x40 0xEE 0xEE` which means `SET` (cmd code `0x01`, 0 byte of payload) **Register** `0x02` (index of registers `0-7`, 1 byte of payload) to value `0x10203040`.\n2. *Get 4-byte register* - (cmd code `0x02`), i.e. reading of register of index `0x03` :\n`0xFF 0xFF 0x00 0x02 0x02 0x03 0xEE 0xEE`\n\n![Interaction by commands in Zerial](/docs/img/zerial_cmd_commands.png)\n\n#### 2.2.1 Testbenches diagrams demonstrating how it works:\n\nExample of how decoder works, we haven't yet encoder (maybe will be in future)\n\n![Frame parser/decoder](/docs/img/serial_cmd_decoder_example.png)\n\nExample of interacting with device by `Commands/Answers`\n\n![Interaction by commands](/docs/img/cmd_commands_demo.png)\n\n#### 2.2.2 Demo project on board pinout\n\n* `CLK` - global clock - already on the board -\u003e `DIFFCLK_1P` (`T2`)\n* `RX` - `RS232` `RX` line - connected to `U8` `20 pin` -\u003e `IO_AB19`\n* `TX` - `RS232` `TX` line - connected to `U8` `22 pin` -\u003e `IO_AB20`\n* `RTS` - we **don't USE it** in this demo **because simple `TTL` to `RS232` converter**, but anyway we connect it to `U8` `24 pin` -\u003e `IO_Y21`\n* `CTS` - we don't USE it in this demo because simple `TTL` to `RS232` converter,\n  but anyway we connect it to `U8` `26 pin` -\u003e `IO_W21`\n* `RX_LED` - connect it to `D5 LED` -\u003e `DIFFIO_L2P` (`E4`)\n* `TX_LED` - don't have on board free `LED`, therefore just out it to pin 30 of `U8` (`IO_U21`)\n\nAdditionally RS232-to-TTL converter must be attached to power supply line and ground, that also could be taken from `U8`:\n\n* `3V3` - Any pin from (3, 4)\n* `GND` - Any pin from (1, 2, 61, 62)\n\n### 2.3 DRAM Explorer + RS232 Demo\n\nis under development....\n\nGive us a STAR for motivating us to do this (**100 stars min to prioritize this work**)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwissance%2Fqmtechcycloneivboarddemos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwissance%2Fqmtechcycloneivboarddemos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwissance%2Fqmtechcycloneivboarddemos/lists"}