Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
SoCLabs SHA-2 Accelerator
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SoCLabs
SoCLabs SHA-2 Accelerator
Commits
9ee6e47c
Commit
9ee6e47c
authored
2 years ago
by
dam1n19
Browse files
Options
Downloads
Patches
Plain Diff
ATO2-24
: Fixed 2 Dynamic Valid/Ready bugs in Message Builder - Accelerator Passes Basic Tests
parent
c0fe0685
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
hdl/src/sha256_message_build.sv
+8
-1
8 additions, 1 deletion
hdl/src/sha256_message_build.sv
with
8 additions
and
1 deletion
hdl/src/sha256_message_build.sv
+
8
−
1
View file @
9ee6e47c
...
@@ -123,12 +123,18 @@ module sha256_message_build (
...
@@ -123,12 +123,18 @@ module sha256_message_build (
end
end
// If there is no Valid data at the output or there is a valid transfer happening on this clock cycle
// If there is no Valid data at the output or there is a valid transfer happening on this clock cycle
if
(
cfg_valid
==
1'b1
)
begin
if
(
cfg_valid
==
1'b1
)
begin
// Check for already existing valid data at output
if
(
data_out_valid
&&
!
data_out_ready
)
begin
next_data_in_ready
=
1'b0
;
end
else
begin
next_data_in_ready
=
1'b1
;
end
// Handshake to Acknowledge Config Has been Read
// Handshake to Acknowledge Config Has been Read
next_cfg_size
=
cfg_size
;
next_cfg_size
=
cfg_size
;
next_cfg_ready
=
1'b0
;
next_cfg_ready
=
1'b0
;
next_data_in_ready
=
1'b1
;
next_data_word_count
=
word_extract
+
{
53'd0
,
|
rem_extract
}
;
// Divide by 512 and round up
next_data_word_count
=
word_extract
+
{
53'd0
,
|
rem_extract
}
;
// Divide by 512 and round up
next_data_word_rem
=
rem_extract
;
next_data_word_rem
=
rem_extract
;
// Next State Logic
if
(
next_data_word_count
>
1
)
begin
if
(
next_data_word_count
>
1
)
begin
next_state
=
3'd2
;
next_state
=
3'd2
;
end
else
begin
end
else
begin
...
@@ -152,6 +158,7 @@ module sha256_message_build (
...
@@ -152,6 +158,7 @@ module sha256_message_build (
if
(
data_in_valid
&&
data_in_ready
)
begin
if
(
data_in_valid
&&
data_in_ready
)
begin
// Valid Handshake and data can be processed
// Valid Handshake and data can be processed
// Data Processing Algorithm
// Data Processing Algorithm
next_data_in_ready
=
1'b0
;
next_data_word_count
=
data_word_count
-
1
;
next_data_word_count
=
data_word_count
-
1
;
// Write Input Data to Output
// Write Input Data to Output
next_data_out
=
data_in
;
next_data_out
=
data_in
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment