已知某傳輸流的包長為168位元組,其資料格式如下:
0x47包頭,0x00,0x00,id,資料
其中0x47為包頭訊號,id為一位元組的資料,取值範圍為0x00到0xff,資料為有效負載負載,負載中不會出現0x47需要把流中的id對映成新的值,對映表有外部上位機實時設定ram實現。
模組介面如下:
module id_map(
input rst_i,//復位訊號
input clk_i,//資料時鐘訊號
input [7:0] dat_i,//輸入資料訊號
input vld_i,//輸入資料有效訊號
//對映表
input cpu_clk_i,//主控時鐘訊號
input [7:0] cpu_dat_i,//主控的ram寫
input [7:0] cpu_addr_i,//主控的ram寫位址訊號
input cpu_wr_i,//主控的ram寫使能
//輸出
output dat_o,//對映後的資料訊號
output hdr_o,//對映後的資料報頭訊號
output vld_o//對映後的有效訊號
);
ram的讀書延時為乙個時鐘週期,其介面訊號如下:
module
ram(
input wrclock,//ram寫時鐘
input [7
:0] wraddress,//ram寫位址
input wr_en,//ram寫使能
input [7
:0] data,//ram寫資料
input rdclock,//ram讀時鐘
input [7
:0] rdaddress,//ram讀位址
input ed_en,//ram讀使能
output [7
:0] q,//ram讀資料
);
要求:
1. 搞清楚模組的設計思路,說明上位機設定ram表的資料格式。
2. 完成verilog或者vhdl**。
3. 簡述該模組由上位機實時設定對映表可能帶來的問題,如何處理?
明德揚至簡設計規範(學習筆記)
一 電路設計的語法 1.設計不用的語法 a initial 設計不用,時使用 b 5 設計不用,時使用 下面的均設計不用,時亦不用 task function for while repeat forever integer ca casez force wait fork 模組內部不能有x態 不定...
面試1題解析
題目 有從1到n共n個數,亂序,隨意去掉其中兩個數,用o n 的時間複雜度和o 1 的空間複雜度求是哪兩個數 演算法簡單描述如下 由於僅少了兩個數,所以可證僅有兩個鏈是開放的,其他的鏈都是閉合的。1.標記訪問過的元素 2.每次找到乙個單向非閉合的鏈,就把它表頭a i 的下標i記錄下來,並更改表頭a ...
面試 TopK演算法解析
最簡單且最容易想到的演算法是對陣列進行排序 快速排序 然後取最大或最小的k個元素。總的時間複雜度為o n logn o k o n logn 該演算法存在以下問題 快速排序的平均複雜度為o n logn 但最壞時間複雜度為o n2 不能始終保證較好的複雜度 只需要前k大或k小的數,實際對其餘不需要的...