-
Notifications
You must be signed in to change notification settings - Fork 11
UART peripheral #154
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
TheDeepestSpace
wants to merge
33
commits into
main
Choose a base branch
from
uart_peripheral
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
UART peripheral #154
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
e8658c9
Integrate UART peripheral with the core
RunzeZhu28 c7a6fd8
Delete quartus workspace/inst_mem.v
RunzeZhu28 0a72099
Delete quartus workspace/ram_m10k.v
RunzeZhu28 4dea453
Merge branch 'uart_peripheral'
RunzeZhu28 e5262b0
Update ControlFSM.sv
RunzeZhu28 b348567
Lint changes
RunzeZhu28 aae5bf5
Lint update
RunzeZhu28 f998b48
lint update
RunzeZhu28 6822df9
spacing
RunzeZhu28 afb4550
lint fixing
RunzeZhu28 00d5a9f
lint fixing
RunzeZhu28 809281a
lint fixing
RunzeZhu28 4ddbd36
lint fixing
RunzeZhu28 61a8686
lint fixing
RunzeZhu28 8bf5ee8
lint fixing
RunzeZhu28 42ef5e0
lint fixing
RunzeZhu28 f7a1205
lint fixing
RunzeZhu28 d98e1d5
lint fixing
RunzeZhu28 2e0da8f
lint fixing
RunzeZhu28 ea3666f
lint fixing
RunzeZhu28 b83dffd
lint fixing
RunzeZhu28 c7a5955
lint fixing
RunzeZhu28 5a55d1c
fix de1-soc build
TheDeepestSpace 06b1062
Merge branch 'main' into uart_peripheral
TheDeepestSpace 880e9e2
add pin assignments for uart
TheDeepestSpace 9ef3c2b
fix de1-soc base tb
TheDeepestSpace 663dae6
remote nested quartus workspace
TheDeepestSpace e542d2a
gitignore .idea/ preferences
TheDeepestSpace 95dbc6e
remove autogenerated mem files
TheDeepestSpace 6b4a268
undo ^M drops to cdf
TheDeepestSpace cab2453
undo ^M drops to qpf and qsf
TheDeepestSpace 69bd415
delete bak files
TheDeepestSpace 3bbd5d7
Moved rx_ready assignment so that it is after the declaration of the …
marwannismail File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| .idea/* | ||
|
|
||
| *.vvp | ||
| *.vcd | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -22,4 +22,4 @@ Mihir Maringanti | |
|
|
||
| Marwan Ismail (marwannismail) | ||
|
|
||
| Tony Zhu (RunzeZhu28) | ||
| Tony Zhu (RunzeZhu28) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,65 +1,65 @@ | ||
| FROM public.ecr.aws/lts/ubuntu:22.04_stable AS builder | ||
| ARG DEBIAN_FRONTEND=noninteractive | ||
| ARG KEYRING_PATH=/usr/share/keyrings | ||
| ARG APT_SOURCES_PATH=/etc/apt/sources.list.d | ||
| # update and upgrade | ||
| RUN apt update && apt upgrade -y | ||
| # install essentialls | ||
| RUN apt update && \ | ||
| apt install -y \ | ||
| man make build-essential git zsh vim curl wget procps gnupg gnupg2 ca-certificates zip \ | ||
| software-properties-common | ||
| # unminimize the system | ||
| RUN bash -c "yes | unminimize" | ||
| # create dev sudo user | ||
| RUN useradd --create-home dev && \ | ||
| usermod --append --groups sudo dev && \ | ||
| apt update && apt install -y sudo && \ | ||
| echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | ||
| # build riscv toolchain | ||
| RUN sudo apt-get install -y \ | ||
| autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk \ | ||
| build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev && \ | ||
| cd /tmp && \ | ||
| git clone --recursive https://github.com/riscv/riscv-gnu-toolchain.git && \ | ||
| git clone --recursive https://github.com/riscv/riscv-opcodes.git && \ | ||
| cd riscv-gnu-toolchain && \ | ||
| ./configure --prefix=/opt/riscv --with-arch=rv32i --with-abi=ilp32 && \ | ||
| sudo make | ||
| # main image stage | ||
| FROM public.ecr.aws/lts/ubuntu:22.04_stable | ||
| ARG DEBIAN_FRONTEND=noninteractive | ||
| ARG KEYRING_PATH=/usr/share/keyrings | ||
| ARG APT_SOURCES_PATH=/etc/apt/sources.list.d | ||
| # update and upgrade | ||
| RUN apt update && apt upgrade -y | ||
| # install essentialls | ||
| RUN apt update && \ | ||
| apt install -y \ | ||
| man make build-essential git zsh vim curl wget procps gnupg gnupg2 ca-certificates zip \ | ||
| software-properties-common | ||
| # unminimize the system | ||
| RUN bash -c "yes | unminimize" | ||
| # create dev sudo user | ||
| RUN useradd --create-home dev && \ | ||
| usermod --append --groups sudo dev && \ | ||
| apt update && apt install -y sudo && \ | ||
| echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | ||
| # get toolchain artifacts from builder stage | ||
| COPY --from=builder /opt/riscv /opt/riscv | ||
| ENV PATH="/opt/riscv/bin:${PATH}" | ||
| USER dev | ||
| FROM public.ecr.aws/lts/ubuntu:22.04_stable AS builder | ||
|
|
||
| ARG DEBIAN_FRONTEND=noninteractive | ||
| ARG KEYRING_PATH=/usr/share/keyrings | ||
| ARG APT_SOURCES_PATH=/etc/apt/sources.list.d | ||
|
|
||
| # update and upgrade | ||
| RUN apt update && apt upgrade -y | ||
|
|
||
| # install essentialls | ||
| RUN apt update && \ | ||
| apt install -y \ | ||
| man make build-essential git zsh vim curl wget procps gnupg gnupg2 ca-certificates zip \ | ||
| software-properties-common | ||
|
|
||
| # unminimize the system | ||
| RUN bash -c "yes | unminimize" | ||
|
|
||
| # create dev sudo user | ||
| RUN useradd --create-home dev && \ | ||
| usermod --append --groups sudo dev && \ | ||
| apt update && apt install -y sudo && \ | ||
| echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | ||
|
|
||
| # build riscv toolchain | ||
| RUN sudo apt-get install -y \ | ||
| autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk \ | ||
| build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev && \ | ||
| cd /tmp && \ | ||
| git clone --recursive https://github.com/riscv/riscv-gnu-toolchain.git && \ | ||
| git clone --recursive https://github.com/riscv/riscv-opcodes.git && \ | ||
| cd riscv-gnu-toolchain && \ | ||
| ./configure --prefix=/opt/riscv --with-arch=rv32i --with-abi=ilp32 && \ | ||
| sudo make | ||
|
|
||
| # main image stage | ||
| FROM public.ecr.aws/lts/ubuntu:22.04_stable | ||
|
|
||
| ARG DEBIAN_FRONTEND=noninteractive | ||
| ARG KEYRING_PATH=/usr/share/keyrings | ||
| ARG APT_SOURCES_PATH=/etc/apt/sources.list.d | ||
|
|
||
| # update and upgrade | ||
| RUN apt update && apt upgrade -y | ||
|
|
||
| # install essentialls | ||
| RUN apt update && \ | ||
| apt install -y \ | ||
| man make build-essential git zsh vim curl wget procps gnupg gnupg2 ca-certificates zip \ | ||
| software-properties-common | ||
|
|
||
| # unminimize the system | ||
| RUN bash -c "yes | unminimize" | ||
|
|
||
| # create dev sudo user | ||
| RUN useradd --create-home dev && \ | ||
| usermod --append --groups sudo dev && \ | ||
| apt update && apt install -y sudo && \ | ||
| echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | ||
|
|
||
| # get toolchain artifacts from builder stage | ||
| COPY --from=builder /opt/riscv /opt/riscv | ||
| ENV PATH="/opt/riscv/bin:${PATH}" | ||
|
|
||
| USER dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,4 +13,4 @@ int main(void) { | |
| } | ||
|
|
||
| return 0; | ||
| } | ||
| } | ||
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # Timing constraints for UTOSS RISC-V processor | ||
|
|
||
| # Create base clock constraint for 50MHz input | ||
| create_clock -name {CLOCK_50} -period 20.000 [get_ports {CLOCK_50}] | ||
|
|
||
| set_false_path -from [get_ports KEY[0]] | ||
| set_false_path -to [get_ports KEY[0]] | ||
|
|
||
| set_false_path -from [get_ports LEDR] | ||
| set_false_path -to [get_ports LEDR] | ||
|
|
||
| # Set input/output delays relative to the 5MHz clock | ||
| # Assume external signals are synchronized to the 5MHz domain | ||
| #set_input_delay -clock {clk_5mhz} -max 50.0 [get_ports {KEY[*]}] | ||
| #set_input_delay -clock {clk_5mhz} -min 10.0 [get_ports {KEY[*]}] | ||
|
|
||
| #set_output_delay -clock {clk_5mhz} -max 50.0 [get_ports {LEDR[*]}] | ||
| #set_output_delay -clock {clk_5mhz} -min -10.0 [get_ports {LEDR[*]}] | ||
|
|
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think there's a construct that looks like
case (address) insidethat allows specifying ranges of values in thecase's arms. I think it should be synthesizable, not sure how efficient though.