Coder Social home page Coder Social logo

unike267 / practices Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 190 KB

This repo contains the work developed in the SIEAV Master practices ๐ŸŽ“โœ๏ธ๐Ÿ“š

VHDL 83.14% Python 4.98% C 4.52% Tcl 2.78% Shell 4.58%
fpga ghdl master neorv32 sieav vunit

practices's People

Contributors

unai267 avatar unike267 avatar

Stargazers

 avatar

Watchers

 avatar

practices's Issues

Usermod dialout

Context:

For establish communication via UART with NEORV32 using the CuteCom terminal we must be added user dialout.

With the following command:

sudo usermod -aG dialout $USER

Restart the computer.

Check with the following command that the user dialout is added:

groups

Std_Logic to Std_ULogic conversion issue

Context:

Iโ€™m trying to connect the acceler module that it uses Std_Logic into a NEORV32 CPU that it uses Std_ULogic. For make conversions Iโ€™m using the Standard Logic Type Conversions includes in std_logic_1164 package

The std_logic_1164 package includes this functions:

  function To_bit       (s : STD_ULOGIC; xmap : BIT        := '0') return BIT;
  function To_bitvector (s : STD_ULOGIC_VECTOR; xmap : BIT := '0') return BIT_VECTOR;

  function To_StdULogic       (b : BIT) return STD_ULOGIC;
  function To_StdLogicVector  (b : BIT_VECTOR) return STD_LOGIC_VECTOR;
  function To_StdLogicVector  (s : STD_ULOGIC_VECTOR) return STD_LOGIC_VECTOR;
  function To_StdULogicVector (b : BIT_VECTOR) return STD_ULOGIC_VECTOR;
  function To_StdULogicVector (s : STD_LOGIC_VECTOR) return STD_ULOGIC_VECTOR;

This functions don't contemplate all cases.

For make Std_Logic to Std_ULogic conversion I do it in two steps. Fisrt Iโ€™m use To_bit conversion and then To_StdULogic conversion.

  bit_data <= to_bit(std_logic_data);
  s_ulogic_data <= To_StdULogic(bit_data);

And for make Std_ULogic to Std_Logic conversion Iโ€™m use with select:

  with std_ulogic_data select	
       std_logic_data <= '1' when '1',
                         '0' when others;

The question is, why are not there functions to do this two conversions directly?

Compile a .c program and load it into instruction memory

Context:

To load a .C program to NEORV32 first we must compile it.
There are many alternatives to make this.

Custom GCC location:

Steps:

  • First, download GCC custom with RISC-V toolchain from the following repository.

  • Then, located in the folder where the program we want to compile is located together with the Makefile, execute:

PATH="/home/usainz/Descargas/riscv32-unknown-elf.gcc-12.1.0/bin/:$PATH" make install

The command PATH="/../:$PATH" instructs the system where to search for a program to run.
In this case, the custom GCC binary executables are indicated.
Therefore, the compilation is going to be done through this custom GCC.
The command make is used to automate the build process through the Makefile.
The command install is a target of the command make.
In this case install target will compile, generate and install VHDL IMEM boot image (for application, no header) both in the local folder and in neorv32/rtl/core.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.