logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

creating a scoreboard system for the de10- lite using the nios ii processor

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

.equ IO_BASE,   0xff200000 

.equ LED,       0x00

.equ SWITCH,  0x40

.equ SEG1,    0x20

.equ SEG2,    0x30

.equ TIME,      0x2000

.equ TIME1,   0x2000

.equ TIME2,   0x2020

.equ TIME_CTRL, TIME+0x4

.equ TIME_LO,   TIME+0x8

.equ TIME_HI,   TIME+0xc

.equ TIME_START, 400000000  # time

.equ TOS, 0x03000000

 

.macro push reg

subi sp, sp, 4

stw \reg, 0(sp)

.endm

 

.macro pop reg

ldw \reg, 0(sp)

addi sp, sp, 4

.endm

 

.global _start

_start:

movia sp,  TOS

movia r23, IO_BASE

movi r2, 1  # start LED bit

movi r3, 0 # move LED 

movi r4, rand_numb #random numb

movi r5, 0 #initalize switch 

movi r6, 0 #initalize 7 seg display

loop:  

call start_timer 

call random          # generate random number

ldw r4, rand_numb(r0)# load it from memory

or r2, r8, r2 

stwio r2, LED(r23)

movi r8, 1 # bitmsk for conversion

check_timer:

ldwio r7, TIME(r23)   # check if timer is on  

cmpeqi r7, r7, 0b10 # if not branch to add_LED

bne r7, r0, check_timer   #

br check_switch 

check_switch:

ldwio r5, SWITCH(r23) #\

ldwio r2, LED(r23)   # compare switch position to LED 

cmpeq r6, r5, r2      #/

beq r5, r2, add_point  # if equal add point 

br add_LED            # else add another LED 

 

add_LED:

beq r4,r0, loop 

slli r8,r8,1

subi r4,r4, 1

br add_LED

 

add_point:

#code here

 

start_timer:

push r2                    # stack

stwio r0, TIME(r23)        # reset timer

movi  r2, %lo(TIME_START)

sthio r2, TIME_LO(r23)     # low half start value

movi  r2, %hi(TIME_START)  

sthiO r2, TIME_HI(r23)     # high half start value 

movi  r2, 0b0100      # start mask

sthio r2, TIME_CTRL(r23)   # start timer 

pop   r2                   # unstack

ret

  

random:

push   r16                 # stack

push   r17                 #

ldw    r16, rand_seed(r0)  #  / fetch seed

addi   r16, r16, 1         # /

movia  r17, 3141592621     #|  make new seed

mul    r16, r16, r17       # \ 

stw    r16, rand_seed(r0)  #  \ store new seed

ldw    r17, rand_max(r0)   # generate number

mulxuu r16, r16, r17       # by pulling the hi 32-bits 

stw    r16, rand_numb(r0)  # random number stored in "rand"

pop    r17                 # unstack 

pop    r16                 # 

ret

 

.org 0x1000

.data

rand_max:  .word 10  # maximum number (e.g. 100 gets 0-99)

rand_seed: .word 07252000  # seed for random number generator

rand_numb: .word 0        # store random number here

seg7_numbers: .byte 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x6f

                 #  0     1     2     3     4     5     6     7     8     9    

 

 

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

608 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

517 Answers

Hire Me
expert
Husnain SaeedComputer science

501 Answers

Hire Me
expert
Atharva PatilComputer science

763 Answers

Hire Me