Git Product home page Git Product logo

opene906's Introduction

IP Readme

Welcome to E906! Some key directories are shown below.

|--E906_RTL_FACRORY/
  |--gen_rtl/     ##the source verilog code of E906 
  |--setup/       ##set the environment variables
|--smart_run/     ##the RTL simulation environment
  |--impl/        ##sdc file
  |--logical/     ##the SoC demo and test bench to run the simulation 
  |--setup/       ##GNU tool chain setting
  |--tests/       ##include the test suit, linker file, boot code and so on
  |--work/        ##the working directory
  |--Makefile     ##the simulation script
|--doc/           ##the user and integration manual of E906

Usage

Step1: Get Started

$ cd E906_RTL_FACTORY
$ source setup/setup.csh
$ cd ../smart_run
$ make help
To gain more information about how to use smart testbench.

Step2: Download and install C/C++ Compiler

You can download the GNU tool chain compiled by T-HEAD from the url below:
https://occ.t-head.cn/community/download?id=3948120165480468480

$ cd ./smart_run
GNU tool chain (specific riscv version) must be installed and specified before
compiling *.c/*.v tests of the smart environment. Please refer to the following
setup file about how to specify it: 
    ./smart_run/setup/example_setup.csh

Notes

The testbench supports iverilog, vcs and irun to run simulation and you can use Gtkwave or verdi 
to open the waveform under ./smart_run/work/ directory.

You can get the debugger, IDE and SDK from the url:https://occ.t-head.cn/community/download?id=575997419775328256

Discussion

If you are interested in participating in discussions or improving the "openXuantie" cores, you can scan the DingDing QR code below to join the discussion group.

#/*Copyright 2020-2021 T-Head Semiconductor Co., Ltd.

#Licensed under the Apache License, Version 2.0 (the "License"); #you may not use this file except in compliance with the License. #You may obtain a copy of the License at

#Unless required by applicable law or agreed to in writing, software #distributed under the License is distributed on an "AS IS" BASIS, #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #See the License for the specific language governing permissions and #limitations under the License. #*/

opene906's People

Contributors

purplelegant avatar shangyunhai avatar xuantiecpu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opene906's Issues

Where can we find the Doc 《平 头哥产品ID 定义规范(5.0 版)》?

Hello,

In the spec, you mentioned a doc to decode the reg "MCPUID":
17.6.8 处理器型号寄存器(MCPUID)
处理器型号寄存器(MCPUID)存储了处理器型号信号,其复位值由产品本身决定,具体定义遵循**《平
头哥产品ID 定义规范(5.0 版)》**。

But, where can we find it? Is it a public file in some where?
Thanks.

没有串口的接收函数

在已有的uart.c中没有定义接收函数,只有发送的函数uint32_t ck_uart_putc(p_ck_uart_device uart_device, uint8_t c),并且在寄存器位定义时也只有#define CK_LSR_TRANS_EMPTY 0x20,没有定义CK_LSR_RECE_EMPTY? 但是在uart.h中,有接收和发送位地址
#define CK_UART_RBR 0x00 /* Receive Buffer Register (32 bits, R) */
#define CK_UART_THR 0x00

Underflow flag not set at subnormal/normal boundary

Hello,

In the scope of OpenHW CV32E40P project, OpenE906 Floating-Point Div/Sqrt has been integrated in CVFPU Floating-Point Unit.

During Floating-Point operations verification, a bug has been found in a particular corner case.
The issues are described here.

A correction has been proposed here as well.

Best regards,
Pascal.

OpenE906 编译器扩展指令无法支持

在OpenE906的用户手册中显示支持Cache与Sync两组扩展指令,目前无法找到合适的编译参数支持这两组指令。

如果设置-march=rv32imafc,扩展指令无法支持。报如下错误:
image

如果设置-march=rv32imafcxthead则E906的全部扩展指令都会被使用。会导致非法指令异常的触发(E906的其他扩展指令被使用)。

请问目前的OpenE906使用哪个参数可以支持这两组扩展指令。

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.