CN112199317B - Bridging system and bridging method for RISCV processor to access Flash memory - Google Patents

Bridging system and bridging method for RISCV processor to access Flash memory Download PDF

Info

Publication number
CN112199317B
CN112199317B CN202011163715.0A CN202011163715A CN112199317B CN 112199317 B CN112199317 B CN 112199317B CN 202011163715 A CN202011163715 A CN 202011163715A CN 112199317 B CN112199317 B CN 112199317B
Authority
CN
China
Prior art keywords
icb
spi
signal
flash memory
riscv
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011163715.0A
Other languages
Chinese (zh)
Other versions
CN112199317A (en
Inventor
李丽
赵毅峰
傅玉祥
徐瑾
沈思睿
杨和平
何书专
陈铠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202011163715.0A priority Critical patent/CN112199317B/en
Publication of CN112199317A publication Critical patent/CN112199317A/en
Application granted granted Critical
Publication of CN112199317B publication Critical patent/CN112199317B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

The invention provides a bridging system and a bridging method for accessing a Flash memory by an RISCV processor, which can realize the high-speed reading of the Flash memory data by the RISCV processor. The bridging system includes: RISCV processor bus interface, the RISCV processor adopts self-defined ICB bus protocol; a Flash memory bus interface, wherein the Flash memory adopts an SPI bus protocol; the ICB control module is used for processing bus transactions initiated by the RISCV processor; the SPI bus module is used for initiating a bus transaction request to the Flash memory; and the ICB-SPI interaction module is used for realizing the signal interaction between the ICB control module and the SPI control module. The design of the asynchronous circuit ensures that both the RISCV processor and the Flash memory can work under respective highest frequency, thereby ensuring the working efficiency of the whole system. Compared with the traditional bridge module, the invention does not need asynchronous FIFO to complete the cross-clock domain signal processing, and can reduce the area consumption of the bridge module.

Description

Bridging system and bridging method for RISCV processor to access Flash memory
Technical Field
The invention relates to a bridge system and a bridge method for a RISCV processor to access a Flash memory, relating to the field of system on chip (SoC) data transmission.
Background
After the processor is powered on, a fixed initialization program called a BIOS (basic input output system) program needs to be read, and the BIOS program can help the processor to complete power-on self-test and most basic configuration. The BIOS program is usually fixed in a Read Only Memory (ROM), but a high-speed parallel bus is usually adopted in the processor, a low-speed serial bus is usually adopted in the memory, different bus protocols are incompatible, and the processor cannot be directly connected with the memory to complete reading of memory data. Therefore, a bridge module is required to be added in the processor to realize the conversion between the processor bus protocol and the memory bus protocol.
In the prior art, the RISCV processor and the Flash memory cannot be interconnected, the traditional bridge module needs to finish cross-clock domain signal processing by means of asynchronous FIFO, and the area consumption of the bridge module is large.
Disclosure of Invention
The invention aims to: it is an object to provide a bridge system for RISCV processor to access Flash memory to solve the above problems of the prior art. A further object is to propose a bridging method based on the above system.
The technical scheme is as follows: a RISCV processor access Flash memory bridge system comprising a RISCV processor interface: the bridge module is used as a slave device of the RISCV processor and is connected with the ICB bus; flash memory interface: the bridging module is used as a main device of the Flash memory and is connected with the SPI bus; an ICB control module: the RISCV processor is used for processing read transactions initiated by the RISCV processor, responding to the RISCV processor according to an ICB bus protocol and registering read control information and read address information; an SPI control module: the system is used for initiating a read transaction to the Flash memory and analyzing and storing data returned by the Flash memory according to an SPI protocol; ICB-SPI interactive module: and processing the control signal and the address signal of the ICB control module and then sending the processed signals to the SPI control module, and processing the control signal and the data signal of the SPI control module and then sending the processed signals to the ICB control module.
In a further embodiment, the bridge module is used as a slave device of the ICB bus, and the ICB control module analyzes a read control signal and an address signal of the ICB bus under the control of the ICB state machine, and returns data to the RISCV processor after receiving a read data valid signal sent by the ICB-SPI interaction module.
In a further embodiment, the bridge module is used as a master device of the SPI bus, and the SPI control module initiates a read control signal and an address signal to the SPI and receives data returned by the memory after receiving a start signal sent by the ICB-SPI interaction module under the control of the SPI state machine.
In a further embodiment, the bridge module is designed by adopting an asynchronous circuit, the ICB control module works under a clock domain of the RISCV processor (high clock frequency), and the SPI control module works under a clock domain of the Flash memory (low clock frequency), so that the RISCV processor and the Flash memory can respectively work under respective highest working frequencies, and the running efficiency of the whole SoC system can be ensured.
In a further embodiment, clock domain crossing processing of asynchronous signals is performed on an ICB start signal and an SPI end signal; the address signal is updated only when the ICB starting signal is effective, and the address signal is in a stable state when the SPI clock domain samples; the data signal is updated only when the SPI end signal is active, and the data signal is in a steady state when sampled in the ICB clock domain.
In a further embodiment, the ICB-SPI interaction module implements mapping of control signals: converting a read enabling signal of the ICB bus into an 8-bit read operation code of the SPI bus; serial-to-parallel conversion of control signals and address signals: inputting 8-bit control signals and 24-bit address signals of a Flash memory in parallel and outputting the signals in series; parallel-to-serial conversion of data signals: receiving 32bit data serial input and parallel output returned by a Flash memory; asynchronous signal clock domain crossing processing: the start signal is synchronized from the ICB clock domain to the SPI clock domain, and the end signal is synchronized from the SPI signal to the ICB clock domain.
A bridge method for accessing Flash memory by RISCV processor includes the following steps:
step 1, realizing the interconnection of an RISCV processor and the bridge module through an RISCV processor bus interface;
step 2, realizing the interconnection between the Flash memory and the bridging module through a Flash memory bus interface;
step 3, receiving and responding to a read request initiated by the RISCV processor according to the ICB bus protocol requirement, and returning to the ICB control module of the data of the corresponding address of the Flash memory;
step 4, initiating a read request to the Flash memory according to the requirements of the SPI bus protocol, and acquiring the data of the address corresponding to the Flash memory;
and 5, converting the control signals, the address signals and the data signals of the ICB control module and the SPI control module through the ICB-SPI interactive module.
The RISCV processor accesses the bridge module of Flash memory and is further designed in that the ICB control module comprises 3 working states: when a reading request initiated by the RISCV processor is received, registering a reading address signal of an ICB bus and generating an ICB starting signal; when an ICB ending signal of the ICB-SPI interactive module is sampled, sampling the read data of the interactive module, and assembling the read data on a read data bus of an ICB bus; and after receiving the read response signal sent by the RISCV processing, the ICB control module completes one read operation and waits for the RISCV processor to initiate the next read request.
The bridge module of Flash memory between RISCV processor is further designed in that SPI control module includes 3 working states: after an SPI starting signal of the ICB-SPI interactive module is sampled, the control operation code and the address signal are sent in 32 clock cycles; after the control signal and the address signal are sent, a register sent by a Flash memory is received, 32 clock cycles are continued, and 32bit data are received; and after the data reading and sampling are finished, the SPI control module finishes one-time access to the Flash memory and waits for a next SPI starting signal of the ICB-SPI interaction module.
The RISCV processor is further designed to be connected with a bridge module of a Flash memory, wherein the ICB-SPI interaction module can synchronize an ICB starting signal to an SPI clock domain to obtain an SPI starting signal and synchronize an SPI ending signal to an ICB clock domain to obtain an ICB ending signal; the interactive module realizes the parallel input and serial output of the address signals through the shift register; the interaction module realizes serial input and parallel output of the read data signals through the shift register.
Has the advantages that: the high-efficiency protocol conversion bridge module provided by the invention can greatly reduce the development difficulty of the RISCV processor and realize the high-speed reading of the RISCV processor to the Flash memory. The design of the asynchronous circuit ensures that both the RISCV processor and the Flash memory can work under respective highest frequency, thereby ensuring the working efficiency of the whole system. Compared with the traditional bridge module, the invention does not need asynchronous FIFO to complete the cross-clock domain signal processing, and can reduce the area consumption of the bridge module.
Drawings
FIG. 1 is a timing diagram of an ICB bus protocol read operation of the RISCV processor.
Fig. 2 is a timing diagram of an SPI bus protocol read operation of the Flash memory.
FIG. 3 is a diagram of the interconnection structure of the RISCV processor and the Flash memory.
FIG. 4 is a schematic diagram of the overall structure of the ICB-SPI bus bridge module.
FIG. 5 is an ICB control module state transition diagram.
FIG. 6 is a SPI control module state transition diagram.
FIG. 7 is a schematic diagram of the SPI-ICB end signal synchronization circuit.
FIG. 8 is a schematic diagram of an ICB-SPI enable signal synchronization circuit.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without one or more of these specific details. In other instances, well-known features have not been described in order to avoid obscuring the invention.
The RISCV processor has the characteristics of low cost and automatic controllability (without various authorizations), and compared with the processor with the traditional architecture, the RISCV architecture is simpler, and the open source characteristic enables us to modify the hardware architecture of the processor, so that the RISCV processor can adapt to the rapid development in the fields of Internet of things, cloud computing and artificial intelligence. The RISCV processor uses an ICB bus, the ICB bus is a self-defined high-speed bus and is provided with two independent channels, a command channel is used for sending address and control information, a return channel is used for returning a read-write operation result, and each channel is subjected to handshake control through valid and ready signals; separate address and data phases are used; addressing by adopting an address interval, and supporting any number of master-slave numbers; address non-aligned data access is supported.
The first embodiment is as follows:
the read timing diagram for the ICB bus is shown in fig. 1.
The Flash memory usually adopts an SPI bus interface, and the SPI is a serial peripheral interface, so that the Flash memory has the characteristics of synchronous transmission, high transmission rate, full duplex support and simple communication mode. The SPI bus only comprises 1 clock line, 1 chip selection line and 2 data lines, and therefore the pin requirement of the processor can be greatly reduced, and the area of the processor is reduced. The SPI bus master and slave devices all transmit data on the falling edge, the rising edge completes data sampling, and the read sequence of the Flash memory is as shown in fig. 2. The RISCV processor accesses the bridge module of the Flash memory, is connected with the ICB bus of the RISCV processor through the ICB bus interface and is connected with the external Flash memory through the SPI bus interface, and the bridge module is used as a module of the RISCV processor SoC to realize the chip-to-chip interconnection of the RISCV processor and the Flash memory. The interconnect structure is shown in fig. 3.
The hardware implementation of the bridge module for accessing the Flash memory by the RISCV processor of the embodiment includes: a RISCV processor interface; a Flash memory interface; an ICB control module; an SPI control module; ICB-SPI interactive module. The overall structure of the bridge module is shown in fig. 4.
The bridge system is used as a slave device of the ICB bus, the ICB control module analyzes a reading control signal and an address signal of the ICB bus under the control of the ICB state machine, and returns data to the RISCV processor after receiving a valid reading data signal sent by the ICB-SPI interactive module. The bridge module is used as a main device of the SPI bus, and the SPI control module initiates a read control signal and an address signal to the SPI and receives data returned by the memory after receiving a starting signal sent by the ICB-SPI interaction module under the control of the SPI state machine.
The bridge module is designed by adopting an asynchronous circuit, the ICB control module works under the clock domain of the RISCV processor (the clock frequency is high), and the SPI control module works under the clock domain of the Flash memory (the clock frequency is low), so that the RISCV processor and the Flash memory can respectively work under the respective highest working frequency, and the running efficiency of the whole SoC system can be ensured. Performing clock domain crossing processing on asynchronous signals on an ICB starting signal and an SPI ending signal; the address signal is updated only when the ICB starting signal is effective, and the address signal is in a stable state when the SPI clock domain samples; the data signal is updated only when the SPI end signal is active, and the data signal is in a steady state when sampled in the ICB clock domain. The ICB-SPI interactive module realizes the mapping of control signals: converting a read enabling signal of the ICB bus into an 8-bit read operation code of the SPI bus; serial-to-parallel conversion of control signals and address signals: inputting 8-bit control signals and 24-bit address signals of a Flash memory in parallel and outputting the signals in series; parallel-to-serial conversion of data signals: receiving 32bit data returned by a Flash memory for serial input and parallel output; and (3) processing the asynchronous signal across clock domains: synchronizing the start signal from the ICB clock domain to the SPI clock domain and synchronizing the end signal from the SPI signal to the ICB clock domain.
Example two:
the ICB control module mainly works under the drive of an ICB state machine, and the ICB state machine comprises three states of ICB _ IDLE, ICB _ REQ and ICB _ WAIT: the ICB _ IDLE state is an initial state, when the RISCV processor initiates a read request, the state machine is converted into ICB _ REQ from ICB _ IDLE, the module registers a control signal and a read address signal and generates an ICB starting signal with 1 beat; when the ICB ending signal is effective, the state machine is converted into an ICB _ WAIT state from the ICB _ REQ, and the module returns read data on the ICB bus; when the RISCV processor samples the read data, the state machine transitions from ICB _ WAIT state to ICB _ IDLE state, waiting for the RISCV processor to initiate the next read request. The state transitions of the ICB state machine are shown in fig. 5.
The SPI control module mainly works under the drive of an SPI state machine, and the SPI state machine comprises three states of SPI _ IDLE, SPI _ SEND and SPI _ REC: the SPI _ IDLE state is an initial state, when an SPI starting signal is sampled, the state machine is converted into an SPI _ SEND state from the SPI _ IDLE state, and the module enables a control information and address information sending module; after the control information and the address information are sent, the state machine is changed from the SPI _ SEND state to the SPI _ REC state, and the module enables the data receiving module; after receiving 32bit (4 byte) data, the SPI state machine transitions from SPI _ REC to SPI _ IDLE state, waits for the next SPI start signal, and generates a beat of SPI end signal. The state transitions of the SPI state machine are shown in fig. 6.
And after the ICB control module is started, the ICB-SPI interactive module synchronizes a starting signal of an ICB clock domain to an SPI clock domain. Because the ICB clock frequency is higher than the SPI clock frequency, and the effective signal duration of the ICB clock domain is less than the SPI clock period, the phenomenon that the ICB starting signal cannot be sampled by the SPI clock may occur, and the problem of data loss occurs. Therefore, the ICB starting signal needs to be subjected to broadening processing, in an ICB clock domain, after the ICB starting signal is sampled to be effective, a signal 1 starts to be effective, a signal 2 is obtained by performing two-stage register synchronization on the signal 1 in an SPI clock domain, a signal 3 is obtained by synchronizing the signal 2 in the ICB clock domain, after the signal 3 is sampled to be effective, the signal 1 returns to an invalid state, and the ICB starting signal is synchronized to the SPI clock domain in a handshake mode of the signal 1 and the signal 3. The synchronization circuit for the ICB enable signal is shown in fig. 7.
The ICB-SPI interaction module synchronizes an ending signal of the SPI clock domain to the ICB clock domain after the SPI control module finishes working, and because the ICB clock frequency is higher than the SPI bus clock frequency, the effective signal duration of the SPI clock domain is more than the ICB clock period, the ICB clock can sample the SPI ending signal twice (or more than twice), and the problem of data resampling occurs. In order to avoid the generation of a metastable state phenomenon of an asynchronous circuit, a two-stage register is adopted to complete synchronization of signals to obtain a signal 1, the signal 1 is registered to obtain a signal 2, and the signal 1 and the signal 2 are subjected to combinational logic operation to generate a pulse signal with the duration of 1 ICB clock period. The synchronization circuit for the SPI end signal is shown in fig. 8.
Example three:
based on the first embodiment and the second embodiment, the specific working process of the invention is as follows: the interconnection between the RISCV processor and the bridge module is realized through the RISCV processor bus interface. The interconnection between the Flash memory and the bridging module is realized through a bus interface of the Flash memory. And the ICB control module receives and responds to a read request initiated by the RISCV processor according to the ICB bus protocol requirement and returns data of a corresponding address of the Flash memory.
After a read request initiated by the RISCV processor, the ICB control module is started to analyze and register the address and control signal of the ICB bus, the generated ICB start signal is processed asynchronously by the ICB-SPI interaction module to obtain an SPI start signal, the SPI start signal can start the SPI control module, the SPI control module sends a read operation code and a read address to the Flash memory and receives data returned by the Flash memory, an SPI end signal is generated after 32-bit data are sampled, the SPI end signal is processed asynchronously by the ICB-SPI interaction module to obtain an ICB end signal, the ICB control module loads read data onto the ICB bus, and one-time read operation is finished after the RISCV processor reads the data on the bus.
And the SPI control module initiates a read request to the Flash memory according to the requirement of an SPI bus protocol and acquires data of the address corresponding to the Flash memory.
The conversion of control signals, address signals and data signals of the ICB control module and the SPI control module is realized through the ICB-SPI interaction module. And after the SPI starting signal of the ICB-SPI interactive module is sampled, the control operation code and the address signal are sent within 32 clock cycles. After the control signals and the address signals are sent, a register sent by a Flash memory is received, 32 clock cycles are continued, and 32bit data are received; and after the data reading and sampling are finished, the SPI control module finishes one-time access to the Flash memory and waits for the next SPI starting signal of the ICB-SPI interaction module.
In a word, the invention introduces a bridge system and a bridge method for accessing a Flash memory by a RISCV processor, and the high-efficiency protocol conversion bridge module provided by the invention can greatly reduce the development difficulty of the RISCV processor, realize the high-speed reading of the Flash memory by the RISCV processor and achieve the time of completing one 32-bit data reading of 6.74us. Due to the design of the asynchronous circuit, the RISCV processor and the Flash memory can work under respective highest frequencies, the working frequency of the RISCV processor can reach 50MHz and the working frequency of the Flash memory can reach 10MHz under the FPGA, and the working efficiency of the whole system is ensured. Compared with the traditional bridge module, the invention does not need a special bridge moduleStep FIFO finishes clock domain crossing signal processing, can reduce the area consumption of the bridge module, after the synthesis under the TSMC28nm process library, the area is only 133.7
Figure DEST_PATH_IMAGE002
As noted above, while the present invention has been shown and described with reference to certain preferred embodiments, it is not to be construed as limited thereto. Various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (6)

1. A bridge system for RISCV processor to access Flash memory is characterized in that: the bridge system is used as a slave device of the ICB bus, the ICB control module analyzes a read control signal and an address signal of the ICB bus under the control of the ICB state machine, and returns data to the RISCV processor after receiving a valid read data signal sent by the ICB-SPI interactive module;
the bridge system is used as a main device of the SPI bus, and the SPI control module initiates a read control signal and an address signal to the SPI and receives data returned by the memory after receiving a starting signal sent by the ICB-SPI interaction module under the control of the SPI state machine;
the bridging system comprises the following modules:
RISCV processor bus interface to realize RISCV processor and the interconnection of this bridge system;
a Flash memory bus interface for realizing the interconnection between the Flash memory and the bridging system;
the ICB control module receives and responds to a read request initiated by the RISCV processor according to the requirements of an ICB bus protocol and returns data of a corresponding address of the Flash memory;
the SPI control module initiates a read request to the Flash memory according to the requirements of the SPI bus protocol and acquires data of the address corresponding to the Flash memory;
the ICB-SPI interaction module is used for converting control signals, address signals and data signals of the ICB control module and the SPI control module;
the ICB control module works under the clock domain of the RISCV processor, and the SPI control module works under the clock domain of the Flash memory; performing clock domain crossing processing on asynchronous signals on an ICB starting signal and an SPI ending signal; the address signal is updated only when the ICB starting signal is effective, and the address signal is in a stable state when the SPI clock domain samples; the data signal is updated only when the SPI end signal is active, and the data signal is in a steady state when sampled in the ICB clock domain.
2. The bridge system for RISCV processor to access Flash memory of claim 1, wherein said ICB-SPI interaction module implements control signal mapping, converting ICB bus read enable signal into SPI bus 8-bit read operation code;
the serial-parallel conversion of the control signal and the address signal inputs and outputs the 8-bit control signal and the 24-bit address signal of the Flash memory in parallel and in serial;
the parallel-serial conversion of the data signals further comprises receiving 32bit data serial input and parallel output returned by the Flash memory;
the asynchronous signal cross-clock domain processing further includes synchronizing the start signal from the ICB clock domain to the SPI clock domain and synchronizing the end signal from the SPI signal to the ICB clock domain.
3. A bridge method for RISCV processor to access Flash memory, based on the bridge system of claim 2, comprising the following steps:
step 1, realizing the interconnection of an RISCV processor and the bridging system through an RISCV processor bus interface;
step 2, realizing the interconnection between the Flash memory and the bridging system through a Flash memory bus interface;
step 3, receiving and responding to a read request initiated by the RISCV processor according to the ICB bus protocol requirement, and returning to the ICB control module of the data of the corresponding address of the Flash memory;
step 4, initiating a read request to the Flash memory according to the requirements of the SPI bus protocol, and acquiring the data of the address corresponding to the Flash memory;
and 5, converting the control signals, the address signals and the data signals of the ICB control module and the SPI control module through the ICB-SPI interactive module.
4. The bridging method according to claim 3, wherein the ICB control module includes 3 operating states:
when a reading request initiated by the RISCV processor is received, registering a reading address signal of an ICB bus and generating an ICB starting signal;
when an ICB ending signal of an ICB-SPI interactive module is sampled, sampling read data of the interactive module, and assembling the read data on a read data bus of an ICB bus;
and after receiving the read response signal sent by the RISCV processing, the ICB control module completes one read operation and waits for the RISCV processor to initiate the next read request.
5. A bridging method according to claim 3, in which the SPI control module comprises 3 states of operation:
after an SPI starting signal of the ICB-SPI interactive module is sampled, the control operation code and the address signal are sent in 32 clock cycles;
after the control signal and the address signal are sent, a register sent by a Flash memory is received, 32 clock cycles are continued, and 32bit data are received;
and after the data reading and sampling are finished, the SPI control module finishes one-time access to the Flash memory and waits for the next SPI starting signal of the ICB-SPI interaction module.
6. The bridging method according to claim 3, wherein the ICB-SPI interactive module synchronizes an ICB start signal to an SPI clock domain to obtain an SPI start signal, and synchronizes an SPI end signal to an ICB clock domain to obtain an ICB end signal; the interaction module realizes parallel input and serial output of address signals through a shift register; the interaction module realizes serial input and parallel output of the read data signals through the shift register.
CN202011163715.0A 2020-10-27 2020-10-27 Bridging system and bridging method for RISCV processor to access Flash memory Active CN112199317B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011163715.0A CN112199317B (en) 2020-10-27 2020-10-27 Bridging system and bridging method for RISCV processor to access Flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011163715.0A CN112199317B (en) 2020-10-27 2020-10-27 Bridging system and bridging method for RISCV processor to access Flash memory

Publications (2)

Publication Number Publication Date
CN112199317A CN112199317A (en) 2021-01-08
CN112199317B true CN112199317B (en) 2022-10-18

Family

ID=74011632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011163715.0A Active CN112199317B (en) 2020-10-27 2020-10-27 Bridging system and bridging method for RISCV processor to access Flash memory

Country Status (1)

Country Link
CN (1) CN112199317B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114115443A (en) * 2021-10-26 2022-03-01 山东云海国创云计算装备产业创新中心有限公司 Clock domain-crossing data signal synchronization method, system, equipment and medium
CN116259347B (en) * 2023-05-16 2023-07-21 上海灵动微电子股份有限公司 Programming device of embedded flash memory based on SPI protocol
CN117312210B (en) * 2023-11-29 2024-03-12 沐曦集成电路(南京)有限公司 Method for expanding performance of RISC-V processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901202A (en) * 2010-07-29 2010-12-01 东莞市泰斗微电子科技有限公司 Circuit and method for cross clock domain accessing of AHB bus equipment to APB bus equipment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190381B2 (en) * 2005-01-27 2012-05-29 Electro Industries/Gauge Tech Intelligent electronic device with enhanced power quality monitoring and communications capabilities
CN100514316C (en) * 2007-07-11 2009-07-15 南京大学 Dynamic self-adaptive bus arbiter based on microprocessor-on-chip
CN101819560B (en) * 2009-02-27 2012-05-30 杭州晟元芯片技术有限公司 Method and device for executing program of SPI interface memory
US10733132B2 (en) * 2018-06-01 2020-08-04 Hewlett Packard Enterprise Development Lp Low speed bus interface
CN111666242B (en) * 2020-06-09 2022-04-01 湖南泽天智航电子技术有限公司 Multi-channel communication system based on FT platform LPC bus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901202A (en) * 2010-07-29 2010-12-01 东莞市泰斗微电子科技有限公司 Circuit and method for cross clock domain accessing of AHB bus equipment to APB bus equipment

Also Published As

Publication number Publication date
CN112199317A (en) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112199317B (en) Bridging system and bridging method for RISCV processor to access Flash memory
US5265216A (en) High performance asynchronous bus interface
CN109032973B (en) ICB bus system
CN102023956A (en) Serial peripheral slave device interface structure in integrated circuit chip and data reading and writing method
WO2016192217A1 (en) Apb bus bridge
CN111290986A (en) Bus interconnection system based on neural network
US7590146B2 (en) Information processing unit
CN116521604A (en) Method for synchronizing data and related device
JP2003143117A (en) Data synchronization circuit and communication interface circuit
US6170027B1 (en) LPC/ISA bridge and its bridging method
US5944807A (en) Compact ISA-bus interface
CN117194289A (en) Multi-channel reconfigurable data transmission device based on FMQL
CN112398877B (en) Control signal conversion circuit, intellectual property core and system-level chip
CN113918497B (en) System, method and server for optimizing AHB bus data transmission performance
CN218068843U (en) Bridging circuit structure for converting AXI master port into APB slave port and SOC system
CN115168264A (en) Clock domain-crossing APB bus bridge and method thereof
CN115220528A (en) Clock obtaining method, device, chip, electronic equipment and storage medium
CN108228517A (en) I3C circuit arrangements, system and communication means
CN107562673B (en) Bus protocol conversion bridging device applied to embedded processor
US20060018185A1 (en) Memory control apparatus and electronic apparatus
CN219916336U (en) LPC interface to AXI bus protocol bridge
CN111339012B (en) Processor system bus structure and system
JP4122921B2 (en) Bus equipment
CN115811448B (en) AXI bus and EMIF bus time sequence conversion connection method
JP4298437B2 (en) Bus bridge circuit

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant