【FPGA】Verilog語言從零到精通

接觸fpga一段時間,也能寫點跑點吧……試試系統地康康呢~這個需要耐心但是回報巨大的工作。正原子&&小梅哥

15_語法篇:Verilog高級知識點_嗶哩嗶哩_bilibili

1Verilog基礎

Verilog程序框架:模塊的結構

類比:c語言的基礎單位是函數

一個流水燈實驗的example

counter即是內部信號聲明

模塊的調用

例化中的參數傳遞問題

在Verilog中,#(.PARAM_NAME(VALUE))是一種參數化實例化(parameterized instantiation)語法,用于在實例化模塊時傳遞參數。具體來說,它用于在實例化某個模塊時,覆蓋該模塊中定義的默認參數值。

假設我們有一個模塊Timer,其定義如下:

module Timer #(parameter MAX_NUM = 100) (
? ? input wire clk,
? ? input wire reset,
? ? output reg [7:0] count
);

? ? always @(posedge clk or posedge reset) begin
? ? ? ? if (reset)
? ? ? ? ? ? count <= 0;
? ? ? ? else if (count < MAX_NUM)
? ? ? ? ? ? count <= count + 1;
? ? ? ? else
? ? ? ? ? ? count <= 0;
? ? end

endmodule

在這個模塊中,MAX_NUM是一個參數,默認值為100。如果我們在實例化這個模塊時,希望將MAX_NUM的值改為某個不同的值,例如TIME_SHOW,我們可以使用參數化實例化語法來實現。

module TopModule (
? ? input wire clk,
? ? input wire reset,
? ? output wire [7:0] timer_count
);

? ? // Parameterized instantiation
? ? Timer #(.MAX_NUM(TIME_SHOW)) timer_instance (
? ? ? ? .clk(clk),
? ? ? ? .reset(reset),
? ? ? ? .count(timer_count)
? ? );

endmodule


結構語句

initial

#20:延時20個單位的時間

延時了20個單位后又延時了10個單位又延時了30個單位……

timescale

時間單位是通過timescale指令設置的。在你的Verilog文件中添加適當的timescale指令,可以明確定義時間單位和時間精度,從而確定延時語句(如#20)的具體含義。

`timescale 1ns / 1ps指令設置時間單位為1納秒,時間精度為1皮秒。

#10表示延時10納秒。

always

組合邏輯vs時序邏輯

賦值語句:阻塞語句和非阻塞語句

條件語句

if else

case

‘bx:默認32位

狀態機

狀態機的概念

狀態機是Verilog中很常見的一種語法結構。

首先,我們在什么時候需要用狀態機捏?一個密碼鎖的example:

狀態機的模型

moore狀態機是mealy狀態機的一個特例

狀態機的設計

八股文。寫就有分。

example:推薦獨熱碼

latch:會導致電路毛刺很多

產生latch的原因:1case情況沒給完全2if沒有對應的else

2ADDA

AD_OTR:指示位,模擬量超出量程了!

3串口通訊發送原理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/19897.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19897.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/19897.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

P3881

最小值最大 二分&#xff1a;枚舉兩個牛之間的最小距離&#xff0c;左端點是1&#xff0c;右端點是籬笆總長度。 Check數組&#xff1a; 如果兩頭牛之間距離是Mid不合法&#xff0c;則返回0&#xff08;false&#xff09;&#xff1b; 如果兩頭牛之間距離是Mid合法&#xf…

去噪擴散概率模型在現代技術中的應用:圖像生成、音頻處理到藥物發現

去噪擴散概率模型&#xff08;DDPMs&#xff09;是一種先進的生成模型&#xff0c;它通過模擬數據的噪聲化和去噪過程&#xff0c;展現出多方面的優勢。DDPMs能夠生成高質量的數據樣本&#xff0c;這在圖像合成、音頻生成等領域尤為重要。它們在數據去噪方面表現出色&#xff0…

瑞吉外賣項目學習筆記(二)后臺系統的員工管理業務開發

一、完善登錄功能 1.1 問題分析 1.2 代碼實現 package com.itheima.reggie.filter;//這是一個過濾器類 //登錄檢查過濾器import com.alibaba.fastjson.JSON; import com.itheima.reggie.common.R; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf…

華為OD機試-最大坐標值

題目描述與示例 題目描述 小明在玩一個游戲&#xff0c;游戲規則如下&#xff1a;在游戲開始前&#xff0c;小明站在坐標軸原點處&#xff08;坐標值為 0&#xff09;給定一組指令和一個幸運數&#xff0c;每個指令都是一個整數&#xff0c;小明按照指定的要求前進或者后退指…

解析Java中1000個常用類:FunctionalInterface類,你學會了嗎?

Java 8 引入了一系列新的特性和改進,其中之一便是函數式編程。函數式接口(Functional Interface)是函數式編程的核心概念之一。本文將深入探討 FunctionalInterface 注解,介紹其用法、重要性,并通過示例展示如何在實際開發中應用函數式接口。 什么是函數式接口? 函數式…

有向圖的拓撲排序

文章目錄 概念及模板例題 雜務 概念及模板 有向圖的拓撲排序是指將有向無環圖中的所有頂點排成一個線性序列&#xff0c;使得圖中任意一對頂點u和v&#xff0c;若邊(u, v)在圖中&#xff0c;則u在該序列中排在v的前面。 例如&#xff0c;假設有n個任務&#xff0c;這些任務需…

HarmonyOS鴻蒙學習筆記(28)@entry和@Component的生命周期

entry和Component的生命周期 entry和Component的關系Component生命周期Entry生命周期 生命周期流程圖生命周期展示示例代碼參考資料 HarmonyOS的生命周期可以分為Compnent的生命周期和Entry的生命周期&#xff0c;也就是自定義組件的生命周期和頁面的生命周期。 entry和Compone…

【傳知代碼】雙深度學習模型實現結直腸癌檢測(論文復現)

前言&#xff1a;在醫學領域&#xff0c;科技的進步一直是改變人類生活的關鍵驅動力之一。隨著深度學習技術的不斷發展&#xff0c;其在醫學影像診斷領域的應用正日益受到關注。結直腸癌是一種常見但危害極大的惡性腫瘤&#xff0c;在早期發現和及時治療方面具有重要意義。然而…

快手發布大模型產品“可圖”,超20種創新AI圖像玩法限免上線

近日&#xff0c;快手自研大模型產品“可圖”&#xff08;Kolors&#xff09;正式對外開放&#xff0c;支持文生圖和圖生圖兩類功能&#xff0c;已上線20余種AI圖像玩法。目前&#xff0c;用戶可以通過“可圖大模型”官方網站和微信小程序&#xff0c;免費使用各項AI圖像功能。…

純分享#126個電商平臺集合(包含60個不同國家)值得一看

01 亞洲 中國 淘寶&#xff1a;擁有大量的賣家和商品種類&#xff0c;主要面向中國市場。天貓:淘寶旗下的B2C電商平臺&#xff0c;提供品質保證、正品保障的商品。京東:中國第二大B2C電商平臺&#xff0c;提供品質保證、正品保障的商品。蘇寧易購: 中國家電連鎖巨頭蘇寧旗下的…

反VC情緒:加密市場需要新的分布式代幣發行方式

GME事件 GME事件反應了社交媒體在金融決策中的影響力&#xff0c;散戶投資者群體通過集體行動&#xff0c;改變了很多人對股市的看法和參與方式。 GME事件中&#xff0c;meme扮演了核心角色。散戶投資者使用各種meme來溝通策略、激勵持股行為&#xff0c;創造了一種反對華爾街…

【車載開發系列】汽車開發常用工具說明

【車載開發系列】汽車開發常用工具說明 【車載開發系列】汽車開發常用工具說明 【車載開發系列】汽車開發常用工具說明一. CANbedded二. Davinci Configurator Pro三. Davinci Developer-AUTOSAR軟件組件設計工具四. MICROSAR五. MICROSAR OS六. CANdelaStudio七. Volcano VSB八…

Mysql基礎教程(11):DISTINCT

MySQL DISTINCT 用法和實例 當使用 SELECT 查詢數據時&#xff0c;我們可能會得到一些重復的行。比如學生表中有很多重復的年齡。如果想得到一個唯一的、沒有重復記錄的結果集&#xff0c;就需要用到 DISTINCT 關鍵字。 MySQL DISTINCT用法 在 SELECT 語句中使用 DISTINCT 關…

Spring Boot 項目中使用 JSP

文章目錄 Spring Boot 項目中使用 JSP項目結構引入依賴包編寫頁面和后臺運行方式一&#xff1a;Maven 命令運行方式二&#xff1a;在 IDEA 中運行方式三&#xff1a;打 war 包部署運行 Spring Boot 項目中使用 JSP 在 Spring Boot 項目中不是不可以使用 JSP 。想在 Spring Boo…

【React】封裝一個好用方便的消息框(Hooks Bootstrap 實踐)

引言 以 Bootstrap 為例&#xff0c;使用模態框編寫一個簡單的消息框&#xff1a; import { useState } from "react"; import { Modal } from "react-bootstrap"; import Button from "react-bootstrap/Button"; import bootstrap/dist/css/b…

打開C語言常用的內存函數大門(二)—— memmove()函數 (內含memmove的講解和模擬實現)

文章目錄 1. 前言2. memmove()函數2.1 memmove()函數與memcpy()函數的差異2.2 memmove()函數的原型2.3 memmove()函數的使用案例 3. memmove()函數的模擬實現4. 總結 1. 前言 在之前&#xff0c;我向大家介紹了C語言中的一個常用的內存函數memcpy函數。如果你還沒看的話&#…

碼隨想錄算法訓練營Day 52 | 動態規劃part13 | 300.最長遞增子序列、674. 最長連續遞增序列 、718. 最長重復子數組

代碼隨想錄算法訓練營Day 52 | 動態規劃part13 | 300.最長遞增子序列、674. 最長連續遞增序列 、718. 最長重復子數組 文章目錄 代碼隨想錄算法訓練營Day 52 | 動態規劃part13 | 300.最長遞增子序列、674. 最長連續遞增序列 、718. 最長重復子數組300.最長遞增子序列一、一維DP…

12k Star!Continue:Github Copilot 開源本地版、開發效率和隱私保護兼得、豐富功能、LLM全覆蓋!

原文鏈接&#xff1a;&#xff08;更好排版、視頻播放、社群交流、最新AI開源項目、AI工具分享都在這個公眾號&#xff01;&#xff09; 12k Star&#xff01;Continue&#xff1a;Github Copilot 開源本地版、開發效率和隱私保護兼得、豐富功能、LLM全覆蓋&#xff01; &…

Beamer中二階導、一階導數的顯示問題

Beamer中二階導、一階導數的顯示問題 在beamer中表示 f ′ f f′和 f ′ ′ f f′′時發現導數符號距離 f f f很近 \documentclass{beamer} \usepackage{amsmath,amssymb}\begin{document} \begin{frame}\frametitle{Derivative}Derivative:\[f^{\prime}(x) \quad f \quad…

C# 讀取txt大文件

1GB以下 using System.Text;namespace DotnetReadTxt;class Program {static void Main(string[] args){try{Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);var gb2312 Encoding.GetEncoding("GB2312");int index 0;using (StreamReader sr ne…